STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228095
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/74160274?noj=FRM74160274-5DC" width="1" height="1"></div>

gotohell.swf

This is the info page for
Flash #211654

(Click the ID number above for more basic data on this flash file.)


Text
<p align="left"><font face="_typewriter" size="14" color="#ff0000" letterSpacing="0.000000" kerning="1"><b>Error</b></font></p><p align="left"><font face="_typewriter" size="14" color="#ff0000" letterSpacing="0.000000" kerning="1"><b>1</b></font></p><p align="left"><font face="_typewriter" size="14" color="#ff0000" letterSpacing="0.000000" kerning="1"><b>2</b></font></p><p align="left"><font face="_typewriter" size="14" color="#ff0000" letterSpacing="0.000000" kerning="1"><b>3</b></font></p>

ANDKON
ARCADE

ANDKON
ARCADE

ActionScript [AS3]

Section 1
//Animation (go_to_hell.Animation) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Animation { private var sequence:Array; private var c_frame; private var speed:Number; private var flip_h:Boolean;// = false private var bitmaps:Array; private var loop:Number; public var origin:Point; private var on_reset:Function; private var on_finish:Function; private var flip_v:Boolean;// = false private static var zero_point:Point = new Point(0, 0); public function Animation(resource:String, frames:Number, sequence:Array, speed:Number=1, loop:Number=0, origin:Point=null, div_height:Number=0, on_reset:Function=null, on_finish:Function=null){ var i:*; var bmp:BitmapData; var ani:BitmapData; bitmaps = new Array(); flip_h = false; flip_v = false; super(); this.sequence = sequence; if (!origin){ this.origin = zero_point; } else { this.origin = origin; }; if (div_height > 0){ ani = Tools.getPicture(resource); frames = Math.floor((ani.height / div_height)); i = 0; while (i < frames) { bmp = new BitmapData(ani.width, div_height, true); bmp.copyPixels(ani, new Rectangle(0, (i * div_height), ani.width, div_height), zero_point); bitmaps.push(bmp); i++; }; } else { i = 0; while (i < frames) { bitmaps.push(Tools.getPicture(((resource + "_") + i))); i++; }; }; this.speed = speed; this.loop = loop; this.on_reset = on_reset; this.on_finish = on_finish; c_frame = -(speed); } public function getNextFrame():BitmapData{ c_frame = (c_frame + speed); if (c_frame >= sequence.length){ if (on_finish != null){ on_finish(); }; if (loop < 0){ c_frame = (sequence.length - 1); } else { c_frame = (c_frame % sequence.length); if (loop > 0){ c_frame = (c_frame + loop); }; }; }; return (bitmaps[sequence[Math.floor(c_frame)]]); } public function flipV(doit:Boolean){ var i:*; if (doit == flip_v){ return; }; flip_v = doit; i = 0; while (i < this.bitmaps.length) { this.bitmaps[i] = Tools.flipBitmap(this.bitmaps[i], false, true); i++; }; origin.y = (bitmaps[0].height - origin.y); } public function getCurrentFrame():BitmapData{ if (c_frame < 0){ return (bitmaps[sequence[0]]); }; return (bitmaps[sequence[Math.floor(c_frame)]]); } public function reset(){ c_frame = -(speed); if (on_reset != null){ on_reset(); }; } public function setFrame(frame:Number){ if (frame < sequence.length){ c_frame = frame; }; } public function firstFrameShown():Boolean{ return ((c_frame >= 1)); } public function flipH(doit:Boolean){ var i:*; if (doit == flip_h){ return; }; flip_h = doit; i = 0; while (i < this.bitmaps.length) { this.bitmaps[i] = Tools.flipBitmap(this.bitmaps[i], true, false); i++; }; origin.x = (bitmaps[0].width - origin.x); } } }//package go_to_hell
Section 2
//Bat (go_to_hell.Bat) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Bat extends Character { private var dir_v;// = 1 private var active:Boolean;// = true private var board:Board; private var died;// = 0 private var dir_h;// = -1 public function Bat(board:Board, container:Bitmap, mx:Number, my:Number){ var anim:Array; active = true; dir_v = 1; dir_h = -1; died = 0; anim = [new Animation("bat", 3, [0, 1, 2, 1], 0.25, 0, new Point(10, 12), 20), new Animation("bat_died", 3, [0, 1, 2], 0.25, 0, new Point(10, 12), 20)]; this.board = board; super(board, container, (mx * board.field_size), ((my * board.field_size) - 1), 10, 7, anim, true); board.characters_list.register(this); board.alive_list.register(this); blood = true; flipH((Math.random() < 0.5)); } override public function die(){ board.characters_list.registerToRemove(this); board.alive_list.registerToRemove(this); } override public function update(visible:Boolean=true){ var mx:*; var my:*; var d:*; mx = Math.floor((pos_x / board.field_size)); my = Math.floor((pos_y / board.field_size)); if (my < board.map_offset){ board.characters_list.registerToRemove(this); board.alive_list.registerToRemove(this); return; }; if (died){ d = true; died--; if (died == 4){ setAnim(1); flipV(true); }; move(0, -1); if (!inWater()){ if (died > 15){ d = false; dir_v = -1; died = 0; flipV(false); } else { move(0, 1); }; }; if (((!(died)) && (d))){ board.characters_list.registerToRemove(this); board.alive_list.registerToRemove(this); }; } else { if (((inWater()) || (((touchingWater()) && (board.lava))))){ if (((touchingWater()) && (board.lava))){ died = 15; } else { died = 30; }; flipV(true); } else { if (!move(0, dir_v).y){ dir_v = (dir_v * -1); } else { if (!move(dir_h, 0).x){ dir_h = (dir_h * -1); }; }; if (((((!(board.demo)) && (active))) && (collides(board.player)))){ board.player.decHealth(0.5); }; }; }; if (board.isSolid(mx, my)){ board.characters_list.registerToRemove(this); board.alive_list.registerToRemove(this); }; super.update(); } } }//package go_to_hell
Section 3
//Board (go_to_hell.Board) package go_to_hell { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.filters.*; public final class Board extends MovieClip { public const field_size:Number = 10; public const grain:Number = 2; public const size_h:Number = 24; public const size_w:Number = 18; private var coins:NumberInd; private var orig_y:Number; private var mo624:Boolean;// = false public var front_sprites_b:Bitmap; public var front_sprites:Bitmap; private var mo400:Boolean;// = false public var sprites:Bitmap; public var prev_map_offset:Number;// = 0 private var hint:Hint; private var energy_gauge:Gauge; private var hell_gate:Animation; public var sprites_a:Bitmap; public var sprites_b:Bitmap; private var lava_ref:Animation; private var depth:NumberInd; public var update:Boolean;// = true public var alive_list:CharactersList; private var bv_wall:BevelFilter; public var map_offset:Number;// = 6 public var pos_offset:Number;// = 0 public var lava:Boolean;// = false public var player:PlayerCharacter; public var prepare_to_lava;// = false public var shake:Number;// = 0 private var lives:NumberInd; public var water:Metaboard; private var mo624m:Boolean;// = false private var mo350:Boolean;// = false private var background:WallFiller; public var last_player_pos:Number;// = 0 private var mo16:Boolean;// = false private var mo10:Boolean;// = false public var characters_list:CharactersList; private var health_gauge:Gauge; private var map:Array; private var mo22:Boolean;// = false private var water_ref:Animation; private var bv_water:BevelFilter; private var wall_filler:WallFiller; private var water_filler:BitmapData; private var lava_filler:BitmapData; private var demo_back:Boolean;// = false public var wall:Metaboard; private var mo150:Boolean;// = false private var air_gauge:Gauge; private var mo4m:Boolean;// = false private var mo4p:Boolean;// = false public var demo:Boolean; public var game:Game; private var devil:Devil;// = null private var orig_x:Number; public function Board(container:Game, demo:Boolean){ demo_back = false; map_offset = 6; pos_offset = 0; prev_map_offset = 0; last_player_pos = 0; map = new Array(); characters_list = new CharactersList(); alive_list = new CharactersList(); devil = null; lava = false; prepare_to_lava = false; update = true; shake = 0; mo4m = false; mo4p = false; mo10 = false; mo16 = false; mo22 = false; mo150 = false; mo350 = false; mo400 = false; mo624m = false; mo624 = false; super(); game = container; container.addChild(this); this.demo = demo; init(); if (!demo){ gameInit(); } else { map_offset = 50; }; Tools.addEvent(this, Event.ENTER_FRAME, enterFrame); } private function gameInit(){ var tbg:*; background.insertPicture("cemetery", false); wall_filler.insertPicture("wall_light_start", false); player = new PlayerCharacter(this, sprites, 11, 16); tbg = addChild(new Bitmap(Tools.getPicture("frame_top"))); health_gauge = new Gauge(this, 0, "red_cross"); addChild(health_gauge); health_gauge.x = 16; health_gauge.y = 15; energy_gauge = new Gauge(this, 1, "meat_small"); addChild(energy_gauge); energy_gauge.x = 16; energy_gauge.y = 24; air_gauge = new Gauge(this, 2, "oxygen"); addChild(air_gauge); air_gauge.x = 16; air_gauge.y = 33; lives = new NumberInd("heart_small"); addChild(lives); lives.x = 138; lives.y = 15; coins = new NumberInd("coin_small"); addChild(coins); coins.x = 138; coins.y = 24; depth = new NumberInd("metr", "", " m"); addChild(depth); depth.x = 138; depth.y = 33; } private function processFrame(){ var y:*; var is_water:*; y = map_offset; while (y <= ((map_offset + size_h) + grain)) { if (!map[y]){ addNewLine(); }; y++; }; levelEffects(); wall.y = -(pos_offset); water.y = -(pos_offset); sprites_a.y = -(pos_offset); sprites.y = -(pos_offset); sprites_b.y = -(pos_offset); front_sprites.y = -(pos_offset); front_sprites_b.y = -(pos_offset); characters_list.process(); background.getNextFill(); if (update){ wall.render(wall_filler.getNextFill(), bv_wall); }; if (!lava){ water.alpha = 0.5; is_water = water.render(water_filler, bv_water, water_ref.getNextFrame()); if (((prepare_to_lava) && (!(is_water)))){ lava = true; prepare_to_lava = false; }; } else { water.alpha = 1; water.render(lava_filler, bv_water, lava_ref.getNextFrame(), false, true); }; update = false; prev_map_offset = map_offset; characters_list.processRemovals(); alive_list.processRemovals(); if (shake){ this.y = ((0 + (Math.random() * 6)) - 3); shake--; } else { this.x = (this.y = 0); }; } public function clean(){ removeEventListener(Event.ENTER_FRAME, enterFrame); if (player){ player.clean(); }; } public function isDestructable(mx:Number, my:Number):Boolean{ return (wall.balls.mass[getFID(mx, my)]); } private function prepareFrame(){ Tools.clearBitmap(sprites_a.bitmapData); Tools.clearBitmap(sprites.bitmapData); Tools.clearBitmap(sprites_b.bitmapData); Tools.clearBitmap(front_sprites.bitmapData); Tools.clearBitmap(front_sprites_b.bitmapData); } public function getFID(x:Number, y:Number):Number{ x = (x % size_w); if (x < 0){ x = (size_w + x); }; return (((y * size_w) + x)); } private function levelEffects(){ if ((((map_offset < 4)) && (!(mo4m)))){ mo4m = true; hint.showNextHint(true); }; if ((((map_offset > 4)) && (!(mo4p)))){ mo4p = true; hint.frame = 0; }; if ((((map_offset == 10)) && (!(mo10)))){ mo10 = true; hint.showNextHint(); }; if ((((map_offset == 16)) && (!(mo16)))){ mo16 = true; hint.showNextHint(); }; if ((((map_offset == 22)) && (!(mo22)))){ mo22 = true; hint.showNextHint(); }; if ((((map_offset == 150)) && (!(mo150)))){ mo150 = true; background.insertPicture("wall_dark_2_trans", true); background.switchPicture("wall_dark_2"); wall_filler.insertPicture("wall_light_2_trans", true); wall_filler.switchPicture("wall_light_2"); }; if ((((map_offset == 350)) && (!(mo350)))){ mo350 = true; background.insertPicture("wall_dark_3_trans", true); background.switchPicture("wall_dark_3"); wall_filler.insertPicture("wall_light_3_trans", true); wall_filler.switchPicture("wall_light_3"); }; if ((((map_offset == 400)) && (!(mo400)))){ mo400 = true; hint.showNextHint(); prepare_to_lava = true; }; if ((((map_offset > 597)) && ((map_offset < 607)))){ game.sound.setVolume(game.soundtrack, ((607 - map_offset) / 10)); }; if ((((map_offset == 607)) && (!(mo624m)))){ mo624m = true; if (game.soundtrack){ game.soundtrack.stop(); }; game.soundtrack = game.sound.playSound(new rave_far(), 1, true); background.insertPictureB(hell_gate.getNextFrame(), true); background.switchPicture("wall_dark_last_trans"); }; if ((((map_offset == 624)) && (!(mo624)))){ mo624 = true; background.switchPicture("wall_dark_last"); }; if (map_offset > (624 - 17)){ background.swapIPictureB(hell_gate.getNextFrame()); }; } private function init(){ background = new WallFiller(this, "wall_dark", 0.85, true); sprites_a = new Bitmap(new BitmapData(((size_w + grain) * field_size), (size_h * field_size), true)); addChild(sprites_a); sprites = new Bitmap(new BitmapData(((size_w + grain) * field_size), (size_h * field_size), true)); addChild(sprites); sprites_b = new Bitmap(new BitmapData(((size_w + grain) * field_size), (size_h * field_size), true)); addChild(sprites_b); water = new Metaboard(this, 6, true); water_filler = Tools.getPicture("water_anim_0"); water_ref = new Animation("water_ref", 5, [0, 1, 2, 3, 4, 3, 2, 1], 0.3); lava_filler = Tools.getPicture("lava"); lava_ref = new Animation("lava_ref", 5, [0, 1, 2, 3, 4, 3, 2, 1], 0.2); wall = new Metaboard(this, 10, false, null, 6); wall_filler = new WallFiller(this, "wall_light"); front_sprites = new Bitmap(new BitmapData(((size_w + grain) * field_size), (size_h * field_size), true)); addChild(front_sprites); front_sprites_b = new Bitmap(new BitmapData(((size_w + grain) * field_size), (size_h * field_size), true)); addChild(front_sprites_b); bv_wall = new BevelFilter(1, 45, 0xFFFFFF, 0.3, 0, 0.75, 0, 0); bv_water = new BevelFilter(2, 45, 0xFFFFFF, 0.3, 0, 0, 0, 0); hell_gate = new Animation("hell", 5, [0, 1, 0, 1, 0, 1, 2, 3, 4, 0], 0.15); hint = new Hint(); addChild(hint); } public function getField(x:Number, y:Number):Field{ x = (x % size_w); if (x < 0){ x = (size_w + x); }; if (!map[y]){ return (null); }; return (map[y][x]); } public function setSolid(x:Number, y:Number, iss:Character){ if (!map[y]){ return; }; x = (x % size_w); if (x < 0){ x = (size_w + x); }; map[y][x].setSolid(iss); } private function enterFrame(e:Event){ if (game.pause_scr){ return; }; prepareFrame(); if (!demo){ if (player.pos_y > last_player_pos){ pos_offset = (player.pos_y % field_size); map_offset = (Math.floor((player.pos_y / field_size)) - 12); if (map_offset != prev_map_offset){ update = true; }; last_player_pos = player.pos_y; }; health_gauge.update(player.getHealth(), player.getMaxInd()); energy_gauge.update(player.getEnergy(), player.getMaxInd()); air_gauge.update(player.getAir(), player.getMaxInd()); lives.update(player.getLives()); coins.update(player.getCoins()); depth.update(player.getDepth()); } else { pos_offset++; if (pos_offset >= field_size){ pos_offset = (pos_offset % field_size); map_offset++; }; if (map_offset != prev_map_offset){ update = true; }; if ((((map_offset > 120)) && (!(demo_back)))){ demo_back = true; new Curtain(this, goBack); }; }; processFrame(); hint.updateHint(); } public function isSolid(x:Number, y:Number, sofa:Boolean=false):Boolean{ if (!map[y]){ return (true); }; x = (x % size_w); if (x < 0){ x = (size_w + x); }; return (map[y][x].isSolid()); } public function isDestructablePos(pos_x:Number, pos_y:Number):Boolean{ var mx:*; var my:*; mx = Math.floor((pos_x / field_size)); my = Math.floor((pos_y / field_size)); return (((wall.balls.mass[getFID(mx, my)]) || (wall.balls.mass[getFID(mx, (my - 1))]))); } private function addNewLine(){ var line:Array; var prev_line:Array; var wall_i:Boolean; var water_i:Boolean; var wall:*; var water:*; var r:*; var x:*; var y:*; var c:*; var rwc:*; var limiter:Number; line = new Array(); wall = this.wall.balls.mass; water = this.water.balls.mass; limiter = (((lava) || (prepare_to_lava))) ? 2 : 1; r = 0; while (r < grain) { prev_line = line; line = new Array(); y = map.length; rwc = 0.3; x = 0; while (x < size_w) { if ((y + map_offset) < 19){ wall_i = false; water_i = false; } else { if (((((((y + map_offset) == 19)) || (!(map[(y - grain)])))) || (!(map[(y - (grain * 2))])))){ wall_i = true; } else { if (((((y + map_offset) > 1260)) && (((y + map_offset) < 1332)))){ wall_i = false; water_i = false; } else { if ((y + map_offset) >= 1334){ if (!devil){ devil = new Devil(this, sprites_a, 8, (y - 1)); new Devil(this, sprites_a, 13, (y - 1)); }; wall_i = true; } else { wall_i = (r) ? wall[prev_line[x].balls_id] : ((Math.random())<0.5) ? true : false; if (!r){ if (!wall_i){ if (!lava){ if (map[(y - grain)][x].depth > 3){ wall_i = true; } else { if (((((x) && (!(water[getFID((x - grain), y)])))) && (!(wall[getFID((x - grain), y)])))){ water_i = false; } else { if (((((x) && (water[getFID((x - grain), y)]))) && (!(wall[getFID((x - grain), y)])))){ water_i = true; } else { if (((water[getFID(x, (y - grain))]) && (!(wall[getFID(x, (y - grain))])))){ water_i = true; } else { if (map_offset > 6){ water_i = (((((x) && (!(prepare_to_lava)))) && ((Math.random() < 0.2)))) ? true : false; } else { water_i = false; }; }; }; }; }; } else { if (map[(y - grain)][x].depth > 1){ wall_i = true; } else { water_i = (((x) && ((Math.random() < 0.075)))) ? true : false; }; }; }; if (((((!(isSolid(x, (y - 1)))) && (!(isSolid(x, (y - 3)))))) && ((Math.random() < 0.4)))){ new Boulder(this, sprites_b, (x + 1), y); wall_i = true; } else { if ((((((((((map_offset > 10)) && (!(water_i)))) && (!(isSolid(x, (y - 1)))))) && (!(isSolid((x - 1), (y - 1)))))) && ((Math.random() < (0.4 / limiter))))){ new Worm(this, sprites_b, (x + 1), y); wall_i = true; }; if (((((((((!(water_i)) && (!(isSolid(x, (y - 1)))))) && (!(isSolid((x - 1), (y - 1)))))) && (!(isSolid(x, (y - 3)))))) && ((Math.random() < 0.3)))){ new Spikes(this, sprites_b, (x + 1), y); wall_i = true; }; if ((((((((((map_offset > 150)) && (!(water_i)))) && (!(isSolid(x, (y - 1)))))) && (!(isSolid(x, (y - 3)))))) && ((Math.random() < 0.3)))){ new Bat(this, sprites_b, (x + 1), y); }; }; if (((((!(wall_i)) && (!(water_i)))) && ((Math.random() < (0.1 / limiter))))){ new Flame(this, sprites_a, (x + 1), (y + 2)); } else { if (((((!(demo)) && (!(wall_i)))) && ((Math.random() < 0.075)))){ new Coin(this, front_sprites, (x + 1), (y + 2)); } else { if (((((((!(demo)) && (!(wall_i)))) && ((player.getEnergy() < 18)))) && ((Math.random() < (0.08 * limiter))))){ new Meat(this, front_sprites, (x + 1), (y + 2)); } else { if (((((((!(demo)) && (!(wall_i)))) && ((player.getHealth() < 18)))) && ((Math.random() < (0.07 * limiter))))){ new FirstAid(this, front_sprites, (x + 1), (y + 2)); } else { if (((((!(demo)) && (!(wall_i)))) && ((Math.random() < (0.002 * limiter))))){ new Heart(this, front_sprites, (x + 1), (y + 2)); }; }; }; }; }; }; }; }; }; }; if (wall_i){ rwc = (rwc - 0.2); } else { rwc = (rwc + 0.2); }; c = 0; while (c < grain) { line[(x + c)] = new Field(this, (x + c), y, wall_i, water_i); c++; }; x = (x + grain); }; map.push(line); x = size_w; while (x >= 0) { if (((water[getFID((x + 1), y)]) && (!(wall[getFID((x + 1), y)])))){ water[getFID(x, y)] = 1; }; x--; }; r++; }; } private function goBack(){ demo_back = false; map_offset = 50; map = new Array(); } } }//package go_to_hell
Section 4
//Boulder (go_to_hell.Boulder) package go_to_hell { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public final class Boulder extends Character { private var l_mov:Boolean;// = false private var board:Board; private var destr:Boolean;// = true private var push_dist:Number;// = 0 private var push_dir:Number; private var picture_id:Number; public function Boulder(board:Board, container:Bitmap, mx:Number, my:Number){ var anim:Array; l_mov = false; destr = true; push_dist = 0; anim = [new Animation("boulder", 6, [0, 1, 2, 3, 4, 5], 0, -1, new Point(10, 20), 20), new Animation("boulder_blood", 6, [0, 1, 2, 3, 4, 5], 0, -1, new Point(10, 20), 20), new Animation("boulder_slime", 6, [0, 1, 2, 3, 4, 5], 0, -1, new Point(10, 20), 20)]; this.board = board; super(board, container, (mx * board.field_size), ((my * board.field_size) - 1), 16, 20, anim, true); picture_id = Math.round((Math.random() * 5)); anim[0].setFrame(picture_id); board.setSolid(mx, my, this); board.setSolid(mx, (my - 1), this); board.setSolid((mx - 1), my, this); board.setSolid((mx - 1), (my - 1), this); board.characters_list.register(this); } private function destroyDown(){ var ground:*; var x:*; var y:*; ground = onGround(); if (!ground){ return; }; x = 0; while (x < 2) { y = 0; while (y < 2) { board.wall.balls.set(board.getFID((ground.x + x), (ground.y + y)), 0); board.water.balls.set(board.getFID((ground.x + x), (ground.y + y)), 0); y++; }; x++; }; board.update = true; new Dust(board, board.front_sprites, (ground.x + 1), (ground.y + 1)); if (!board.demo){ board.game.sound.playSound(new crush_sound()); }; } override public function update(visible:Boolean=true){ var mx:*; var my:*; var ground:Point; mx = Math.floor((pos_x / board.field_size)); my = Math.floor((pos_y / board.field_size)); if (my < board.map_offset){ board.characters_list.registerToRemove(this); return; }; board.setSolid(mx, my, null); board.setSolid(mx, (my - 1), null); board.setSolid((mx - 1), my, null); board.setSolid((mx - 1), (my - 1), null); body_width = 16; if (!move(0, 4).y){ body_width = 18; if (((push_dist) && (move((4 * push_dir), 0).x))){ body_width = 16; push_dist = (push_dist - 2); board.alive_list.processOp(crush); } else { body_width = 16; push_dist = 0; board.setSolid(mx, my, this); board.setSolid(mx, (my - 1), this); board.setSolid((mx - 1), my, this); board.setSolid((mx - 1), (my - 1), this); if (l_mov){ if (!destr){ ground = onGround(); if (((ground) && (board.isDestructable(ground.x, ground.y)))){ destroyDown(); } else { if (!board.demo){ board.game.sound.playSound(new hit_sound()); board.shake = 5; }; }; } else { if (!board.demo){ board.game.sound.playSound(new hit_sound()); board.shake = 5; }; }; destr = true; } else { destr = false; }; l_mov = false; }; } else { l_mov = true; board.alive_list.processOp(crush); }; super.update(); } public function crush(character:Character){ if (collides(character)){ if (!board.demo){ board.game.sound.playSound(new smash_sound()); }; character.die(); setAnim((character.blood) ? 1 : 2); getAnim().setFrame(picture_id); }; } override public function pushIt(dir:Number){ if (!push_dist){ push_dist = board.field_size; push_dir = ((dir)<0) ? -1 : 1; }; } } }//package go_to_hell
Section 5
//Button (go_to_hell.Button) package go_to_hell { import flash.text.*; import flash.display.*; import flash.events.*; public class Button extends MovieClip { private var label:TextField; private var shadow:TextField; public var operation:String; private var fnt:pixel_font; public function Button(){ var format:TextFormat; fnt = new pixel_font(); super(); shadow = new TextField(); format = new TextFormat(); format.font = fnt.fontName; format.color = 0; format.size = 8; format.align = "center"; shadow.defaultTextFormat = format; addChild(shadow); shadow.width = 80; shadow.x = 1; shadow.y = 4; shadow.embedFonts = true; shadow.selectable = false; shadow.mouseEnabled = false; shadow.alpha = 0.75; label = new TextField(); format = new TextFormat(); format.font = fnt.fontName; format.color = 0xFFFFFF; format.size = 8; format.align = "center"; label.defaultTextFormat = format; addChild(label); label.width = 80; label.x = 0; label.y = 3; label.embedFonts = true; label.selectable = false; label.mouseEnabled = false; Tools.addEvent(this, MouseEvent.MOUSE_UP, release); } private function release(event:MouseEvent){ if (operation != ""){ Object(this.parent)[operation](); }; } public function set caption(value:String){ shadow.text = value; label.text = value; } } }//package go_to_hell
Section 6
//ButtonBig (go_to_hell.ButtonBig) package go_to_hell { public final class ButtonBig extends Button { public function ButtonBig(){ super(); } } }//package go_to_hell
Section 7
//Character (go_to_hell.Character) package go_to_hell { import flash.display.*; import flash.geom.*; public class Character { private const zero_point:Point; public var container:Bitmap; public var pos_x:Number; public var pos_y:Number; private var current_anim:Number;// = 0 public var separate; public var body_height:Number; private var board:Board; public var body_width:Number; private var animations:Array; public var blood:Boolean;// = false public function Character(board:Board, container:Bitmap, pos_x:Number, pos_y:Number, body_width:Number, body_height:Number, animations:Array, separate:Boolean=false){ blood = false; current_anim = 0; zero_point = new Point(0, 0); super(); this.board = board; this.animations = animations; this.container = container; this.pos_x = pos_x; this.pos_y = pos_y; this.body_width = body_width; this.body_height = body_height; this.separate = separate; } public function getRectangle():Rectangle{ return (new Rectangle((pos_x - (body_width / 2)), (pos_y - body_height), body_width, body_height)); } public function update(visible:Boolean=true){ var mx:*; var my:*; var x:*; var y:*; var wave:*; var cf:BitmapData; mx = Math.floor((pos_x / board.field_size)); my = Math.floor((pos_y / board.field_size)); if (pos_x > (board.field_size * board.size_w)){ pos_x = (pos_x % (board.field_size * board.size_w)); }; if (pos_x < 0){ pos_x = ((board.field_size * board.size_w) + pos_x); }; wave = 0; if (((((inWater()) && (!(onGround())))) && (!(separate)))){ wave = board.water.wave; }; x = (pos_x - animations[current_anim].origin.x); y = (((pos_y - animations[current_anim].origin.y) - (board.map_offset * board.field_size)) + Math.round(Math.sin(((mx * 2) + (wave / 2))))); if (visible){ cf = animations[current_anim].getNextFrame(); container.bitmapData.copyPixels(cf, cf.rect, new Point(x, y), null, null, true); if ((pos_x - (body_width / 2)) < (board.field_size * 2)){ x = (x + (board.field_size * board.size_w)); container.bitmapData.copyPixels(cf, cf.rect, new Point(x, y), null, null, true); }; }; } public function inWater():Boolean{ var mx:*; var my:*; var dify:*; var level:*; if (!board.water){ return (false); }; mx = Math.floor((pos_x / board.field_size)); my = Math.floor((pos_y / board.field_size)); if (board.isSolid(mx, my)){ return (false); }; if (board.water.balls.mass[board.getFID(mx, my)] < 0.9){ return (false); }; dify = ((my * board.field_size) - pos_y); level = (((1 + board.water.balls.mass[board.getFID(mx, (my - 1))]) + (board.isSolid(mx, (my - 2))) ? 0 : board.water.balls.mass[board.getFID(mx, (my - 2))]) * board.field_size); return ((level > (dify + (body_height * 1.2)))); } public function flipV(doit:Boolean){ animations[current_anim].flipV(doit); } public function move(ox:Number, oy:Number):Point{ var m:*; var mx:*; var mx1:*; var mx2:*; var my:*; var moved:Point; moved = new Point(0, 0); m = ox; while (m != 0) { if (ox < 0){ mx = Math.floor(((((pos_x - (body_width / 2)) - 2) + m) / board.field_size)); } else { mx = Math.floor((((pos_x + (body_width / 2)) + m) / board.field_size)); }; my = Math.floor((pos_y / board.field_size)); if (!((board.wall) && (((board.isSolid(mx, my)) || (board.isSolid(mx, (my - 1))))))){ pos_x = (pos_x + m); moved.x = 1; break; }; if (m < 0){ m++; } else { m--; }; }; m = oy; while (m != 0) { if (oy < 0){ my = Math.floor((((pos_y + m) - body_height) / board.field_size)); } else { my = Math.floor(((pos_y + m) / board.field_size)); }; mx1 = Math.floor(((pos_x + (body_width / 2)) / board.field_size)); mx2 = Math.floor(((pos_x - (body_width / 2)) / board.field_size)); if (!((board.wall) && (((board.isSolid(mx1, my)) || (board.isSolid(mx2, my)))))){ pos_y = (pos_y + m); moved.y = 1; break; }; if (m < 0){ m++; } else { m--; }; }; return (moved); } public function setAnim(anim:Number):Boolean{ if (anim != current_anim){ current_anim = anim; animations[current_anim].reset(); return (true); }; return (false); } public function touchingWater():Boolean{ var mx:*; var my:*; if (!board.water){ return (false); }; mx = Math.floor((pos_x / board.field_size)); my = Math.floor((pos_y / board.field_size)); if (board.isSolid(mx, my)){ return (false); }; return ((board.water.balls.mass[board.getFID(mx, my)] > 0.2)); } public function onGround():Point{ var my:*; var mx1:*; var mx2:*; my = Math.floor(((pos_y + 1) / board.field_size)); mx1 = Math.floor(((pos_x - (body_width / 2)) / board.field_size)); mx2 = Math.floor(((pos_x + (body_width / 2)) / board.field_size)); if (!((board.wall) && (((board.isSolid(mx1, my)) || (board.isSolid(mx2, my)))))){ return (null); }; return (new Point(mx1, my)); } public function getAnim():Animation{ return (animations[current_anim]); } public function die(){ } public function underWater():Boolean{ var mx:*; var my:*; var dify:*; var level:*; if (!board.water){ return (false); }; mx = Math.floor((pos_x / board.field_size)); my = Math.floor((pos_y / board.field_size)); if (board.isSolid(mx, my)){ return (false); }; if (board.water.balls.mass[board.getFID(mx, my)] < 0.9){ return (false); }; dify = ((my * board.field_size) - pos_y); level = (((1 + board.water.balls.mass[board.getFID(mx, (my - 1))]) + (board.isSolid(mx, (my - 2))) ? 0 : board.water.balls.mass[board.getFID(mx, (my - 2))]) * board.field_size); return ((level > (dify + (body_height * 1.55)))); } public function getAnimID():Number{ return (current_anim); } public function pushIt(dir:Number){ } public function collides(character:Character):Boolean{ var trect:Rectangle; var orect:Rectangle; trect = getRectangle(); orect = character.getRectangle(); return (trect.intersects(orect)); } public function flipH(doit:Boolean){ animations[current_anim].flipH(doit); } } }//package go_to_hell
Section 8
//CharactersList (go_to_hell.CharactersList) package go_to_hell { public final class CharactersList { private var rem_list:Array; private var ch_list:Array; public function CharactersList(){ ch_list = new Array(); rem_list = new Array(); super(); } public function registerToRemove(character:Character){ rem_list.push(character); } public function register(character:Character){ ch_list.push(character); } public function process(){ var i:*; i = (ch_list.length - 1); while (i >= 0) { ch_list[i].update(); i--; }; } public function processRemovals(){ var i:*; var j:*; i = 0; while (i < rem_list.length) { j = (ch_list.length - 1); while (j >= 0) { if (ch_list[j] == rem_list[i]){ ch_list.splice(j, 1); }; j--; }; i++; }; rem_list = new Array(); } public function processOp(op:Function){ var i:*; i = (ch_list.length - 1); while (i >= 0) { op(ch_list[i]); i--; }; } } }//package go_to_hell
Section 9
//Coin (go_to_hell.Coin) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Coin extends Character { private var active:Boolean;// = true private var board:Board; public function Coin(board:Board, container:Bitmap, mx:Number, my:Number){ var anim:Array; active = true; anim = [new Animation("coin", 6, [0, 1, 2, 3, 4, 5], 0.25, 0, new Point(8, 17), 17)]; this.board = board; super(board, container, (mx * board.field_size), (my * board.field_size), 17, 17, anim, true); board.characters_list.register(this); } override public function update(visible:Boolean=true){ var my:*; my = Math.floor((pos_y / board.field_size)); if (my < board.map_offset){ board.characters_list.registerToRemove(this); return; }; if (((active) && (collides(board.player)))){ board.game.sound.playSound(new blip()); board.player.addCoin(); board.characters_list.registerToRemove(this); }; super.update(); } } }//package go_to_hell
Section 10
//Curtain (go_to_hell.Curtain) package go_to_hell { import flash.display.*; public final class Curtain extends MovieClip { private var operation:Function; public function Curtain(container:MovieClip=null, operation:Function=null){ super(); addFrameScript(9, frame10, 44, frame45); if (((!(container)) || ((operation == null)))){ return; }; container.addChild(this); this.operation = operation; } function frame10(){ this.operation(); } function frame45(){ stop(); Tools.remove(this); } } }//package go_to_hell
Section 11
//Devil (go_to_hell.Devil) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Devil extends Character { private var board:Board; private var info:Info; public function Devil(board:Board, container:Bitmap, mx:Number, my:Number){ var anim:Array; anim = [new Animation("devil", 4, [0, 0, 0, 0, 0, 0, 0, 1, 2, 3], 0.2, 0, new Point(10, 20), 20)]; this.board = board; super(board, container, (mx * board.field_size), ((my * board.field_size) - 1), 16, 21, anim); board.characters_list.register(this); } override public function update(visible:Boolean=true){ move(0, 2); if (((!(board.demo)) && (collides(board.player)))){ if (!info){ if (board.player.getCoins() < 50){ info = new Info(board, board.front_sprites_b, this, 4, 40, noCoins); } else { info = new Info(board, board.front_sprites_b, this, 3, 40, board.game.initEndGame); }; }; }; super.update(); } private function noCoins(){ board.game.gameOver(board.player.resultArray()); } } }//package go_to_hell
Section 12
//Dust (go_to_hell.Dust) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Dust extends Character { private var board:Board; public function Dust(board:Board, container:Bitmap, mx:Number, my:Number){ var anim:Array; anim = [new Animation("dust", 5, [0, 1, 2, 3, 4], 0.3, -1, new Point(16, 16), 0, null, finish)]; this.board = board; super(board, container, (mx * board.field_size), (my * board.field_size), 12, 19, anim, true); board.characters_list.register(this); update(); } private function finish(){ board.characters_list.registerToRemove(this); } } }//package go_to_hell
Section 13
//Field (go_to_hell.Field) package go_to_hell { public final class Field { public var depth:Number;// = 0 public var balls_id:Number; private var solid:Character;// = null private var board:Board; public var pos_y:Number; public var pos_x:Number; public function Field(board:Board, pos_x:Number, pos_y:Number, wall:Boolean=false, water:Boolean=false){ solid = null; depth = 0; super(); this.board = board; this.pos_x = pos_x; this.pos_y = pos_y; this.balls_id = board.getFID(pos_x, pos_y); if (((!(wall)) && (board.getField(pos_x, (pos_y - 1))))){ depth = ((((board.getField((pos_x - 1), (pos_y - 1)).depth + board.getField(pos_x, (pos_y - 1)).depth) + board.getField((pos_x + 1), (pos_y - 1)).depth) / 3) + 1); }; board.wall.balls.set(balls_id, (wall) ? 1 : 0); board.water.balls.set(balls_id, (((((water) || (wall))) && (pos_y))) ? 1 : 0); } public function isSolid(){ return (((!((board.wall.balls.mass[board.getFID(pos_x, pos_y)] == 0))) || (solid))); } public function setSolid(character:Character){ solid = character; } public function getSolidCharacter():Character{ return (solid); } } }//package go_to_hell
Section 14
//FinalScene (go_to_hell.FinalScene) package go_to_hell { import flash.display.*; import flash.events.*; import flash.geom.*; public final class FinalScene extends MovieClip { private var output:BitmapData; private var anim:Animation; private var frame:Number;// = 0 private var board:Board; private static var zero_point:Point = new Point(0, 0); public function FinalScene(board:Board){ var disp:Bitmap; frame = 0; super(); this.board = board; anim = new Animation("hell_inside", 4, [0, 1, 2, 3], 0.2); output = anim.getCurrentFrame().clone(); disp = new Bitmap(output); addChild(disp); Tools.addEvent(this, Event.ENTER_FRAME, enterFrame); } private function enterFrame(e:Event){ frame++; if (frame == 200){ board.game.gameOver(board.player.resultArray(), true); }; output.copyPixels(anim.getNextFrame(), output.rect, zero_point); } } }//package go_to_hell
Section 15
//FirstAid (go_to_hell.FirstAid) package go_to_hell { import flash.display.*; import flash.geom.*; public final class FirstAid extends Character { private var active:Boolean;// = true private var board:Board; public function FirstAid(board:Board, container:Bitmap, mx:Number, my:Number){ var anim:Array; active = true; anim = [new Animation("first_aid", 6, [0, 1, 2, 3, 4, 5], 0.25, 0, new Point(8, 17), 17)]; this.board = board; super(board, container, (mx * board.field_size), (my * board.field_size), 17, 17, anim, true); board.characters_list.register(this); } override public function update(visible:Boolean=true){ var my:*; my = Math.floor((pos_y / board.field_size)); if (my < board.map_offset){ board.characters_list.registerToRemove(this); return; }; if (((active) && (collides(board.player)))){ board.game.sound.playSound(new blip()); board.player.addHealth(); board.characters_list.registerToRemove(this); }; super.update(); } } }//package go_to_hell
Section 16
//Flame (go_to_hell.Flame) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Flame extends Character { private var active:Boolean;// = true private var board:Board; public function Flame(board:Board, container:Bitmap, mx:Number, my:Number){ var anim:Array; active = true; anim = [new Animation("flame", 3, [0, 1, 2, 1], 0.25, 0, new Point(16, 32), 32), new Animation("flame_snuff", 5, [0, 1, 2, 3, 4], 0.25, -1, new Point(16, 32), 32)]; this.board = board; super(board, container, (mx * board.field_size), (my * board.field_size), 10, 16, anim, true); board.characters_list.register(this); } override public function update(visible:Boolean=true){ var mx:*; var my:*; mx = Math.floor((pos_x / board.field_size)); my = Math.floor((pos_y / board.field_size)); if (my < board.map_offset){ board.characters_list.registerToRemove(this); return; }; if (((!(board.lava)) && ((((board.water.balls.mass[board.getFID(mx, (my - 1))] > 0.3)) || ((board.water.balls.mass[board.getFID((mx - 1), (my - 1))] > 0.3)))))){ setAnim(1); active = false; }; if (((((!(board.demo)) && (active))) && (collides(board.player)))){ board.player.decHealth(0.5); }; super.update(); } private function finish(){ board.characters_list.registerToRemove(this); } } }//package go_to_hell
Section 17
//Game (go_to_hell.Game) package go_to_hell { import flash.media.*; import flash.display.*; import flash.events.*; import mochi.as3.*; import flash.utils.*; import flash.net.*; public class Game extends MovieClip { public var game_over:GameOver; public var sound:SoundSystem; public var initing_eg:Boolean;// = false public var initing_i:Boolean;// = false public var pause_scr:Pause;// = null public var final_scene:FinalScene; public var soundtrack:SoundChannel; public var initing_sg:Boolean;// = false public var board:Board; public function Game(){ pause_scr = null; initing_eg = false; initing_sg = false; initing_i = false; super(); init(); } public function init(){ } public function initGame(){ if (initing_sg){ return; }; initing_sg = true; new Curtain(this, startGame); } public function windowActive(e:Event){ if (pause_scr){ Tools.remove(pause_scr); pause_scr = null; }; } public function startIntro(){ } public function initIntro(){ if (initing_i){ return; }; initing_i = true; new Curtain(this, startIntro); } public function initEndGame(){ if (initing_eg){ return; }; initing_eg = true; new Curtain(this, endGame); } public function startGame(){ } public function endGame(){ if (soundtrack){ soundtrack.stop(); }; soundtrack = sound.playSound(new rave(), 1, true); final_scene = new FinalScene(board); addChild(final_scene); } public function visitSponsor(){ var request:*; request = new URLRequest((language.url1 + "&utm_content=menu")); navigateToURL(request, "_blank"); } public function windowNotActive(e:Event){ if (((((initing_sg) && (!(game_over)))) && (!(pause_scr)))){ pause_scr = new Pause(); addChild(pause_scr); }; } public function showHigscores(){ var o:Object; var boardID:String; o = {n:[2, 15, 12, 14, 15, 6, 15, 9, 11, 1, 14, 14, 1, 10, 9, 6], f:function (i:Number, s:String):String{ if (s.length == 16){ return (s); }; return (this.f((i + 1), (s + this.n[i].toString(16)))); }}; boardID = o.f(0, ""); MochiScores.showLeaderboard({boardID:boardID, onDisplay:function (){ }, onClose:function (){ }}); } public function switchCredits(){ } public function gameOver(results:Array, won:Boolean=false){ } } }//package go_to_hell
Section 18
//GameAndkon (go_to_hell.GameAndkon) package go_to_hell { import flash.display.*; import flash.events.*; import mochi.as3.*; import flash.utils.*; import flash.net.*; public final class GameAndkon extends Game { public var s_logo:MovieClip; public var intro_txt:MovieClip; public var c_switch:Button; public var credits:MovieClip; public var show_h:Button; public var d_logo:MovieClip; public var c_cnt:Button; public var sp_link:ButtonBig; public var start_button:Button; public function GameAndkon(){ super(); init(); __setProp_c_switch_game_Warstwa1_1(); __setProp_show_h_game_Warstwa1_1(); __setProp_start_button_game_Warstwa1_1(); __setProp_c_cnt_game_Warstwa10_1(); __setProp_sp_link_game_Warstwa1_1(); } override public function init(){ scaleX = (scaleY = 2); new Curtain(this, startIntro); intro_txt.visible = false; start_button.visible = false; c_switch.visible = false; c_cnt.visible = false; show_h.visible = false; sp_link.visible = false; s_logo.visible = false; s_logo.mouseEnabled = false; s_logo.mouseChildren = false; d_logo.visible = false; credits.visible = false; sound = new SoundSystem(); stage.addEventListener(Event.DEACTIVATE, windowNotActive); stage.addEventListener(Event.ACTIVATE, windowActive); } override public function startIntro(){ if (soundtrack){ soundtrack.stop(); }; soundtrack = sound.playSound(new eternal(), 1, true); initing_eg = false; initing_sg = false; initing_i = false; Tools.remove(game_over); Tools.remove(final_scene); game_over = null; final_scene = null; if (board){ board.clean(); Tools.remove(board); board = null; }; board = new Board(this, true); setChildIndex(board, 0); new GameLogo(board); intro_txt.visible = true; start_button.visible = true; c_switch.visible = true; show_h.visible = true; sp_link.visible = true; s_logo.visible = true; d_logo.visible = false; } function __setProp_c_cnt_game_Warstwa10_1(){ c_cnt["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; c_cnt.operation = "switchCredits"; c_cnt.caption = "CONTINUE"; c_cnt["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } override public function startGame(){ if (soundtrack){ soundtrack.stop(); }; soundtrack = sound.playSound(new eternal(), 1, true); board.clean(); Tools.remove(board); board = null; intro_txt.visible = false; start_button.visible = false; c_switch.visible = false; show_h.visible = false; credits.visible = false; sp_link.visible = false; s_logo.visible = false; d_logo.visible = false; board = new Board(this, false); setChildIndex(board, 0); } override public function visitSponsor(){ var request:*; request = new URLRequest("http://www.andkon.com/arcade/"); navigateToURL(request, "_blank"); } function __setProp_show_h_game_Warstwa1_1(){ show_h["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; show_h.operation = "showHigscores"; show_h.caption = "HIGHSCORES"; show_h["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } function __setProp_sp_link_game_Warstwa1_1(){ sp_link["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; sp_link.operation = "visitSponsor"; sp_link.caption = ""; sp_link["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } override public function showHigscores(){ var o:Object; var boardID:String; o = {n:[2, 15, 12, 14, 15, 6, 15, 9, 11, 1, 14, 14, 1, 10, 9, 6], f:function (i:Number, s:String):String{ if (s.length == 16){ return (s); }; return (this.f((i + 1), (s + this.n[i].toString(16)))); }}; boardID = o.f(0, ""); MochiScores.showLeaderboard({boardID:boardID, onDisplay:function (){ }, onClose:function (){ }}); } override public function switchCredits(){ credits.visible = !(credits.visible); c_cnt.visible = !(c_cnt.visible); } function __setProp_c_switch_game_Warstwa1_1(){ c_switch["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; c_switch.operation = "switchCredits"; c_switch.caption = "CREDITS"; c_switch["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } override public function gameOver(results:Array, won:Boolean=false){ if (game_over){ return; }; game_over = new GameOverAndkon(this, results, won); addChild(game_over); } function __setProp_start_button_game_Warstwa1_1(){ start_button["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; start_button.operation = "initGame"; start_button.caption = "START"; start_button["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } } }//package go_to_hell
Section 19
//GameLogo (go_to_hell.GameLogo) package go_to_hell { import flash.display.*; import flash.events.*; import flash.geom.*; public final class GameLogo extends MovieClip { private const zero_point:Point; private var anim:Animation; private var container:MovieClip; private var bmp:Bitmap; public function GameLogo(container:MovieClip){ zero_point = new Point(0, 0); super(); anim = new Animation("logo_anim", 5, [0, 1, 2, 3, 4], 0.25, 0, new Point(0, 0), 121); this.container = container; container.addChild(this); bmp = new Bitmap(anim.getCurrentFrame().clone()); addChild(bmp); bmp.x = 12; bmp.y = 15; mouseEnabled = false; mouseChildren = false; Tools.addEvent(this, Event.ENTER_FRAME, enterFrame); } private function enterFrame(e:Event){ container.setChildIndex(this, (container.numChildren - 1)); bmp.bitmapData.copyPixels(anim.getNextFrame(), bmp.bitmapData.rect, zero_point); } } }//package go_to_hell
Section 20
//GameOver (go_to_hell.GameOver) package go_to_hell { import flash.display.*; import flash.events.*; import mochi.as3.*; import flash.utils.*; import flash.net.*; public class GameOver extends MovieClip { public var coins:NumberInd; public var bonus:NumberInd; public var total_bonus:Number; public var frame:Number;// = 0 public var score:NumberInd; public var depth:NumberInd; public var total_score:Number; public var game:Game; public var results:Array; public function GameOver(game:Game, results:Array, won:Boolean=false){ frame = 0; super(); } public function submit(){ var o:Object; var boardID:String; o = {n:[2, 15, 12, 14, 15, 6, 15, 9, 11, 1, 14, 14, 1, 10, 9, 6], f:function (i:Number, s:String):String{ if (s.length == 16){ return (s); }; return (this.f((i + 1), (s + this.n[i].toString(16)))); }}; boardID = o.f(0, ""); MochiScores.showLeaderboard({boardID:boardID, score:total_score, onDisplay:function (){ }, onClose:function (){ }}); } public function cnt(){ game.initIntro(); } public function visitSponsor(){ var request:*; request = new URLRequest((language.url1 + "&utm_content=game_over")); navigateToURL(request, "_blank"); } public function enterFrame(e:Event){ } } }//package go_to_hell
Section 21
//GameOverAndkon (go_to_hell.GameOverAndkon) package go_to_hell { import flash.display.*; import flash.events.*; import mochi.as3.*; import flash.utils.*; import flash.net.*; public final class GameOverAndkon extends GameOver { public var s_logo:MovieClip; public var submit_button:Button; public var sp_link:ButtonBig; public var cnt_button:Button; public function GameOverAndkon(game:GameAndkon, results:Array, won:Boolean=false){ var head:Bitmap; addFrameScript(9, frame10); super(game, results, won); if (won){ head = new Bitmap(Tools.getPicture("congratulations")); addChild(head); head.y = 20; } else { head = new Bitmap(Tools.getPicture("game_over")); addChild(head); head.y = 20; }; coins = new NumberInd("coin_small", (("" + results[0]) + " x 10 = ")); addChild(coins); coins.x = 54; coins.y = 70; depth = new NumberInd("metr", (("" + results[1]) + " M x 1 = ")); addChild(depth); depth.x = 54; depth.y = 85; bonus = new NumberInd(null, "FINISH BONUS = "); addChild(bonus); bonus.x = 44; bonus.y = 110; score = new NumberInd(null, "TOTAL SCORE = "); addChild(score); score.x = 46; score.y = 125; this.results = results; this.game = game; total_bonus = (won) ? 1000 : 0; total_score = (((results[0] * 10) + results[1]) + (won) ? 1000 : 0); cnt_button.visible = false; submit_button.visible = false; s_logo.mouseEnabled = false; s_logo.mouseChildren = false; s_logo.visible = false; sp_link.visible = false; Tools.addEvent(this, Event.ENTER_FRAME, enterFrame); __setProp_cnt_button_game_over_Warstwa3_1(); __setProp_submit_button_game_over_Warstwa3_1(); __setProp_sp_link_game_over_Warstwa3_1(); } override public function submit(){ var o:Object; var boardID:String; o = {n:[2, 15, 12, 14, 15, 6, 15, 9, 11, 1, 14, 14, 1, 10, 9, 6], f:function (i:Number, s:String):String{ if (s.length == 16){ return (s); }; return (this.f((i + 1), (s + this.n[i].toString(16)))); }}; boardID = o.f(0, ""); MochiScores.showLeaderboard({boardID:boardID, score:total_score, onDisplay:function (){ }, onClose:function (){ }}); } function frame10(){ stop(); } function __setProp_submit_button_game_over_Warstwa3_1(){ submit_button["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; submit_button.operation = "submit"; submit_button.caption = "SUBMIT SCORE"; submit_button["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } override public function visitSponsor(){ var request:*; request = new URLRequest("http://www.andkon.com/arcade/"); navigateToURL(request, "_blank"); } override public function enterFrame(e:Event){ if (frame < 60){ frame++; } else { cnt_button.visible = true; submit_button.visible = true; s_logo.visible = true; sp_link.visible = true; setChildIndex(submit_button, (this.numChildren - 1)); setChildIndex(cnt_button, (this.numChildren - 1)); setChildIndex(sp_link, (this.numChildren - 1)); setChildIndex(s_logo, (this.numChildren - 1)); }; coins.update(Math.floor((((results[0] * 10) / 60) * frame))); depth.update(Math.floor(((results[1] / 60) * frame))); bonus.update(Math.floor(((total_bonus / 60) * frame))); score.update(Math.floor(((total_score / 60) * frame))); } function __setProp_cnt_button_game_over_Warstwa3_1(){ cnt_button["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; cnt_button.operation = "cnt"; cnt_button.caption = "PLAY AGAIN"; cnt_button["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } function __setProp_sp_link_game_over_Warstwa3_1(){ sp_link["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; sp_link.operation = "visitSponsor"; sp_link.caption = ""; sp_link["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } } }//package go_to_hell
Section 22
//Gauge (go_to_hell.Gauge) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Gauge extends MovieClip { private const zero_point:Point; private var current_anim:Number;// = 0 private var image:BitmapData; private var value:Number;// = -1 private var animations:Array; private var board:Board; public function Gauge(board:Board, color:Number, icon:String){ var bg:Bitmap; var ibmp:*; value = -1; current_anim = 0; zero_point = new Point(0, 0); super(); color = (color % 3); animations = [new Animation(("bar_" + color), 1, [0], 0.25, -1, new Point(0, 0), 3), new Animation(("bar_" + color), 3, [0, 1, 2, 1], 0.25, -1, new Point(0, 0), 3, null, reset)]; bg = new Bitmap(animations[current_anim].getCurrentFrame().clone()); addChild(bg); bg.x = 11; bg.y = 3; bg.alpha = 0.25; image = animations[current_anim].getCurrentFrame().clone(); ibmp = new Bitmap(image); addChild(ibmp); ibmp.x = 11; ibmp.y = 3; addChild(new Bitmap(Tools.getPicture(icon))); this.board = board; } private function reset(){ setAnim(0); } public function setAnim(anim:Number):Boolean{ if (anim != current_anim){ current_anim = anim; animations[current_anim].reset(); return (true); }; return (false); } public function update(value:Number, max:Number){ if (this.value != value){ setAnim(1); this.value = value; }; Tools.clearBitmap(image); image.copyPixels(animations[current_anim].getNextFrame(), new Rectangle(0, 0, Math.floor(((value / max) * image.width)), 3), zero_point); } } }//package go_to_hell
Section 23
//Heart (go_to_hell.Heart) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Heart extends Character { private var active:Boolean;// = true private var board:Board; public function Heart(board:Board, container:Bitmap, mx:Number, my:Number){ var anim:Array; active = true; anim = [new Animation("heart", 3, [0, 1, 2, 1], 0.25, 0, new Point(9, 17), 17)]; this.board = board; super(board, container, (mx * board.field_size), (my * board.field_size), 19, 17, anim, true); board.characters_list.register(this); } override public function update(visible:Boolean=true){ var my:*; my = Math.floor((pos_y / board.field_size)); if (my < board.map_offset){ board.characters_list.registerToRemove(this); return; }; if (((active) && (collides(board.player)))){ board.game.sound.playSound(new blip()); board.player.addLife(); board.characters_list.registerToRemove(this); }; super.update(); } } }//package go_to_hell
Section 24
//Hint (go_to_hell.Hint) package go_to_hell { import flash.display.*; public final class Hint extends MovieClip { public var frame:Number;// = 0 private var hint:Number;// = 0 private var manual:Boolean; private var head:Bitmap; public function Hint(){ hint = 0; frame = 0; super(); } public function showNextHint(manual:Boolean=false){ if (head){ Tools.remove(head); head = null; }; hint++; head = new Bitmap(Tools.getPicture(("hint_" + hint))); addChild(head); head.y = 160; frame = 200; this.manual = manual; } public function updateHint(){ if (!head){ return; }; if (!manual){ frame--; }; if (frame == 0){ Tools.remove(head); head = null; }; } } }//package go_to_hell
Section 25
//HotSpotURL (go_to_hell.HotSpotURL) package go_to_hell { import flash.display.*; import flash.events.*; import flash.net.*; public final class HotSpotURL extends MovieClip { public var url:String; public function HotSpotURL(){ super(); Tools.addEvent(this, MouseEvent.MOUSE_UP, release); alpha = 0; } private function release(event:MouseEvent){ var request:URLRequest; request = new URLRequest(url); navigateToURL(request, "_blank"); } } }//package go_to_hell
Section 26
//Info (go_to_hell.Info) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Info extends Character { private var board:Board; private var operation:Function; private var character:Character; private var time_span:Number; public function Info(board:Board, container:Bitmap, attach:Character, type:Number, time_span:Number=60, operation:Function=null){ var anim:Array; anim = [new Animation("info_air", 1, [0], 0, -1, new Point(0, 30), 30), new Animation("info_hungry", 1, [0], 0, -1, new Point(0, 30), 30), new Animation("info_hurt", 1, [0], 0, -1, new Point(0, 30), 30), new Animation("info_coins", 1, [0], 0, -1, new Point(0, 46), 46), new Animation("info_more_coins", 1, [0], 0, -1, new Point(0, 46), 46)]; this.board = board; super(board, container, attach.pos_x, (attach.pos_y - attach.body_height), 42, 20, anim); setAnim(type); this.character = attach; this.time_span = time_span; this.operation = operation; board.characters_list.register(this); } override public function update(visible:Boolean=true){ pos_x = character.pos_x; pos_y = (character.pos_y - character.body_height); if (time_span >= 0){ time_span--; }; if ((((time_span == -1)) && (!((operation == null))))){ operation(); }; if (time_span > 0){ super.update(); }; } } }//package go_to_hell
Section 27
//Meat (go_to_hell.Meat) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Meat extends Character { private var active:Boolean;// = true private var board:Board; public function Meat(board:Board, container:Bitmap, mx:Number, my:Number){ var anim:Array; active = true; anim = [new Animation("meat", 5, [0, 1, 2, 1, 3, 4, 3], 0.25, 0, new Point(9, 17), 17)]; this.board = board; super(board, container, (mx * board.field_size), (my * board.field_size), 19, 17, anim, true); board.characters_list.register(this); } override public function update(visible:Boolean=true){ var my:*; my = Math.floor((pos_y / board.field_size)); if (my < board.map_offset){ board.characters_list.registerToRemove(this); return; }; if (((active) && (collides(board.player)))){ board.game.sound.playSound(new blip()); board.player.addEnergy(); board.characters_list.registerToRemove(this); }; super.update(); } } }//package go_to_hell
Section 28
//Metaballs (go_to_hell.Metaballs) package go_to_hell { public final class Metaballs { private var board:Board; public var new_mass:Array; public var mass:Array; public var h_disp:Array; public function Metaballs(board:Board){ mass = new Array(); new_mass = new Array(); h_disp = new Array(); super(); this.board = board; } public function set(id:Number, mass:Number){ this.mass[id] = mass; this.new_mass[id] = mass; h_disp[id] = ((Math.random() * 4) - 2); } } }//package go_to_hell
Section 29
//Metaboard (go_to_hell.Metaboard) package go_to_hell { import flash.display.*; import flash.geom.*; import flash.filters.*; public class Metaboard extends MovieClip { private const zero_point:Point; private var bf:BlurFilter; public var balls:Metaballs;// = null private var threshold:Number; private var buffer:BitmapData; private var bf2:BlurFilter; private var ref_help:BitmapData; private var min_flow;// = 0.01 private var max_speed;// = 1 private var min_mass;// = 0.0001 private var fluid:Boolean;// = false private var max_compress;// = 0.02 private var board:Board; private var max_mass;// = 1 public var wave;// = 0 public function Metaboard(board:Board, threshold:Number, fluid:Boolean=false, group:MovieClip=null, blur:Number=10){ var display:Bitmap; zero_point = new Point(0, 0); balls = null; fluid = false; max_mass = 1; max_compress = 0.02; min_mass = 0.0001; max_speed = 1; min_flow = 0.01; wave = 0; super(); this.board = board; if (group){ group.addChild(this); } else { board.addChild(this); }; this.threshold = ((threshold * 0x111111) + 4278190080); buffer = new BitmapData(((board.size_w + board.grain) * board.field_size), (board.size_h * board.field_size), true); ref_help = new BitmapData(((board.size_w + board.grain) * board.field_size), (board.size_h * board.field_size), true); display = new Bitmap(buffer); addChild(display); this.fluid = fluid; bf = new BlurFilter(blur, blur, 2); bf2 = new BlurFilter(20, 20, 2); balls = new Metaballs(board); } private function simulateFluid(wall:Array, lava:Boolean):Boolean{ var is_water:*; var x:*; var y:*; var mass:Array; var new_mass:Array; var flow:*; var remaining_mass:Number; var fid:Number; var fid_below:*; var fid_left:*; var fid_right:*; var fid_up:*; is_water = false; mass = balls.mass; new_mass = balls.new_mass; flow = 0; x = 0; while (x < board.size_w) { y = board.map_offset; while (y < (board.size_h + board.map_offset)) { fid = board.getFID(x, y); fid_below = board.getFID(x, (y + 1)); fid_left = board.getFID((x - 1), y); fid_right = board.getFID((x + 1), y); fid_up = board.getFID(x, (y - 1)); if (wall[fid]){ } else { if (mass[fid] > 0.1){ is_water = true; if (board.prepare_to_lava){ mass[fid] = (mass[fid] - 0.01); new_mass[fid] = (new_mass[fid] - 0.01); }; }; flow = 0; remaining_mass = mass[fid]; if (remaining_mass <= 0){ } else { if (!wall[fid_below]){ flow = (getStableState((remaining_mass + mass[fid_below])) - mass[fid_below]); if (flow > min_flow){ flow = (flow * 0.5); }; flow = Tools.constrain(flow, 0, ((max_speed)<remaining_mass) ? max_speed : remaining_mass); new_mass[fid] = (new_mass[fid] - flow); new_mass[fid_below] = (new_mass[fid_below] + flow); remaining_mass = (remaining_mass - flow); }; if (remaining_mass <= 0){ } else { if (!wall[fid_left]){ flow = ((mass[fid] - mass[fid_left]) / (lava) ? 10 : 4); flow = Tools.constrain(flow, 0, remaining_mass); new_mass[fid] = (new_mass[fid] - flow); new_mass[fid_left] = (new_mass[fid_left] + flow); remaining_mass = (remaining_mass - flow); }; if (remaining_mass <= 0){ } else { if (!wall[fid_right]){ flow = ((mass[fid] - mass[fid_right]) / (lava) ? 10 : 4); flow = Tools.constrain(flow, 0, remaining_mass); new_mass[fid] = (new_mass[fid] - flow); new_mass[fid_right] = (new_mass[fid_right] + flow); remaining_mass = (remaining_mass - flow); }; if (remaining_mass <= 0){ } else { if (!wall[fid_up]){ flow = (remaining_mass - getStableState((remaining_mass + mass[fid_up]))); flow = Tools.constrain(flow, 0, ((max_speed)<remaining_mass) ? max_speed : remaining_mass); new_mass[fid] = (new_mass[fid] - flow); new_mass[fid_up] = (new_mass[fid_up] + flow); remaining_mass = (remaining_mass - flow); }; }; }; }; }; }; y++; }; x++; }; balls.mass = new_mass.slice(); return (is_water); } public function render(filler:BitmapData=null, bevel:BevelFilter=null, ref:BitmapData=null, ref_first:Boolean=true, lava:Boolean=false):Boolean{ var is_water:Boolean; var off_x:Number; var off_y:Number; var fid:*; var mass:Array; var wall:Array; var h_disp:Array; var x:*; var y:*; var size_w:Number; var size_h:Number; is_water = false; buffer.fillRect(buffer.rect, 4294967295); if (ref){ ref_help.fillRect(ref_help.rect, 0); }; mass = balls.mass; wall = board.wall.balls.mass; h_disp = balls.h_disp; if (fluid){ if (!lava){ wave = (wave + 0.2); } else { wave = (wave + 0.05); }; is_water = simulateFluid(wall, lava); }; x = 0; while (x < (board.size_w + board.grain)) { y = board.map_offset; while (y < (board.map_offset + board.size_h)) { fid = board.getFID(x, y); if (balls.mass[fid] > 0.1){ size_w = (board.field_size - (((wall[fid]) && (fluid))) ? 2 : -2); size_h = (board.field_size - (((wall[fid]) && (fluid))) ? 2 : 0); off_x = Math.cos(((y * 2) + wave)); off_y = (((1 - mass[fid]) * board.field_size) + Math.sin(((x * 2) + wave))); buffer.fillRect(new Rectangle((((x * board.field_size) + ((board.field_size - size_w) / 2)) + off_x), ((((y - board.map_offset) * board.field_size) + ((board.field_size - size_h) / 2)) + off_y), size_w, size_h), 4278190080); if (((ref) && (!(wall[fid])))){ ref_help.fillRect(new Rectangle((((x * board.field_size) + ((board.field_size - size_w) / 2)) + off_x), ((((y - board.map_offset) * board.field_size) + ((board.field_size - size_h) / 2)) + off_y), size_w, size_h), 4278190080); }; }; y++; }; x++; }; buffer.applyFilter(buffer, buffer.rect, zero_point, bf); buffer.threshold(buffer, buffer.rect, zero_point, "<", threshold, 4278190080, 4294967295, true); buffer.threshold(buffer, buffer.rect, zero_point, ">=", threshold, 0xFFFFFF, 4294967295, true); if (filler){ if (((ref) && (ref_first))){ ref_help.applyFilter(ref_help, buffer.rect, zero_point, bf2); buffer.copyPixels(ref, buffer.rect, new Point(0, board.pos_offset), ref_help, new Point(0, board.pos_offset), true); }; buffer.copyPixels(filler, buffer.rect, new Point(0, board.pos_offset), buffer, new Point(0, board.pos_offset), true); if (((ref) && (!(ref_first)))){ ref_help.applyFilter(ref_help, buffer.rect, zero_point, bf2); buffer.copyPixels(ref, buffer.rect, new Point(0, board.pos_offset), ref_help, new Point(0, board.pos_offset), true); }; }; if (bevel){ buffer.applyFilter(buffer, buffer.rect, zero_point, bevel); }; return (is_water); } private function getStableState(total_mass:Number){ if (total_mass <= 1){ return (1); }; if (total_mass < ((2 * max_mass) + max_compress)){ return ((((max_mass * max_mass) + (total_mass * max_compress)) / (max_mass + max_compress))); }; return (((total_mass + max_compress) / 2)); } } }//package go_to_hell
Section 30
//NumberInd (go_to_hell.NumberInd) package go_to_hell { import flash.text.*; import flash.display.*; import flash.geom.*; public final class NumberInd extends MovieClip { private const zero_point:Point; private var label:TextField; private var shadow:TextField; private var suffix:String; private var value:Number;// = -1 private var prefix:String; private var fnt:pixel_font; public function NumberInd(icon:String, prefix:String="x ", suffix:String=""){ var format:TextFormat; value = -1; fnt = new pixel_font(); zero_point = new Point(0, 0); super(); if (icon){ addChild(new Bitmap(Tools.getPicture(icon))); }; shadow = new TextField(); format = new TextFormat(); format.font = fnt.fontName; format.color = 0; format.size = 8; shadow.defaultTextFormat = format; addChild(shadow); shadow.x = 9; shadow.y = 0; shadow.width = 150; shadow.embedFonts = true; shadow.selectable = false; label = new TextField(); format = new TextFormat(); format.font = fnt.fontName; format.color = 0xFFFFFF; format.size = 8; label.defaultTextFormat = format; addChild(label); label.x = 8; label.y = -1; label.width = 150; label.embedFonts = true; label.selectable = false; this.prefix = prefix; this.suffix = suffix; } public function update(value:Number){ if (this.value != value){ this.value = value; }; label.text = ((prefix + value) + suffix); shadow.text = ((prefix + value) + suffix); } } }//package go_to_hell
Section 31
//Pause (go_to_hell.Pause) package go_to_hell { import flash.display.*; public final class Pause extends MovieClip { public var cnt_button:Button; private var game:Game; private var results:Array; public function Pause(){ var head:Bitmap; super(); addFrameScript(9, frame10); head = new Bitmap(Tools.getPicture("pause")); addChild(head); head.y = 40; __setProp_cnt_button_pause_Warstwa3_1(); } function __setProp_cnt_button_pause_Warstwa3_1(){ cnt_button["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; cnt_button.operation = ""; cnt_button.caption = "CONTINUE"; cnt_button["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } function frame10(){ stop(); } } }//package go_to_hell
Section 32
//PlayerCharacter (go_to_hell.PlayerCharacter) package go_to_hell { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.ui.*; public final class PlayerCharacter extends Character { private const angel = 9; private const floating = 6; private const ind_max = 20; private const jump_diagonal = 3; private const lives_max = 3; private const jump = 2; private const action_cost = 1; private const push_it = 8; private const walking = 1; private const pick_rev = 11; private const pick_front = 5; private const pick_side = 4; private const resurrection = 10; private const idle = 0; private const swimming = 7; private const waters_cost = 1; private const water_multiplier = 2; private var energy_info:Info;// = null private var coins:Number;// = 0 private var max_depth:Number;// = 0 private var lives:Number;// = 4 private var move_dir;// = 0 private var air:Number;// = 20 private var immunity:Number;// = 0 private var control:Boolean;// = true private var health:Number;// = 20 private var sx; private var sy; private var scontainer:Bitmap; private var air_info:Info;// = null private var energy:Number;// = 20 private var jump_h;// = 0 private var resurrecting:Number;// = 0 private var health_info:Info;// = null private var ouch_time:Number;// = 0 private var died:Number;// = 0 private var board:Board; private var dig_target:Target;// = null private var keys:Array; public function PlayerCharacter(board:Board, container:Bitmap, mx:Number, my:Number){ var anim:Array; died = 0; resurrecting = 0; control = true; keys = new Array(); move_dir = 0; jump_h = 0; dig_target = null; health = 20; energy = 20; air = 20; lives = 4; coins = 0; max_depth = 0; immunity = 0; energy_info = null; air_info = null; health_info = null; ouch_time = 0; anim = [new Animation("gal_idle", 6, [0, 1, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 0, 1, 0, 1, 2, 1, 6, 1, 6, 1, 6, 1, 0, 1, 2, 1, 0, 1, 3, 4, 5, 4, 5, 4, 3, 2, 1], 0.25, 0, new Point(8, 32), 32, startIdle), new Animation("gal_walking", 3, [0, 1, 2], 0.25, 0, new Point(8, 32), 32), new Animation("gal_jump", 3, [0, 1, 2], 0.25, 1, new Point(8, 32), 32), new Animation("gal_jump_diagonal", 4, [0, 1, 2, 3], 0.25, 1, new Point(8, 32), 32), new Animation("gal_pick_side", 5, [0, 1, 2, 3, 4], 0.25, -1, new Point(8, 32), 32, null, destroySide), new Animation("gal_pick_front", 6, [0, 1, 2, 3, 4, 5], 0.25, -1, new Point(8, 32), 32, null, destroyDown), new Animation("gal_float", 4, [0, 1, 2, 3, 2, 1], 0.25, 0, new Point(8, 32), 32), new Animation("gal_swimming", 3, [0, 1, 2, 1], 0.25, 0, new Point(8, 32), 32), new Animation("gal_push", 3, [0, 1, 2], 0.25, 0, new Point(8, 32), 32), new Animation("gal_angel", 4, [0, 1, 2, 3, 2, 1], 0.25, 0, new Point(8, 32), 32), new Animation("gal_resurrect", 10, [0, 1, 2, 3, 2, 1, 0, 4, 5, 6, 7, 8, 9, 6, 9, 8, 7, 8, 9, 6], 0.25, 14, new Point(8, 32), 32), new Animation("gal_pick_side", 2, [1, 0], 0.25, -1, new Point(8, 32), 32, null, resume)]; super(board, container, (mx * board.field_size), ((my * board.field_size) - 1), 5, 14, anim); scontainer = container; sx = mx; sy = my; this.board = board; Tools.addEvent(board.stage, KeyboardEvent.KEY_DOWN, keyPressed); Tools.addEvent(board.stage, KeyboardEvent.KEY_UP, keyReleased); board.characters_list.register(this); board.alive_list.register(this); blood = true; } public function getDepth():Number{ return (max_depth); } private function updateAir(){ if (immunity){ return; }; if (underWater()){ air = (air - 0.15); if (air < 0){ air = 0; }; } else { air = (air + 0.2); if (air > ind_max){ air = ind_max; }; }; } public function getAir():Number{ return (air); } private function decEnergy(amount:Number){ if (immunity){ return; }; energy = (energy - (amount * (underWater()) ? water_multiplier : 1)); if (energy < 0){ energy = 0; decHealth((amount * 2)); }; } private function resume(){ control = true; } public function resultArray():Array{ return (new Array(coins, max_depth)); } public function addLife(){ lives++; } public function clean(){ board.stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed); board.stage.removeEventListener(KeyboardEvent.KEY_UP, keyReleased); } public function getLives():Number{ return (lives); } public function getHealth():Number{ return (health); } private function startIdle(){ move_dir = 0; } public function getCoins():Number{ return (coins); } private function destroySide(){ var mx:*; var my:*; var x:*; var y:*; if (move_dir == 0){ return; }; if (move_dir < 0){ mx = Math.floor((((pos_x - (body_width / 2)) - 8) / board.field_size)); } else { mx = Math.floor((((pos_x + (body_width / 2)) + 8) / board.field_size)); }; my = Math.floor((pos_y / board.field_size)); x = 0; while (x < 2) { y = 0; while (y < 2) { board.wall.balls.set(board.getFID((mx + (x * move_dir)), (my - y)), 0); board.water.balls.set(board.getFID((mx + (x * move_dir)), (my - y)), 0); y++; }; x++; }; if (move_dir < 0){ new Dust(board, board.front_sprites, mx, my); } else { new Dust(board, board.front_sprites, (mx + 1), my); }; board.update = true; decEnergy(action_cost); board.game.sound.playSound(new crush_sound()); control = false; setAnim(pick_rev); if (move_dir == -1){ flipH(false); } else { flipH(true); }; } private function isIdling():Boolean{ return ((getAnimID() == idle)); } public function addHealth(){ health = (health + 5); if (health > ind_max){ health = ind_max; }; } public function getEnergy():Number{ return (energy); } override public function die(){ if (died){ return; }; if (immunity){ return; }; board.game.soundtrack.stop(); board.game.soundtrack = board.game.sound.playSound(new life_lost()); health = 0; died = 20; control = false; container = board.front_sprites; setAnim(angel); lives--; } public function addEnergy(){ energy = (energy + 5); if (energy > ind_max){ energy = ind_max; }; } public function getMaxLives():Number{ return (lives_max); } private function processInput(water:Boolean, ground:Point){ var sch:Character; var h_move:Boolean; var i:*; if (!keys.length){ if (ground){ setAnim(idle); } else { if (water){ setAnim(floating); } else { setAnim(jump); }; }; return; }; h_move = false; i = (keys.length - 1); while (i >= 0) { switch (keys[i]){ case Keyboard.UP: if (water){ if (move(0, -2).y){ if (move_dir == 0){ setAnim(floating); }; }; break; }; jump_h = (jump_h + 4); if ((jump_h < (board.field_size * 5))){ if (move(0, -4).y){ if (move_dir == 0){ setAnim(jump); }; } else { if (jump_h == 1){ jump_h = 0; }; }; }; break; case Keyboard.DOWN: if (((water) && (!(ground)))){ if (move(0, 2).y){ if (move_dir == 0){ setAnim(floating); }; }; break; }; if (((ground) && (((board.isDestructable(ground.x, ground.y)) || (((!(board.isSolid(ground.x, ground.y))) && (board.isDestructable((ground.x + 1), ground.y)))))))){ if (setAnim(pick_front)){ if (dig_target){ dig_target.finish(); }; dig_target = new Target(board, board.front_sprites, ground.x, (ground.y + 1), false); }; } else { if (!ground){ setAnim(jump); }; }; break; case Keyboard.LEFT: if (((h_move) || ((getAnimID() == pick_side)))){ break; }; if (move(-2, 0).x){ h_move = true; move_dir = -1; if (ground){ setAnim(walking); } else { if (water){ setAnim(swimming); } else { setAnim(jump_diagonal); }; }; flipH(false); } else { if (board.isDestructablePos(((pos_x - (body_width / 2)) - 8), pos_y)){ if (ground){ h_move = true; move_dir = -1; if (setAnim(pick_side)){ move(4, 0); if (dig_target){ dig_target.finish(); }; dig_target = new Target(board, board.front_sprites, (ground.x - 1), (ground.y - 1), true); }; flipH(false); } else { if (water){ move(0, 2); }; }; } else { if (ground){ setAnim(push_it); flipH(false); sch = board.getField((ground.x - 1), (ground.y - 1)).getSolidCharacter(); if (sch){ sch.pushIt(-1); }; } else { if (water){ move(0, 2); }; }; }; }; break; case Keyboard.RIGHT: if (((h_move) || ((getAnimID() == pick_side)))){ break; }; if (move(2, 0).x){ h_move = true; move_dir = 1; if (ground){ setAnim(walking); } else { if (water){ setAnim(swimming); } else { setAnim(jump_diagonal); }; }; flipH(true); } else { if (board.isDestructablePos(((pos_x + (body_width / 2)) + 8), pos_y)){ if (ground){ h_move = true; move_dir = 1; if (setAnim(pick_side)){ move(-4, 0); if (dig_target){ dig_target.finish(); }; dig_target = new Target(board, board.front_sprites, (ground.x + 2), (ground.y - 1), true); dig_target.flipH(true); }; flipH(true); } else { if (water){ move(0, 2); }; }; } else { if (ground){ setAnim(push_it); flipH(true); sch = board.getField((ground.x + 2), (ground.y - 1)).getSolidCharacter(); if (sch){ sch.pushIt(1); }; } else { if (water){ move(0, 2); }; }; }; }; break; default: if (ground){ setAnim(idle); } else { if (water){ setAnim(floating); } else { setAnim(jump); }; }; break; }; i--; }; } private function newLive(){ board.game.soundtrack.stop(); board.game.soundtrack = board.game.sound.playSound(new eternal()); resurrecting = 0; health = ind_max; energy = ind_max; air = ind_max; immunity = 90; control = true; container = scontainer; } private function resurrect(){ died = 20; resurrecting = 40; setAnim(resurrection); } private function keyReleased(event:KeyboardEvent){ var i:*; i = (keys.length - 1); while (i >= 0) { if (keys[i] == event.keyCode){ keys.splice(i, 1); }; i--; }; } private function keyPressed(event:KeyboardEvent){ var i:*; i = 0; while (i < keys.length) { if (keys[i] == event.keyCode){ return; }; i++; }; keys.push(event.keyCode); } override public function update(visible:Boolean=true){ var water:Boolean; var ground:Point; var dpt:*; if (((!(died)) && (!(resurrecting)))){ water = inWater(); ground = onGround(); if (((ground) && (jump_h))){ setAnim(idle); getAnim().reset(); jump_h = 0; }; if (!water){ move(0, 2); } else { if (!ground){ jump_h = 1; }; }; if (((!(ground)) && ((getAnimID() == pick_side)))){ setAnim(jump_diagonal); flipH(!((move_dir == -1))); }; if (control){ processInput(water, ground); }; updateAir(); if (((!(air)) || (((touchingWater()) && (board.lava))))){ decHealth(0.1); }; if (!health){ die(); }; if (immunity){ immunity--; }; if (energy < 4){ if (!energy_info){ energy_info = new Info(board, board.front_sprites_b, this, 1); }; } else { if (energy_info){ board.characters_list.registerToRemove(energy_info); energy_info = null; }; }; if (air < 10){ if (!air_info){ air_info = new Info(board, board.front_sprites_b, this, 0); }; } else { if (air_info){ board.characters_list.registerToRemove(air_info); air_info = null; }; }; if (health < 5){ if (!health_info){ health_info = new Info(board, board.front_sprites_b, this, 2); }; } else { if (health_info){ board.characters_list.registerToRemove(health_info); health_info = null; }; }; dpt = (Math.floor((pos_y / 10)) - 15); if (max_depth < dpt){ max_depth = dpt; }; } else { if (died){ if (energy_info){ board.characters_list.registerToRemove(energy_info); energy_info = null; }; if (air_info){ board.characters_list.registerToRemove(air_info); air_info = null; }; if (health_info){ board.characters_list.registerToRemove(health_info); health_info = null; }; died--; if (((!(died)) && (!(resurrecting)))){ if (lives){ resurrect(); } else { if (Math.floor((pos_y / board.field_size)) < board.map_offset){ board.game.gameOver(resultArray()); died = 20; } else { died = 20; }; }; }; pos_y--; } else { if (resurrecting){ resurrecting--; if (!resurrecting){ newLive(); }; if (resurrecting < 30){ pos_y++; }; }; }; }; super.update(((immunity % 6) < 4)); } private function destroyDown(){ var ground:*; var x:*; var y:*; ground = onGround(); if (!ground){ return; }; if ((ground.x % 2)){ ground.x--; }; if (!board.isDestructable(ground.x, ground.y)){ ground.x = (ground.x + 2); }; x = 0; while (x < 2) { y = 0; while (y < 2) { board.wall.balls.set(board.getFID((ground.x + x), (ground.y + y)), 0); board.water.balls.set(board.getFID((ground.x + x), (ground.y + y)), 0); y++; }; x++; }; board.update = true; new Dust(board, board.front_sprites, (ground.x + 1), (ground.y + 1)); setAnim(idle); decEnergy(action_cost); board.game.sound.playSound(new crush_sound()); } public function getMaxInd():Number{ return (ind_max); } public function addCoin(){ coins++; } public function decHealth(amount:Number){ if (((((immunity) || (died))) || (resurrecting))){ return; }; if (((!(ouch_time)) || (((getTimer() - ouch_time) > 3000)))){ board.game.sound.playSound(new ouch()); ouch_time = getTimer(); }; health = (health - amount); if (health < 0){ health = 0; }; } } }//package go_to_hell
Section 33
//SoundSystem (go_to_hell.SoundSystem) package go_to_hell { import flash.media.*; public final class SoundSystem { public function SoundSystem(){ super(); } public function getVolume(channel:SoundChannel):Number{ if (channel){ return (channel.soundTransform.volume); }; return (0); } public function mute(doit:Boolean){ var transform:SoundTransform; transform = new SoundTransform(); transform.volume = (doit) ? 0 : 1; SoundMixer.soundTransform = transform; } public function playSound(sound:Sound, volume:Number=1, loop:Boolean=false):SoundChannel{ var lcnt:*; var channel:*; var transform:SoundTransform; lcnt = (loop) ? 999999999 : 1; channel = sound.play(0, lcnt); transform = new SoundTransform(); transform.volume = volume; channel.soundTransform = transform; return (channel); } public function setVolume(channel:SoundChannel, volume:Number){ var transform:SoundTransform; if (!channel){ return; }; transform = new SoundTransform(); transform.volume = volume; channel.soundTransform = transform; } } }//package go_to_hell
Section 34
//Spikes (go_to_hell.Spikes) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Spikes extends Character { private var active:Boolean;// = true private var board:Board; public function Spikes(board:Board, container:Bitmap, mx:Number, my:Number){ var anim:Array; active = true; anim = [new Animation("spikes", 1, [0], 0, -1, new Point(10, 5), 7), new Animation("spikes_blood", 1, [0], 0, -1, new Point(10, 5), 7)]; this.board = board; super(board, container, (mx * board.field_size), (my * board.field_size), 20, 7, anim, true); board.characters_list.register(this); } override public function update(visible:Boolean=true){ var my:*; my = Math.floor((pos_y / board.field_size)); if (my < board.map_offset){ board.characters_list.registerToRemove(this); return; }; if (((((!(board.demo)) && (active))) && (collides(board.player)))){ board.player.decHealth(0.5); setAnim(1); }; super.update(); } } }//package go_to_hell
Section 35
//Target (go_to_hell.Target) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Target extends Character { private var board:Board; public function Target(board:Board, container:Bitmap, mx:Number, my:Number, h:Boolean){ var anim:Array; anim = [new Animation((h) ? "target_h" : "target_v", 3, [0, 1, 2], 0.25, 0, new Point(8, 8), 18, null, finish)]; if ((mx % 2) == 0){ mx++; }; if (!board.isDestructable(mx, my)){ mx = (mx + 2); }; this.board = board; super(board, container, (mx * board.field_size), (my * board.field_size), 16, 16, anim, true); board.characters_list.register(this); } public function finish(){ board.characters_list.registerToRemove(this); } } }//package go_to_hell
Section 36
//WallFiller (go_to_hell.WallFiller) package go_to_hell { import flash.display.*; import flash.geom.*; public final class WallFiller { private var np:BitmapData;// = null private var bg:BitmapData; private var l_offset:Number;// = 0 private var output:BitmapData; private var speed:Number; private var ipb:Number; private var board:Board; private var ip:BitmapData;// = null private var wait_for_ip:Boolean;// = false private static var zero_point:Point = new Point(0, 0); public function WallFiller(board:Board, bg_name:String, speed:Number=1, display=false){ var disp:Bitmap; ip = null; np = null; wait_for_ip = false; l_offset = 0; super(); this.board = board; this.speed = speed; bg = Tools.getPicture(bg_name); output = new BitmapData(((board.size_w + board.grain) * board.field_size), (board.size_h * board.field_size), false); if (display){ disp = new Bitmap(output); board.addChild(disp); }; } public function insertPicture(picture:String, wait:Boolean){ ip = Tools.getPicture(picture); ipb = 0; wait_for_ip = wait; } public function getNextFill():BitmapData{ var offset:*; var ip_offset:*; offset = -((((board.map_offset * board.field_size) * speed) % Math.floor((bg.height / 2)))); if (((np) && ((offset > l_offset)))){ bg = np; np = null; }; if (wait_for_ip){ if (offset > l_offset){ wait_for_ip = false; }; ipb = (((board.map_offset * board.field_size) * speed) - board.field_size); }; output.copyPixels(bg, bg.rect, new Point(0, (offset - (board.pos_offset * speed)))); if (((ip) && (!(wait_for_ip)))){ ip_offset = -((((board.map_offset * board.field_size) * speed) - ipb)); output.copyPixels(ip, ip.rect, new Point(0, (ip_offset - (board.pos_offset * speed)))); if (ip_offset < -(ip.height)){ ip = null; }; }; l_offset = offset; return (output); } public function insertPictureB(picture:BitmapData, wait:Boolean){ ip = picture; ipb = 0; wait_for_ip = wait; } public function reset(){ l_offset = 0; } public function switchPicture(picture:String){ np = Tools.getPicture(picture); } public function swapIPictureB(picture:BitmapData){ if (ip){ ip = picture; }; } } }//package go_to_hell
Section 37
//Worm (go_to_hell.Worm) package go_to_hell { import flash.display.*; import flash.geom.*; public final class Worm extends Character { private var active:Boolean;// = true private var board:Board; private var died;// = 0 private var dir;// = 1 public function Worm(board:Board, container:Bitmap, mx:Number, my:Number){ var anim:Array; active = true; dir = 1; died = 0; anim = [new Animation("worm", 4, [0, 1, 2, 3], 0.25, 0, new Point(7, 5), 5), new Animation("worm_blood", 4, [0, 1, 2, 3], 0.25, 0, new Point(7, 5), 5), new Animation("worm_died", 4, [0, 1, 2, 3], 0.25, 0, new Point(7, 5), 5), new Animation("worm_blood_died", 4, [0, 1, 2, 3], 0.25, 0, new Point(7, 5), 5)]; this.board = board; super(board, container, (mx * board.field_size), ((my * board.field_size) - 1), 12, 5, anim, true); board.characters_list.register(this); board.alive_list.register(this); } override public function die(){ board.characters_list.registerToRemove(this); board.alive_list.registerToRemove(this); } override public function update(visible:Boolean=true){ var mx:*; var my:*; mx = Math.floor((pos_x / board.field_size)); my = Math.floor((pos_y / board.field_size)); if (my < board.map_offset){ board.characters_list.registerToRemove(this); board.alive_list.registerToRemove(this); return; }; if (died){ died--; if (died == 5){ setAnim((getAnimID() + 2)); flipV(true); }; move(0, -1); if (!inWater()){ move(0, 1); }; if (!died){ board.characters_list.registerToRemove(this); board.alive_list.registerToRemove(this); }; } else { if (((inWater()) || (((touchingWater()) && (board.lava))))){ if (((touchingWater()) && (board.lava))){ died = 15; } else { died = 30; }; flipV(true); } else { move(0, 4); if (!move(dir, 0).x){ dir = (dir * -1); flipH((dir > 0)); }; if (((((!(board.demo)) && (active))) && (collides(board.player)))){ setAnim(1); board.player.decHealth(0.5); }; }; }; if (board.isSolid(mx, my)){ board.characters_list.registerToRemove(this); board.alive_list.registerToRemove(this); }; super.update(); } } }//package go_to_hell
Section 38
//credits_20 (go_to_hell_andkon_fla.credits_20) package go_to_hell_andkon_fla { import flash.display.*; import go_to_hell.*; public dynamic class credits_20 extends MovieClip { public var __id5_:HotSpotURL; public var __id6_:HotSpotURL; public var __id7_:HotSpotURL; public function credits_20(){ super(); __setProp___id7__credits_Warstwa3_1(); __setProp___id5__credits_Warstwa2_1(); __setProp___id6__credits_Warstwa2_1(); } function __setProp___id7__credits_Warstwa3_1(){ __id7_["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; __id7_.url = "http://www.metasauce.com"; __id7_["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } function __setProp___id5__credits_Warstwa2_1(){ __id5_["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; __id5_.url = "http://www.mattmcfarland.com"; __id5_["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } function __setProp___id6__credits_Warstwa2_1(){ __id6_["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; __id6_.url = "http://www.freesound.org"; __id6_["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } } }//package go_to_hell_andkon_fla
Section 39
//d_logo_18 (go_to_hell_andkon_fla.d_logo_18) package go_to_hell_andkon_fla { import flash.display.*; import go_to_hell.*; public dynamic class d_logo_18 extends MovieClip { public var __id4_:HotSpotURL; public function d_logo_18(){ super(); __setProp___id4__d_logo_Warstwa1_1(); } function __setProp___id4__d_logo_Warstwa1_1(){ __id4_["componentInspectorSetting"] = true; //unresolved jump var _slot1 = e; __id4_.url = "http://www.metasauce.com"; __id4_["componentInspectorSetting"] = false; //unresolved jump var _slot1 = e; } } }//package go_to_hell_andkon_fla
Section 40
//tv_frame_1 (go_to_hell_andkon_fla.tv_frame_1) package go_to_hell_andkon_fla { import flash.display.*; public dynamic class tv_frame_1 extends MovieClip { public function tv_frame_1(){ super(); addFrameScript(29, frame30); } function frame30(){ stop(); } } }//package go_to_hell_andkon_fla
Section 41
//vol_mute_21 (go_to_hell_andkon_fla.vol_mute_21) package go_to_hell_andkon_fla { import flash.display.*; import flash.events.*; public dynamic class vol_mute_21 extends MovieClip { public var mute; public var button:SimpleButton; public function vol_mute_21(){ super(); addFrameScript(0, frame1, 1, frame2, 5, frame6); } function frame6(){ mute = false; stop(); } function frame1(){ addEventListener(MouseEvent.MOUSE_UP, brelease, false, 0, true); mute = true; } public function brelease(event:MouseEvent){ Tools.mute(mute); gotoAndPlay((mute) ? "off" : "on"); } function frame2(){ mute = true; stop(); } } }//package go_to_hell_andkon_fla
Section 42
//zzz_7 (go_to_hell_andkon_fla.zzz_7) package go_to_hell_andkon_fla { import flash.display.*; public dynamic class zzz_7 extends MovieClip { public function zzz_7(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package go_to_hell_andkon_fla
Section 43
//MochiCoins (mochi.as3.MochiCoins) package mochi.as3 { public class MochiCoins { public static const STORE_HIDE:String = "StoreHide"; public static const NO_USER:String = "NoUser"; public static const IO_ERROR:String = "IOError"; public static const ITEM_NEW:String = "ItemNew"; public static const ITEM_OWNED:String = "ItemOwned"; public static const STORE_ITEMS:String = "StoreItems"; public static const ERROR:String = "Error"; public static const STORE_SHOW:String = "StoreShow"; public static var _inventory:MochiInventory; public function MochiCoins(){ super(); } public static function triggerEvent(eventType:String, args:Object):void{ MochiSocial.triggerEvent(eventType, args); } public static function removeEventListener(eventType:String, delegate:Function):void{ MochiSocial.removeEventListener(eventType, delegate); } public static function addEventListener(eventType:String, delegate:Function):void{ MochiSocial.addEventListener(eventType, delegate); } public static function getStoreItems():void{ MochiServices.send("coins_getStoreItems"); } public static function get inventory():MochiInventory{ return (_inventory); } public static function showStore(options:Object=null):void{ MochiServices.bringToTop(); MochiServices.send("coins_showStore", {options:options}, null, null); } public static function showItem(options:Object=null):void{ if (((!(options)) || (!((typeof(options.item) == "string"))))){ trace("ERROR: showItem call must pass an Object with an item key"); return; }; MochiServices.bringToTop(); MochiServices.send("coins_showItem", {options:options}, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function showVideo(options:Object=null):void{ if (((!(options)) || (!((typeof(options.item) == "string"))))){ trace("ERROR: showVideo call must pass an Object with an item key"); return; }; MochiServices.bringToTop(); MochiServices.send("coins_showVideo", {options:options}, null, null); } MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (args:Object):void{ _inventory = new MochiInventory(); }); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (args:Object):void{ _inventory = null; }); } }//package mochi.as3
Section 44
//MochiDigits (mochi.as3.MochiDigits) package mochi.as3 { public final class MochiDigits { private var Sibling:MochiDigits; private var Fragment:Number; private var Encoder:Number; public function MochiDigits(digit:Number=0, index:uint=0):void{ super(); Encoder = 0; setValue(digit, index); } public function set value(v:Number):void{ setValue(v); } public function reencode():void{ var newEncode:uint; newEncode = int((2147483647 * Math.random())); Fragment = (Fragment ^ (newEncode ^ Encoder)); Encoder = newEncode; } public function toString():String{ var s:String; s = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ s = (s + Sibling.toString()); }; return (s); } public function get value():Number{ return (Number(this.toString())); } public function setValue(digit:Number=0, index:uint=0):void{ var s:String; s = digit.toString(); var _temp1 = index; index = (index + 1); Fragment = (s.charCodeAt(_temp1) ^ Encoder); if (index < s.length){ Sibling = new MochiDigits(digit, index); } else { Sibling = null; }; reencode(); } public function addValue(inc:Number):void{ value = (value + inc); } } }//package mochi.as3
Section 45
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher) package mochi.as3 { public class MochiEventDispatcher { private var eventTable:Object; public function MochiEventDispatcher():void{ super(); eventTable = {}; } public function triggerEvent(event:String, args:Object):void{ var i:Object; if (eventTable[event] == undefined){ return; }; for (i in eventTable[event]) { var _local6 = eventTable[event]; _local6[i](args); }; } public function removeEventListener(event:String, delegate:Function):void{ var s:Object; if (eventTable[event] == undefined){ eventTable[event] = []; return; }; for (s in eventTable[event]) { if (eventTable[event][s] != delegate){ } else { eventTable[event].splice(Number(s), 1); }; }; } public function addEventListener(event:String, delegate:Function):void{ removeEventListener(event, delegate); eventTable[event].push(delegate); } } }//package mochi.as3
Section 46
//MochiEvents (mochi.as3.MochiEvents) package mochi.as3 { import flash.display.*; public class MochiEvents { public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL"; public static const FORMAT_LONG:String = "LongForm"; public static const ALIGN_BOTTOM:String = "ALIGN_B"; public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived"; public static const FORMAT_SHORT:String = "ShortForm"; public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR"; public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR"; public static const ALIGN_TOP:String = "ALIGN_T"; public static const ALIGN_LEFT:String = "ALIGN_L"; public static const ALIGN_RIGHT:String = "ALIGN_R"; public static const ALIGN_TOP_LEFT:String = "ALIGN_TL"; public static const ALIGN_CENTER:String = "ALIGN_C"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); private static var gameStart:Number; private static var levelStart:Number; public function MochiEvents(){ super(); } public static function addEventListener(eventType:String, delegate:Function):void{ _dispatcher.addEventListener(eventType, delegate); } public static function removeEventListener(eventType:String, delegate:Function):void{ _dispatcher.removeEventListener(eventType, delegate); } public static function startSession(achievementID:String):void{ MochiServices.send("events_beginSession", {achievementID:achievementID}, null, null); } public static function triggerEvent(eventType:String, args:Object):void{ _dispatcher.triggerEvent(eventType, args); } public static function setNotifications(clip:MovieClip, style:Object):void{ var args:Object; var s:Object; args = {}; for (s in style) { args[s] = style[s]; }; args.clip = clip; MochiServices.send("events_setNotifications", args, null, null); } public static function endGame():void{ var delta:Number; delta = (new Date().time - gameStart); trigger("end_game", {time:delta}); } public static function startGame():void{ gameStart = new Date().time; trigger("start_game"); } public static function trigger(kind:String, obj:Object=null):void{ if (obj == null){ obj = {}; } else { if (obj["kind"] != undefined){ trace("WARNING: optional arguments package contains key 'id', it will be overwritten"); obj["kind"] = kind; }; }; MochiServices.send("events_triggerEvent", {eventObject:obj}, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function startLevel():void{ levelStart = new Date().time; trigger("start_level"); } public static function endLevel():void{ var delta:Number; delta = (new Date().time - levelStart); trigger("end_level", {time:delta}); } } }//package mochi.as3
Section 47
//MochiInventory (mochi.as3.MochiInventory) package mochi.as3 { import flash.events.*; import flash.utils.*; public dynamic class MochiInventory extends Proxy { private var _timer:Timer; private var _names:Array; private var _consumableProperties:Object; private var _syncID:Number; private var _storeSync:Object; private var _outstandingID:Number; private var _syncPending:Boolean; public static const READY:String = "InvReady"; public static const ERROR:String = "Error"; public static const IO_ERROR:String = "IoError"; private static const KEY_SALT:String = " syncMaint"; public static const WRITTEN:String = "InvWritten"; public static const NOT_READY:String = "InvNotReady"; public static const VALUE_ERROR:String = "InvValueError"; private static const CONSUMER_KEY:String = "MochiConsumables"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public function MochiInventory():void{ super(); MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned); MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut); _storeSync = new Object(); _syncPending = false; _outstandingID = 0; _syncID = 0; _timer = new Timer(1000); _timer.addEventListener(TimerEvent.TIMER, sync); _timer.start(); if (MochiSocial.loggedIn){ loggedIn(); } else { loggedOut(); }; } private function newItems(event:Object):void{ if (!this[(event.id + KEY_SALT)]){ this[(event.id + KEY_SALT)] = 0; }; if (!this[event.id]){ this[event.id] = 0; }; this[(event.id + KEY_SALT)] = (this[(event.id + KEY_SALT)] + event.count); this[event.id] = (this[event.id] + event.count); if (event.privateProperties.consumable){ if (!this[event.privateProperties.tag]){ this[event.privateProperties.tag] = 0; }; this[event.privateProperties.tag] = (this[event.privateProperties.tag] + (event.privateProperties.inc * event.count)); }; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(name){ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (-1); }; if (_consumableProperties[name]){ return (MochiDigits(_consumableProperties[name]).value); }; return (undefined); } public function release():void{ MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(name):Boolean{ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (false); }; if (_consumableProperties[name] == undefined){ return (false); }; return (true); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(index:int):int{ return (((index)>=_names.length) ? 0 : (index + 1)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(name, value):void{ var d:MochiDigits; if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return; }; if (!(value is Number)){ triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:value}); return; }; if (_consumableProperties[name]){ d = MochiDigits(_consumableProperties[name]); if (d.value == value){ return; }; d.value = value; } else { _names.push(name); _consumableProperties[name] = new MochiDigits(value); }; _syncID++; } private function sync(e:Event=null):void{ var output:Object; var key:String; if (((_syncPending) || ((_syncID == _outstandingID)))){ return; }; _outstandingID = _syncID; output = {}; for (key in _consumableProperties) { output[key] = MochiDigits(_consumableProperties[key]).value; }; MochiUserData.put(CONSUMER_KEY, output, putConsumableBag); _syncPending = true; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(index:int):String{ return (_names[(index - 1)]); } private function loggedIn(args:Object=null):void{ MochiUserData.get(CONSUMER_KEY, getConsumableBag); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(name):Boolean{ if (!_consumableProperties[name]){ return (false); }; _names.splice(_names.indexOf(name), 1); delete _consumableProperties[name]; return (true); } private function itemOwned(event:Object):void{ _storeSync[event.id] = {properties:event.properties, count:event.count}; } private function putConsumableBag(userData:MochiUserData):void{ _syncPending = false; if (userData.error){ triggerEvent(ERROR, {type:IO_ERROR, error:userData.error}); _outstandingID = -1; }; triggerEvent(WRITTEN, {}); } private function getConsumableBag(userData:MochiUserData):void{ var key:String; var unsynced:Number; if (userData.error){ triggerEvent(ERROR, {type:IO_ERROR, error:userData.error}); return; }; _consumableProperties = {}; _names = new Array(); if (userData.data){ for (key in userData.data) { _names.push(key); _consumableProperties[key] = new MochiDigits(userData.data[key]); }; }; for (key in _storeSync) { unsynced = _storeSync[key].count; if (_consumableProperties[(key + KEY_SALT)]){ unsynced = (unsynced - _consumableProperties[key]); }; if (unsynced == 0){ } else { newItems({id:key, count:unsynced, properties:_storeSync[key].properties}); }; }; triggerEvent(READY, {}); } private function loggedOut(args:Object=null):void{ _consumableProperties = null; } public static function triggerEvent(eventType:String, args:Object):void{ _dispatcher.triggerEvent(eventType, args); } public static function removeEventListener(eventType:String, delegate:Function):void{ _dispatcher.removeEventListener(eventType, delegate); } public static function addEventListener(eventType:String, delegate:Function):void{ _dispatcher.addEventListener(eventType, delegate); } } }//package mochi.as3
Section 48
//MochiScores (mochi.as3.MochiScores) package mochi.as3 { import flash.text.*; import flash.display.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public function MochiScores(){ super(); } public static function showLeaderboard(options:Object=null):void{ var n:Number; var options = options; if (options != null){ delete options.clip; MochiServices.setContainer(); MochiServices.bringToTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; } else { if ((options.score is MochiDigits)){ options.score = options.score.value; }; }; n = Number(options.score); if (isNaN(n)){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'")); } else { if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite")); } else { if (Math.floor(n) != n){ trace((("WARNING: Submitted score '" + options.score) + "' will be truncated")); }; options.score = n; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.warnID(options.boardID, true); trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal"); MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(callbackObj:Object, callbackMethod:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod); } public static function requestList(callbackObj:Object, callbackMethod:Object=null):void{ MochiServices.send("scores_requestList", null, callbackObj, callbackMethod); } public static function scoresArrayToObjects(scores:Object):Object{ var so:Object; var i:Number; var j:Number; var o:Object; var row_obj:Object; var item:String; var param:String; so = {}; for (item in scores) { if (typeof(scores[item]) == "object"){ if (((!((scores[item].cols == null))) && (!((scores[item].rows == null))))){ so[item] = []; o = scores[item]; j = 0; while (j < o.rows.length) { row_obj = {}; i = 0; while (i < o.cols.length) { row_obj[o.cols[i]] = o.rows[j][i]; i++; }; so[item].push(row_obj); j++; }; } else { so[item] = {}; for (param in scores[item]) { so[item][param] = scores[item][param]; }; }; } else { so[item] = scores[item]; }; }; return (so); } public static function submit(score:Number, name:String, callbackObj:Object=null, callbackMethod:Object=null):void{ score = Number(score); if (isNaN(score)){ trace((("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is 'Not a Number'")); } else { if ((((score == Number.NEGATIVE_INFINITY)) || ((score == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is an infinite")); } else { if (Math.floor(score) != score){ trace((("WARNING: Submitted score '" + String(score)) + "' will be truncated")); }; score = Number(score); }; }; MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod); } public static function onClose(args:Object=null):void{ if (((((args) && ((args.error == true)))) && (onErrorHandler))){ if (args.errorCode == null){ args.errorCode = "IOError"; }; onErrorHandler(args.errorCode); MochiServices.doClose(); return; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(boardID:String):void{ MochiServices.warnID(boardID, true); MochiScores.boardID = boardID; MochiServices.send("scores_setBoardID", {boardID:boardID}); } } }//package mochi.as3
Section 49
//MochiServices (mochi.as3.MochiServices) package mochi.as3 { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; private static var _preserved:Object; public static var netupAttempted:Boolean = false; private static var _sendChannel:LocalConnection; public static var servicesSync:MochiSync = new MochiSync(); private static var _clip:MovieClip; private static var _id:String; private static var _services:String = "services.swf"; private static var _servURL:String = "http://www.mochiads.com/static/lib/services/"; public static var widget:Boolean = false; private static var _timer:Timer; private static var _sendChannelName:String; private static var _loader:Loader; private static var _connecting:Boolean = false; private static var _mochiLocalConnection:MovieClip; private static var _listenChannelName:String = "__ms_"; public static var onError:Object; public static var netup:Boolean = true; private static var _mochiLC:String = "MochiLC.swf"; public function MochiServices(){ super(); } public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function get connected():Boolean{ return (_connected); } private static function onReceive(pkg:Object):void{ var cb:String; var cblst:Object; var method:*; var methodName:String; var obj:Object; var pkg = pkg; cb = pkg.callbackID; cblst = _clip._callbacks[cb]; if (!cblst){ return; }; method = cblst.callbackMethod; methodName = ""; obj = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ method.apply(obj, pkg.args); //unresolved jump var _slot1 = error; trace(((("Error invoking callback method '" + methodName) + "': ") + _slot1.toString())); } else { if (obj != null){ obj(pkg.args); //unresolved jump var _slot1 = error; trace(("Error invoking method on object: " + _slot1.toString())); }; }; delete _clip._callbacks[cb]; } public static function get childClip():Object{ return (_clip); } public static function send(methodName:String, args:Object=null, callbackObject:Object=null, callbackMethod:Object=null):void{ if (_connected){ _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + methodName)); handleError(args, callbackObject, callbackMethod); flush(true); return; }; _clip._queue.push({methodName:methodName, args:args, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod}; _clip._nextcallbackID++; }; }; } private static function init(id:String, clip:Object):void{ _id = id; if (clip != null){ _container = clip; loadCommunicator(id, _container); }; } private static function clickMovie(url:String, cb:Function):MovieClip{ var avm1_bytecode:Array; var b:int; var header:Array; var footer:Array; var mc:MovieClip; var lc:LocalConnection; var lc_name:String; var ba:ByteArray; var cpool:ByteArray; var actionLength:uint; var fileLength:uint; var loader:Loader; avm1_bytecode = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; header = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; footer = [0, 64, 0, 0, 0]; mc = new MovieClip(); lc = new LocalConnection(); lc_name = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time)); lc = new LocalConnection(); mc.lc = lc; mc.click = cb; lc.client = mc; lc.connect(lc_name); ba = new ByteArray(); cpool = new ByteArray(); cpool.endian = Endian.LITTLE_ENDIAN; cpool.writeShort(1); cpool.writeUTFBytes(((url + " ") + lc_name)); cpool.writeByte(0); actionLength = ((avm1_bytecode.length + cpool.length) + 4); fileLength = (actionLength + 35); ba.endian = Endian.LITTLE_ENDIAN; ba.writeUTFBytes("FWS"); ba.writeByte(8); ba.writeUnsignedInt(fileLength); for each (b in header) { ba.writeByte(b); }; ba.writeUnsignedInt(actionLength); ba.writeByte(136); ba.writeShort(cpool.length); ba.writeBytes(cpool); for each (b in avm1_bytecode) { ba.writeByte(b); }; for each (b in footer) { ba.writeByte(b); }; loader = new Loader(); loader.loadBytes(ba); mc.addChild(loader); return (mc); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function addLinkEvent(url:String, burl:String, btn:DisplayObjectContainer, onClick:Function=null):void{ var vars:Object; var avm1Click:DisplayObject; var s:String; var i:Number; var x:String; var req:URLRequest; var loader:Loader; var setURL:Function; var err:Function; var complete:Function; var url = url; var burl = burl; var btn = btn; var onClick = onClick; vars = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); s = "?"; i = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://x.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (url:String):void{ var rect:Rectangle; if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(url, onClick); rect = btn.getBounds(btn); btn.addChild(avm1Click); avm1Click.x = rect.x; avm1Click.y = rect.y; avm1Click.scaleX = (0.01 * rect.width); avm1Click.scaleY = (0.01 * rect.height); }; err = function (ev:Object):void{ netup = false; ev.target.removeEventListener(ev.type, arguments.callee); setURL(burl); }; complete = function (ev:Object):void{ ev.target.removeEventListener(ev.type, arguments.callee); }; if (netup){ setURL((url + s)); } else { setURL(burl); }; if (!((netupAttempted) || (_connected))){ netupAttempted = true; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); }; } public static function warnID(bid:String, leaderboard:Boolean):void{ var i:Number; bid = bid.toLowerCase(); if (bid.length != 16){ trace((("WARNING: " + (leaderboard) ? "board" : "game") + " ID is not the appropriate length")); return; } else { if (bid == "1e113c7239048b3f"){ if (leaderboard){ trace("WARNING: Using testing board ID"); } else { trace("WARNING: Using testing board ID as game ID"); }; return; } else { if (bid == "84993a1de4031cd8"){ if (leaderboard){ trace("WARNING: Using testing game ID as board ID"); } else { trace("WARNING: Using testing game ID"); }; return; }; }; }; i = 0; while (i < bid.length) { switch (bid.charAt(i)){ 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": break; default: trace(("WARNING: Board ID contains illegal characters: " + bid)); return; }; i++; }; } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); _mochiLocalConnection.close(); //unresolved jump var _slot1 = error; }; if (_timer != null){ _timer.stop(); //unresolved jump var _slot1 = error; }; } public static function allowDomains(server:String):String{ var hostname:String; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; if (server.indexOf("http://") != -1){ hostname = server.split("/")[2].split(":")[0]; if (Security.sandboxType != "application"){ Security.allowDomain(hostname); Security.allowInsecureDomain(hostname); }; }; return (hostname); } public static function getVersion():String{ return ("3.7 as3"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); } private static function flush(error:Boolean):void{ var request:Object; var callback:Object; if (((_clip) && (_clip._queue))){ while (_clip._queue.length > 0) { request = _clip._queue.shift(); callback = null; if (request != null){ if (request.callbackID != null){ callback = _clip._callbacks[request.callbackID]; }; delete _clip._callbacks[request.callbackID]; if (((error) && (!((callback == null))))){ handleError(request.args, callback.callbackObject, callback.callbackMethod); }; }; }; }; } public static function get id():String{ return (_id); } private static function onEvent(pkg:Object):void{ var target:String; var event:String; target = pkg.target; event = pkg.event; switch (target){ case "events": MochiEvents.triggerEvent(pkg.event, pkg.args); break; case "coins": MochiCoins.triggerEvent(pkg.event, pkg.args); break; case "sync": servicesSync.triggerEvent(pkg.event, pkg.args); break; }; } private static function urlOptions(clip:Object):Object{ var opts:Object; var options:String; var pairs:Array; var i:Number; var kv:Array; opts = {}; if (clip.stage){ options = clip.stage.loaderInfo.parameters.mochiad_options; } else { options = clip.loaderInfo.parameters.mochiad_options; }; if (options){ pairs = options.split("&"); i = 0; while (i < pairs.length) { kv = pairs[i].split("="); opts[unescape(kv[0])] = unescape(kv[1]); i++; }; }; return (opts); } public static function setContainer(container:Object=null, doAdd:Boolean=true):void{ if (container != null){ if ((container is Sprite)){ _container = container; }; }; if (doAdd){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function handleError(args:Object, callbackObject:Object, callbackMethod:Object):void{ var args = args; var callbackObject = callbackObject; var callbackMethod = 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))) && ((callbackMethod is String)))){ var _local5 = callbackObject; _local5[callbackMethod](args); //unresolved jump var _slot1 = error; } else { if (callbackMethod != null){ callbackMethod.apply(args); //unresolved jump var _slot1 = error; }; }; }; } private static function loadError(ev:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); } private static function initComChannels():void{ if (!_connected){ trace("[SERVICES_API] connected!"); _connecting = false; _connected = true; _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _clip.onReceive = onReceive; _clip.onEvent = onEvent; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; while (_clip._queue.length > 0) { _mochiLocalConnection.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function loadLCBridge(clip:Object):void{ var loader:Loader; var mochiLCURL:String; var req:URLRequest; var complete:Function; var clip = clip; loader = new Loader(); mochiLCURL = (_servURL + _mochiLC); req = new URLRequest(mochiLCURL); complete = function (ev:Object):void{ _mochiLocalConnection = MovieClip(loader.content); listen(); }; loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); loader.load(req); clip.addChild(loader); } private static function listen():void{ _mochiLocalConnection.connect(_listenChannelName); _clip.handshake = function (args:Object):void{ MochiServices.comChannelName = args.newChannel; }; trace("Waiting for MochiAds services to connect..."); } public static function get clip():Object{ return (_container); } public static function set comChannelName(val:String):void{ if (val != null){ if (val.length > 3){ _sendChannelName = (val + "_fromgame"); initComChannels(); }; }; } private static function loadCommunicator(id:String, clip:Object):MovieClip{ var clipname:String; var servicesURL:String; var req:URLRequest; var vars:URLVariables; clipname = ("_mochiservices_com_" + id); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(clip).servURL){ _servURL = urlOptions(clip).servURL; }; servicesURL = (_servURL + _services); if (urlOptions(clip).servicesURL){ servicesURL = urlOptions(clip).servicesURL; }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999)))); MochiServices.allowDomains(servicesURL); _clip = createEmptyMovieClip(clip, clipname, 10336, false); loadLCBridge(_clip); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); req = new URLRequest(servicesURL); vars = new URLVariables(); vars.listenLC = _listenChannelName; vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options; vars.api_version = getVersion(); if (widget){ vars.widget = true; }; req.data = vars; _loader.load(req); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _clip._nextcallbackID = 0; _clip._callbacks = {}; _timer = new Timer(10000, 1); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); return (_clip); } public static function connect(id:String, clip:Object, onError:Object=null):void{ var id = id; var clip = clip; var onError = onError; warnID(id, false); if ((clip is DisplayObject)){ if (clip.stage == null){ trace("MochiServices connect requires the containing clip be attached to the stage"); }; if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (errorCode:String):void{ trace(errorCode); }; }; }; } public static function createEmptyMovieClip(parent:Object, name:String, depth:Number, doAdd:Boolean=true):MovieClip{ var mc:MovieClip; var parent = parent; var name = name; var depth = depth; var doAdd = doAdd; mc = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; parent[name] = mc; //unresolved jump var _slot1 = e; throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); mc["_name"] = name; return (mc); } public static function bringToTop(e:Event=null):void{ var e = e; if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){ if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; //unresolved jump var _slot1 = errorObject; trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; } public static function connectWait(e:TimerEvent):void{ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load. (timeout)"); MochiServices.disconnect(); MochiServices.onError("IOError"); }; } } }//package mochi.as3
Section 50
//MochiSocial (mochi.as3.MochiSocial) package mochi.as3 { public class MochiSocial { public static const LOGGED_IN:String = "LoggedIn"; public static const PROFILE_HIDE:String = "ProfileHide"; public static const NO_USER:String = "NoUser"; public static const PROPERTIES_SIZE:String = "PropertiesSize"; public static const IO_ERROR:String = "IOError"; public static const PROPERTIES_SAVED:String = "PropertySaved"; public static const WIDGET_LOADED:String = "WidgetLoaded"; public static const USER_INFO:String = "UserInfo"; public static const ERROR:String = "Error"; public static const LOGIN_SHOW:String = "LoginShow"; public static const LOGGED_OUT:String = "LoggedOut"; public static const PROFILE_SHOW:String = "ProfileShow"; public static const LOGIN_SHOWN:String = "LoginShown"; public static const LOGIN_HIDE:String = "LoginHide"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public static var _user_info:Object = null; public function MochiSocial(){ super(); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function saveUserProperties(properties:Object):void{ MochiServices.send("coins_saveUserProperties", properties); } public static function get loggedIn():Boolean{ return (!((_user_info == null))); } public static function triggerEvent(eventType:String, args:Object):void{ _dispatcher.triggerEvent(eventType, args); } public static function addEventListener(eventType:String, delegate:Function):void{ _dispatcher.addEventListener(eventType, delegate); } public static function getUserInfo():void{ MochiServices.send("coins_getUserInfo"); } public static function showLoginWidget(options:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showLoginWidget", {options:options}); } public static function removeEventListener(eventType:String, delegate:Function):void{ _dispatcher.removeEventListener(eventType, delegate); } public static function requestLogin():void{ MochiServices.send("coins_requestLogin"); } public static function getAPIURL():String{ if (!_user_info){ return (null); }; return (_user_info.api_url); } public static function hideLoginWidget():void{ MochiServices.send("coins_hideLoginWidget"); } public static function getAPIToken():String{ if (!_user_info){ return (null); }; return (_user_info.api_token); } MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (args:Object):void{ _user_info = args; }); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (args:Object):void{ _user_info = null; }); } }//package mochi.as3
Section 51
//MochiSync (mochi.as3.MochiSync) package mochi.as3 { import flash.utils.*; public dynamic class MochiSync extends Proxy { private var _syncContainer:Object; public static var SYNC_PROPERTY:String = "UpdateProperty"; public static var SYNC_REQUEST:String = "SyncRequest"; public function MochiSync():void{ super(); _syncContainer = {}; } public function triggerEvent(eventType:String, args:Object):void{ switch (eventType){ case SYNC_REQUEST: MochiServices.send("sync_syncronize", _syncContainer); break; case SYNC_PROPERTY: _syncContainer[args.name] = args.value; break; }; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(name){ return (_syncContainer[name]); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(name, value):void{ var n:String; if (_syncContainer[name] == value){ return; }; n = name.toString(); _syncContainer[n] = value; MochiServices.send("sync_propUpdate", {name:n, value:value}); } } }//package mochi.as3
Section 52
//MochiUserData (mochi.as3.MochiUserData) package mochi.as3 { import flash.events.*; import flash.utils.*; import flash.net.*; public class MochiUserData extends EventDispatcher { public var callback:Function;// = null public var error:Event;// = null public var key:String;// = null public var operation:String;// = null public var data;// = null public var _loader:URLLoader; public function MochiUserData(key:String="", callback:Function=null){ key = null; data = null; error = null; operation = null; callback = null; super(); this.key = key; this.callback = callback; } public function securityErrorHandler(event:SecurityErrorEvent):void{ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + event.toString()))); } public function putEvent(obj):void{ request("put", serialize(obj)); } public function request(_operation:String, _data:ByteArray):void{ var api_url:String; var api_token:String; var args:URLVariables; var req:URLRequest; var _operation = _operation; var _data = _data; operation = _operation; api_url = MochiSocial.getAPIURL(); api_token = MochiSocial.getAPIToken(); if ((((api_url == null)) || ((api_token == null)))){ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in")); return; }; _loader = new URLLoader(); args = new URLVariables(); args.op = _operation; args.key = key; req = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString())); req.method = URLRequestMethod.POST; req.contentType = "application/x-mochi-userdata"; req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)]; req.data = _data; _loader.dataFormat = URLLoaderDataFormat.BINARY; _loader.addEventListener(Event.COMPLETE, completeHandler); _loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); _loader.load(req); //unresolved jump var _slot1 = e; errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _slot1.toString()))); } public function performCallback():void{ callback(this); //unresolved jump var _slot1 = e; trace(("[MochiUserData] exception during callback: " + _slot1)); } public function serialize(obj):ByteArray{ var arr:ByteArray; arr = new ByteArray(); arr.objectEncoding = ObjectEncoding.AMF3; arr.writeObject(obj); arr.compress(); return (arr); } public function errorHandler(event:IOErrorEvent):void{ data = null; error = event; if (callback != null){ performCallback(); } else { dispatchEvent(event); }; close(); } public function completeHandler(event:Event):void{ var event = event; if (_loader.data.length){ data = deserialize(_loader.data); } else { data = null; }; //unresolved jump var _slot1 = e; errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + _slot1.toString()))); return; if (callback != null){ performCallback(); } else { dispatchEvent(event); }; close(); } public function getEvent():void{ request("get", serialize(null)); } override public function toString():String{ return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]")); } public function close():void{ if (_loader){ _loader.removeEventListener(Event.COMPLETE, completeHandler); _loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); _loader.close(); _loader = null; }; error = null; callback = null; } public function deserialize(arr:ByteArray){ arr.objectEncoding = ObjectEncoding.AMF3; arr.uncompress(); return (arr.readObject()); } public static function get(key:String, callback:Function):void{ var userData:MochiUserData; userData = new MochiUserData(key, callback); userData.getEvent(); } public static function put(key:String, obj, callback:Function):void{ var userData:MochiUserData; userData = new MochiUserData(key, callback); userData.putEvent(obj); } } }//package mochi.as3
Section 53
//Submitter (Spill.Components.Submitter) package Spill.Components { import flash.display.*; public dynamic class Submitter extends MovieClip { public var OO00OO1l1l:OOO000lll; public function Submitter(){ super(); } } }//package Spill.Components
Section 54
//O1OOO0O00 (Util.O1OOO0O00) package Util { import flash.net.*; import flash.external.*; public class O1OOO0O00 { private static const _O1lO0Oll1:Array = ["www.a10.com.gp.dev.spilgames.eu", "stg.pl.a10.com", "gamedev.dev.spilgames.com", "www.agame.com", "www.girlsgogames.com", "www.games.co.uk", "www.mygames.co.uk", "www.girlsgogames.co.uk", "www.spel.nl", "www.spelletjes.nl", "www.girlsgogames.nl", "www.jetztspielen.de", "www.spielen.com", "www.girlsgogames.de", "www.jeux.fr", "www.jeu.fr", "www.girlsgogames.fr", "www.juegos.com", "www.zapjuegos.com", "www.juegosdechicas.com", "www.gioco.it", "www.giocaregratis.it", "www.girlsgogames.it", "www.gry.pl", "www.minigry.pl", "www.girlsgogames.pl", "www.spela.se", "www.spel.eu", "www.girlsgogames.se", "www.ojogos.pt", "www.ourgames.ru", "www.flashgames.ru", "www.girlsgogames.ru", "www.oyunlar123.com", "www.asoyun.com", "www.girlsgogamestr.com", "www.gamesgames.com", "www.agame.com", "www.girlsgogames.com", "www.juegos.com", "www.zapjuegos.com", "www.juegosdechicas.com", "www.ojogos.com.br", "www.clickjogos.com", "www.girlsgogames.com.br", "www.game.com.cn", "www.xiaoyouxi.com", "www.egames.jp", "www.game.co.in", "www.game.co.in", "www.girlsgogames.in", "www.games.co.id", "www.laro.com.ph", "www.game.com.my", "www.onrpg.com", "www.zlonggames.com", "www.a10.com", "localhost"]; private static var _OOl10ll1l:URLRequest; private static var _O0Oll0l00; public function O1OOO0O00():void{ super(); try { _O0Oll0l00 = ExternalInterface.call("window.location.href.toString"); } catch(e) { _O0Oll0l00 = "error"; }; if ((((_O0Oll0l00 == null)) || ((_O0Oll0l00 == "")))){ _O0Oll0l00 = "error"; }; if (String(_O0Oll0l00).indexOf(".swf") != -1){ _O0Oll0l00 = "error"; }; } public function O0111l110():Boolean{ if (((!((_O001llOll(_O11ll1l00(_O0Oll0l00)) == -1))) && (!((_O0Oll0l00 == "error"))))){ return (true); }; return (false); } private static function _O11ll1l00(_arg1:String):String{ var _local2:String = new String(); var _local3:uint = 7; while (_local3 < _arg1.length) { if (_arg1.charAt(_local3) == "/"){ break; }; _local2 = (_local2 + _arg1.charAt(_local3)); _local3++; }; return (_local2); } private static function _O001llOll(_arg1:String):Number{ var _local2:uint; if (((_O1lO0Oll1) && (_arg1))){ _local2 = 0; while (_local2 < _O1lO0Oll1.length) { if (_arg1 == _O1lO0Oll1[_local2]){ return (_local2); }; _local2++; }; return (-1); } else { trace("cannot find site name"); }; return (-1); } } }//package Util
Section 55
//bar_0 (bar_0) package { import flash.display.*; public dynamic class bar_0 extends BitmapData { public function bar_0(w:Number, h:Number){ super(w, h); } } }//package
Section 56
//bar_1 (bar_1) package { import flash.display.*; public dynamic class bar_1 extends BitmapData { public function bar_1(w:Number, h:Number){ super(w, h); } } }//package
Section 57
//bar_2 (bar_2) package { import flash.display.*; public dynamic class bar_2 extends BitmapData { public function bar_2(w:Number, h:Number){ super(w, h); } } }//package
Section 58
//bat (bat) package { import flash.display.*; public dynamic class bat extends BitmapData { public function bat(w:Number, h:Number){ super(w, h); } } }//package
Section 59
//bat_died (bat_died) package { import flash.display.*; public dynamic class bat_died extends BitmapData { public function bat_died(w:Number, h:Number){ super(w, h); } } }//package
Section 60
//blip (blip) package { import flash.media.*; public dynamic class blip extends Sound { public function blip(){ super(); } } }//package
Section 61
//boulder (boulder) package { import flash.display.*; public dynamic class boulder extends BitmapData { public function boulder(w:Number, h:Number){ super(w, h); } } }//package
Section 62
//boulder_blood (boulder_blood) package { import flash.display.*; public dynamic class boulder_blood extends BitmapData { public function boulder_blood(w:Number, h:Number){ super(w, h); } } }//package
Section 63
//boulder_slime (boulder_slime) package { import flash.display.*; public dynamic class boulder_slime extends BitmapData { public function boulder_slime(w:Number, h:Number){ super(w, h); } } }//package
Section 64
//cemetery (cemetery) package { import flash.display.*; public dynamic class cemetery extends BitmapData { public function cemetery(w:Number, h:Number){ super(w, h); } } }//package
Section 65
//coin (coin) package { import flash.display.*; public dynamic class coin extends BitmapData { public function coin(w:Number, h:Number){ super(w, h); } } }//package
Section 66
//coin_small (coin_small) package { import flash.display.*; public dynamic class coin_small extends BitmapData { public function coin_small(w:Number, h:Number){ super(w, h); } } }//package
Section 67
//congratulations (congratulations) package { import flash.display.*; public dynamic class congratulations extends BitmapData { public function congratulations(w:Number, h:Number){ super(w, h); } } }//package
Section 68
//crush_sound (crush_sound) package { import flash.media.*; public dynamic class crush_sound extends Sound { public function crush_sound(){ super(); } } }//package
Section 69
//devil (devil) package { import flash.display.*; public dynamic class devil extends BitmapData { public function devil(w:Number, h:Number){ super(w, h); } } }//package
Section 70
//dust_0 (dust_0) package { import flash.display.*; public dynamic class dust_0 extends BitmapData { public function dust_0(w:Number, h:Number){ super(w, h); } } }//package
Section 71
//dust_1 (dust_1) package { import flash.display.*; public dynamic class dust_1 extends BitmapData { public function dust_1(w:Number, h:Number){ super(w, h); } } }//package
Section 72
//dust_2 (dust_2) package { import flash.display.*; public dynamic class dust_2 extends BitmapData { public function dust_2(w:Number, h:Number){ super(w, h); } } }//package
Section 73
//dust_3 (dust_3) package { import flash.display.*; public dynamic class dust_3 extends BitmapData { public function dust_3(w:Number, h:Number){ super(w, h); } } }//package
Section 74
//dust_4 (dust_4) package { import flash.display.*; public dynamic class dust_4 extends BitmapData { public function dust_4(w:Number, h:Number){ super(w, h); } } }//package
Section 75
//eternal (eternal) package { import flash.media.*; public dynamic class eternal extends Sound { public function eternal(){ super(); } } }//package
Section 76
//first_aid (first_aid) package { import flash.display.*; public dynamic class first_aid extends BitmapData { public function first_aid(w:Number, h:Number){ super(w, h); } } }//package
Section 77
//flame (flame) package { import flash.display.*; public dynamic class flame extends BitmapData { public function flame(w:Number, h:Number){ super(w, h); } } }//package
Section 78
//flame_snuff (flame_snuff) package { import flash.display.*; public dynamic class flame_snuff extends BitmapData { public function flame_snuff(w:Number, h:Number){ super(w, h); } } }//package
Section 79
//frame_top (frame_top) package { import flash.display.*; public dynamic class frame_top extends BitmapData { public function frame_top(w:Number, h:Number){ super(w, h); } } }//package
Section 80
//gal_angel (gal_angel) package { import flash.display.*; public dynamic class gal_angel extends BitmapData { public function gal_angel(w:Number, h:Number){ super(w, h); } } }//package
Section 81
//gal_float (gal_float) package { import flash.display.*; public dynamic class gal_float extends BitmapData { public function gal_float(w:Number, h:Number){ super(w, h); } } }//package
Section 82
//gal_idle (gal_idle) package { import flash.display.*; public dynamic class gal_idle extends BitmapData { public function gal_idle(w:Number, h:Number){ super(w, h); } } }//package
Section 83
//gal_jump (gal_jump) package { import flash.display.*; public dynamic class gal_jump extends BitmapData { public function gal_jump(w:Number, h:Number){ super(w, h); } } }//package
Section 84
//gal_jump_diagonal (gal_jump_diagonal) package { import flash.display.*; public dynamic class gal_jump_diagonal extends BitmapData { public function gal_jump_diagonal(w:Number, h:Number){ super(w, h); } } }//package
Section 85
//gal_pick_front (gal_pick_front) package { import flash.display.*; public dynamic class gal_pick_front extends BitmapData { public function gal_pick_front(w:Number, h:Number){ super(w, h); } } }//package
Section 86
//gal_pick_side (gal_pick_side) package { import flash.display.*; public dynamic class gal_pick_side extends BitmapData { public function gal_pick_side(w:Number, h:Number){ super(w, h); } } }//package
Section 87
//gal_push (gal_push) package { import flash.display.*; public dynamic class gal_push extends BitmapData { public function gal_push(w:Number, h:Number){ super(w, h); } } }//package
Section 88
//gal_resurrect (gal_resurrect) package { import flash.display.*; public dynamic class gal_resurrect extends BitmapData { public function gal_resurrect(w:Number, h:Number){ super(w, h); } } }//package
Section 89
//gal_swimming (gal_swimming) package { import flash.display.*; public dynamic class gal_swimming extends BitmapData { public function gal_swimming(w:Number, h:Number){ super(w, h); } } }//package
Section 90
//gal_walking (gal_walking) package { import flash.display.*; public dynamic class gal_walking extends BitmapData { public function gal_walking(w:Number, h:Number){ super(w, h); } } }//package
Section 91
//game_over (game_over) package { import flash.display.*; public dynamic class game_over extends BitmapData { public function game_over(w:Number, h:Number){ super(w, h); } } }//package
Section 92
//heart (heart) package { import flash.display.*; public dynamic class heart extends BitmapData { public function heart(w:Number, h:Number){ super(w, h); } } }//package
Section 93
//heart_small (heart_small) package { import flash.display.*; public dynamic class heart_small extends BitmapData { public function heart_small(w:Number, h:Number){ super(w, h); } } }//package
Section 94
//hell_0 (hell_0) package { import flash.display.*; public dynamic class hell_0 extends BitmapData { public function hell_0(w:Number, h:Number){ super(w, h); } } }//package
Section 95
//hell_1 (hell_1) package { import flash.display.*; public dynamic class hell_1 extends BitmapData { public function hell_1(w:Number, h:Number){ super(w, h); } } }//package
Section 96
//hell_2 (hell_2) package { import flash.display.*; public dynamic class hell_2 extends BitmapData { public function hell_2(w:Number, h:Number){ super(w, h); } } }//package
Section 97
//hell_3 (hell_3) package { import flash.display.*; public dynamic class hell_3 extends BitmapData { public function hell_3(w:Number, h:Number){ super(w, h); } } }//package
Section 98
//hell_4 (hell_4) package { import flash.display.*; public dynamic class hell_4 extends BitmapData { public function hell_4(w:Number, h:Number){ super(w, h); } } }//package
Section 99
//hell_inside_0 (hell_inside_0) package { import flash.display.*; public dynamic class hell_inside_0 extends BitmapData { public function hell_inside_0(w:Number, h:Number){ super(w, h); } } }//package
Section 100
//hell_inside_1 (hell_inside_1) package { import flash.display.*; public dynamic class hell_inside_1 extends BitmapData { public function hell_inside_1(w:Number, h:Number){ super(w, h); } } }//package
Section 101
//hell_inside_2 (hell_inside_2) package { import flash.display.*; public dynamic class hell_inside_2 extends BitmapData { public function hell_inside_2(w:Number, h:Number){ super(w, h); } } }//package
Section 102
//hell_inside_3 (hell_inside_3) package { import flash.display.*; public dynamic class hell_inside_3 extends BitmapData { public function hell_inside_3(w:Number, h:Number){ super(w, h); } } }//package
Section 103
//hint_1 (hint_1) package { import flash.display.*; public dynamic class hint_1 extends BitmapData { public function hint_1(w:Number, h:Number){ super(w, h); } } }//package
Section 104
//hint_2 (hint_2) package { import flash.display.*; public dynamic class hint_2 extends BitmapData { public function hint_2(w:Number, h:Number){ super(w, h); } } }//package
Section 105
//hint_3 (hint_3) package { import flash.display.*; public dynamic class hint_3 extends BitmapData { public function hint_3(w:Number, h:Number){ super(w, h); } } }//package
Section 106
//hint_4 (hint_4) package { import flash.display.*; public dynamic class hint_4 extends BitmapData { public function hint_4(w:Number, h:Number){ super(w, h); } } }//package
Section 107
//hint_5 (hint_5) package { import flash.display.*; public dynamic class hint_5 extends BitmapData { public function hint_5(w:Number, h:Number){ super(w, h); } } }//package
Section 108
//hit_sound (hit_sound) package { import flash.media.*; public dynamic class hit_sound extends Sound { public function hit_sound(){ super(); } } }//package
Section 109
//info_air (info_air) package { import flash.display.*; public dynamic class info_air extends BitmapData { public function info_air(w:Number, h:Number){ super(w, h); } } }//package
Section 110
//info_coins (info_coins) package { import flash.display.*; public dynamic class info_coins extends BitmapData { public function info_coins(w:Number, h:Number){ super(w, h); } } }//package
Section 111
//info_hungry (info_hungry) package { import flash.display.*; public dynamic class info_hungry extends BitmapData { public function info_hungry(w:Number, h:Number){ super(w, h); } } }//package
Section 112
//info_hurt (info_hurt) package { import flash.display.*; public dynamic class info_hurt extends BitmapData { public function info_hurt(w:Number, h:Number){ super(w, h); } } }//package
Section 113
//info_more_coins (info_more_coins) package { import flash.display.*; public dynamic class info_more_coins extends BitmapData { public function info_more_coins(w:Number, h:Number){ super(w, h); } } }//package
Section 114
//language (language) package { import flash.net.*; public class language { public static var localConnection = new LocalConnection(); public static var _languageNum:uint = 0; public static var _languageBox:Array = new Array(); public static var SpillGroupUrl:Array = new Array(); public static var gamename = "go_to_hell"; public function language(){ super(); } public static function get url2():String{ var i:int; i = 0; while (i < SpillGroupUrl.length) { if (localConnection.domain == SpillGroupUrl[i]){ return (_languageBox[_languageNum].url2); }; i++; }; return (_languageBox[_languageNum].url2); } public static function get language_nr():String{ return (_languageBox[_languageNum].language_nr); } public static function get portal():String{ return (_languageBox[_languageNum].portal); } public static function set Language(languageVersion:Object):void{ var returnDomain:Function; var hostingdomain:String; var myList:String; var myArray:Array; var language1:*; var domainextention:int; var domainname:int; var languageVersion = languageVersion; returnDomain = function (w:String):String{ var domain:String; var j:uint; domain = new String(); j = 7; while (j < w.length) { if (w.charAt(j) == "/"){ break; }; domain = (domain + w.charAt(j)); j++; }; return (domain); }; hostingdomain = ""; myList = localConnection.domain; myArray = myList.split("."); if (myArray.length <= 3){ domainextention = (myArray.length - 1); domainname = (myArray.length - 2); hostingdomain = ((myArray[domainname] + ".") + myArray[domainextention]); } else { hostingdomain = localConnection.domain; }; if (hostingdomain == "undefined.localhost"){ hostingdomain = "offline_play"; }; language1 = new languageItem(); language1.url1 = ((("http://www.a10.com/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain); language1.url2 = ((("http://www.a10.com/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain); language1.language_nr = 1; language1.branding_nr = 45; language1.portal = "teen"; _languageBox.push(language1); SpillGroupUrl.push("localhost"); SpillGroupUrl.push("www8.agame.com"); SpillGroupUrl.push("gamedev.dev.spilgames.com"); if ((((((languageVersion is Number)) || ((languageVersion is uint)))) || ((languageVersion is int)))){ _languageNum = (Number(languageVersion) - 1); }; } public static function get url1():String{ var i:int; i = 0; while (i < SpillGroupUrl.length) { if (localConnection.domain == SpillGroupUrl[i]){ return (_languageBox[_languageNum].url2); }; i++; }; return (_languageBox[_languageNum].url1); } public static function get branding_nr():String{ return (_languageBox[_languageNum].branding_nr); } } var _local1:* = (language.Language = 1); return (_local1); }//package class languageItem { public var url1:String; public var url2:String; public var branding_nr:int; public var language_nr:int; public var portal:String; private function languageItem(){ super(); } }
Section 115
//lava (lava) package { import flash.display.*; public dynamic class lava extends BitmapData { public function lava(w:Number, h:Number){ super(w, h); } } }//package
Section 116
//lava_ref_0 (lava_ref_0) package { import flash.display.*; public dynamic class lava_ref_0 extends BitmapData { public function lava_ref_0(w:Number, h:Number){ super(w, h); } } }//package
Section 117
//lava_ref_1 (lava_ref_1) package { import flash.display.*; public dynamic class lava_ref_1 extends BitmapData { public function lava_ref_1(w:Number, h:Number){ super(w, h); } } }//package
Section 118
//lava_ref_2 (lava_ref_2) package { import flash.display.*; public dynamic class lava_ref_2 extends BitmapData { public function lava_ref_2(w:Number, h:Number){ super(w, h); } } }//package
Section 119
//lava_ref_3 (lava_ref_3) package { import flash.display.*; public dynamic class lava_ref_3 extends BitmapData { public function lava_ref_3(w:Number, h:Number){ super(w, h); } } }//package
Section 120
//lava_ref_4 (lava_ref_4) package { import flash.display.*; public dynamic class lava_ref_4 extends BitmapData { public function lava_ref_4(w:Number, h:Number){ super(w, h); } } }//package
Section 121
//life_lost (life_lost) package { import flash.media.*; public dynamic class life_lost extends Sound { public function life_lost(){ super(); } } }//package
Section 122
//logo_anim (logo_anim) package { import flash.display.*; public dynamic class logo_anim extends BitmapData { public function logo_anim(w:Number, h:Number){ super(w, h); } } }//package
Section 123
//meat (meat) package { import flash.display.*; public dynamic class meat extends BitmapData { public function meat(w:Number, h:Number){ super(w, h); } } }//package
Section 124
//meat_small (meat_small) package { import flash.display.*; public dynamic class meat_small extends BitmapData { public function meat_small(w:Number, h:Number){ super(w, h); } } }//package
Section 125
//metr (metr) package { import flash.display.*; public dynamic class metr extends BitmapData { public function metr(w:Number, h:Number){ super(w, h); } } }//package
Section 126
//MSAError (MSAError) package { import flash.text.*; import flash.display.*; import flash.events.*; public final class MSAError extends MovieClip { private var container:MovieClip; public var caption:TextField; public function MSAError(container:MovieClip, cpt:String){ var format:TextFormat; super(); this.container = container; container.addChild(this); format = new TextFormat(); format.color = 0xFF0000; caption.defaultTextFormat = format; caption.text = cpt; container.stop(); Tools.addEvent(this, Event.ENTER_FRAME, enterFrame); } private function enterFrame(e:Event){ container.setChildIndex(this, (container.numChildren - 1)); } } }//package
Section 127
//MSAppAndkon (MSAppAndkon) package { import flash.display.*; import flash.events.*; import go_to_hell.*; import mochi.as3.*; import flash.utils.*; import flash.net.*; public dynamic final class MSAppAndkon extends MovieClip { var check_loader:URLLoader; public var __setPropDict:Dictionary; var check_request:URLRequest; public var __id0_:HotSpotURL; public var tv_frame:MovieClip; public var __id1_:HotSpotURL; public var gauge:MovieClip; public function MSAppAndkon(){ var variables:URLVariables; this.__setPropDict = new Dictionary(true); this.check_request = new URLRequest("http://www.metasauce.com/soft_check.php"); this.check_loader = new URLLoader(); super(); addFrameScript(0, this.frame1, 1, this.frame2, 3, this.frame4); this.check_loader.addEventListener(Event.COMPLETE, this.checkSuccessful); this.check_loader.addEventListener(IOErrorEvent.IO_ERROR, this.checkError); this.check_loader.dataFormat = URLLoaderDataFormat.TEXT; this.check_request.method = URLRequestMethod.POST; variables = new URLVariables(); variables.site = "go_to_hell_tastyplay"; this.check_request.data = variables; this.check_loader.load(this.check_request); MochiServices.connect("9da3436693bce7b2", root); } function locked():Boolean{ var sites:*; var ok:Boolean; var i:*; sites = new Array(); sites.push("metasauce.com"); sites.push("andkon.com"); ok = false; i = 0; while (i < sites.length) { if (this.root.loaderInfo.url.indexOf(sites[i]) != -1){ ok = true; }; i++; }; return (!(ok)); } function frame1(){ if ((((this.__setPropDict[this.__id0_] == undefined)) || (!((int(this.__setPropDict[this.__id0_]) == 1))))){ this.__setPropDict[this.__id0_] = currentFrame; this.__setProp___id0__Scena1_Warstwa6_1(); }; if ((((this.__setPropDict[this.__id1_] == undefined)) || (!((int(this.__setPropDict[this.__id1_]) == 1))))){ this.__setPropDict[this.__id1_] = currentFrame; this.__setProp___id1__Scena1_Warstwa6_1(); }; stop(); this.stop(); Tools.addEvent(this, Event.ENTER_FRAME, this.enterFrame); } public function enterFrame(_arg1:Event){ var pcent:Number; pcent = ((root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal) * 100); if (this.gauge.currentFrame >= pcent){ this.gauge.stop(); } else { this.gauge.play(); }; this.gauge.alpha = (this.gauge.currentFrame / 100); if ((((this.gauge.currentFrame == 100)) && ((pcent == 100)))){ this.removeEventListener(Event.ENTER_FRAME, this.enterFrame); this.gotoAndStop("game"); }; } function frame4(){ this.tv_frame.mouseEnabled = false; stop(); } function __setProp___id0__Scena1_Warstwa6_1(){ try { this.__id0_["componentInspectorSetting"] = true; } catch(e:Error) { }; this.__id0_.url = "http://www.metasauce.com"; try { this.__id0_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame2(){ gotoAndStop("game"); } private function checkSuccessful(_arg1:Event):void{ var loader:URLLoader; loader = URLLoader(_arg1.target); if (loader.data == "locked"){ MSAError(this, "The game is locked, please contact info@metasauce.com."); }; } function __setProp___id1__Scena1_Warstwa6_1(){ try { this.__id1_["componentInspectorSetting"] = true; } catch(e:Error) { }; this.__id1_.url = "http://www.andkon.com/arcade/"; try { this.__id1_["componentInspectorSetting"] = false; } catch(e:Error) { }; } private function checkError(_arg1:IOErrorEvent):void{ } } }//package
Section 128
//OOO000lll (OOO000lll) package { import flash.display.*; import flash.events.*; import Util.*; import flash.net.*; import flash.system.*; public class OOO000lll extends MovieClip { public var O1OlOO00O:XML; private var _O10OOO1O0:Loader; private var _O1l10l101:Object; private var _OO0l101l1:Object; public var OOO10O100:String; public var O0l00l0O0:XML; private var _OOl10010l:String; private var _O001OO010:Object; private var _O01OO1O00; private var _O01O0lOl0:int; private var _O1Ol011l1:String; private var _O11OO0110:String; private var _OOO00l00l:int; private var _O0lO0100O:String; private var _OOOOll01l:Array; private var _O111O01OO:Object; private var _OO10001Ol:Boolean; private var _OO1l1OO10:String; public var O1lll0ll0:XML; private var _O1OO1OllO:Object; private var _O0l0OO01O; private var _OO0l1lOO1:int; public var OOOll0OO0:int; public function OOO000lll():void{ var _O1OlO10O0:*; super(); Security.allowDomain("*"); _OO10001Ol = false; _O01OO1O00 = this.parent; _O01OO1O00.stop(); var _OOll00l11:int; while (true) { try { _O1OlO10O0 = _O01OO1O00.getChildAt(_OOll00l11); if ((_O1OlO10O0 is MovieClip)){ _O1OlO10O0.visible = false; } else { _O01OO1O00.removeChild(_O1OlO10O0); }; _OOll00l11 = (_OOll00l11 + 1); } catch(e:Error) { break; }; }; try { _O01OO1O00["_O0000Ol01"] = _O0000Ol01; _O01OO1O00["_O0Olll0lO"] = _O0Olll0lO; } catch(e:Error) { }; } private function _O11lll1OO0(_arg1:String):void{ if (_O0l0OO01O){ _O0l0OO01O.OO0011ll1O(_arg1); }; } private function _OO0OO1OO0(_arg1:Event):void{ if ((((((_arg1.type == "ScoreLoadSubmitComplete")) || ((_arg1.type == "ScoreLoadListComplete")))) || ((_arg1.type == "ScoreLoadUserListComplete")))){ O0l00l0O0 = _O0l0OO01O.O011Oll0O(); } else { if (_arg1.type == "ScoreLoadTimeComplete"){ O1lll0ll0 = _O0l0OO01O.OO011OOl1(); } else { O0l00l0O0 = _O0l0OO01O.O0001O0Ol(); }; }; _O01OO1O00.dispatchEvent(_arg1); } private function _O10Ol0l10(_arg1:IOErrorEvent):void{ removeEventListener(Event.ENTER_FRAME, _O0OlOOO1O); _O01OO1O00.dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR)); } private function _O01Ol1O1O():void{ if (_O0l0OO01O){ _O0l0OO01O.OO011OOl1(); }; } private function _O110l10ll():void{ if (_O0l0OO01O){ _O0l0OO01O.O01l01OlO(); }; } private function _O01O1101l():void{ stop(); _O10OOO1O0 = new Loader(); _O10OOO1O0.load(new URLRequest(_O1Ol011l1)); _O01OO1O00.addChildAt(_O10OOO1O0, 0); this.addEventListener(Event.ENTER_FRAME, _O0OlOOO1O); _O10OOO1O0.contentLoaderInfo.addEventListener(Event.COMPLETE, _O100O0Oll); _O10OOO1O0.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, _O10Ol0l10); } private function _O0000Ol01(_arg1=null, _arg2:String="default", _arg3="", _arg4:int=0, _arg5:String="normal", _arg6:String="", _arg7:int=0, _arg8:int=0, _arg9:int=1, _arg10:Boolean=false):void{ OOO10O100 = _arg5; OOOll0OO0 = _arg4; _O11OO0110 = _arg2; if (_arg3 == ""){ _OO1l1OO10 = _O11OO0110; } else { _OO1l1OO10 = _arg3; }; if (((!((_arg1 == null))) && (!((_arg1.loaderInfo == null))))){ _O1l10l101 = _arg1.loaderInfo.parameters["username"]; _O001OO010 = _arg1.loaderInfo.parameters["hash"]; _OO0l101l1 = _arg1.loaderInfo.parameters["id"]; _O1OO1OllO = _arg1.loaderInfo.parameters["s"]; _O111O01OO = _arg1.loaderInfo.parameters["c"]; _O1Ol011l1 = "http://www8.agame.com/games/flash/highscore/SubmitterV2.swf"; if (_O00O00010(_arg10)){ _O01O1101l(); } else { _O01OO1O00.dispatchEvent(new Event("LoadingFailed")); }; }; _OOl10010l = _arg6; _OO0l1lOO1 = _arg7; _O01O0lOl0 = _arg8; _OOO00l00l = _arg9; } private function _O0O1l0OO0():Boolean{ return (!((_O0l0OO01O == null))); } private function _O100O0Oll(_arg1:Event):void{ _O0l0OO01O = _arg1.currentTarget.content; _O0l0OO01O.O0011ll110O0(_O1OO1OllO, 1, _OO0l101l1, _O111O01OO, OOOll0OO0, _OOl10010l, _OO0l1lOO1, _O01O0lOl0, _OOO00l00l, _O1l10l101, _O001OO010); _O0l0OO01O.addEventListener("HyScorSubmitterLoaded", _OOl11lOOl); _O0l0OO01O.addEventListener("ScoreLoadError", _OO0OO1OO0); _O0l0OO01O.addEventListener("ScoreLoadTimeComplete", _OO0OO1OO0); _O0l0OO01O.addEventListener("ScoreLoadSubmitComplete", _OO0OO1OO0); _O0l0OO01O.addEventListener("ScoreLoadListComplete", _OO0OO1OO0); _O0l0OO01O.addEventListener("ScoreLoadUserListComplete", _OO0OO1OO0); _O0l0OO01O.addEventListener("AchievLoadError", _O0l0O1Oll); _O0l0OO01O.addEventListener("AchievLoadTimeComplete", _O0l0O1Oll); _O0l0OO01O.addEventListener("AchievLoadListComplete", _O0l0O1Oll); _O0l0OO01O.addEventListener("AchievLoadInfoComplete", _O0l0O1Oll); _O0l0OO01O.addEventListener("AchievLoadGrantComplete", _O0l0O1Oll); _O01OO1O00["_O0Olll0lO"] = _O0Olll0lO; _O01OO1O00["_O0O1l0OO0"] = _O0O1l0OO0; _O01OO1O00["_O01Ol1O1O"] = _O01Ol1O1O; _O01OO1O00["_O01lOO10O"] = _O01lOO10O; _O01OO1O00["_O110l10ll"] = _O110l10ll; _O01OO1O00["_O11lll1OO0"] = _O11lll1OO0; _O01OO1O00["_O00OOl1Ol"] = _O00OOl1Ol; _O01OO1O00["_O1OlO10OO"] = _O1OlO10OO; _O01OO1O00["_OOlOOOll1"] = _OOlOOOll1; _O01OO1O00["_O010ll111"] = _O010ll111; } private function _O00O00010(_arg1:Boolean=false):Boolean{ var _local4:String; var _local5:O1OOO0O00; var _local2:Boolean = _arg1; if (!_local2){ _OOOOll01l = ["www8.agame.com"]; } else { _OOOOll01l = ["localhost", "www8.agame.com", "www.zlonggames.com", "gamedev.dev.spilgames.com", "stg.pl.a10.com", "www.a10.com.gp.dev.spilgames.eu"]; }; var _local3:LocalConnection = new LocalConnection(); if (((isNaN((_OO0l101l1 as int))) || (isNaN((_O1OO1OllO as int))))){ return (false); }; for each (_local4 in _OOOOll01l) { if (_local3.domain == _local4){ _local5 = new O1OOO0O00(); if (_local5.O0111l110()){ _OO10001Ol = true; return (true); }; }; }; return (false); } private function _O00OOl1Ol(_arg1:String):void{ if (_O0l0OO01O){ _O0l0OO01O.OO00lO1l0(_arg1, _O1l10l101, _O001OO010); }; } private function _O0OlOOO1O(_arg1:Event):void{ var _local2 = (((_O10OOO1O0.contentLoaderInfo.bytesLoaded / _O10OOO1O0.contentLoaderInfo.bytesTotal) * 100) >> 0); if (_local2 >= 100){ removeEventListener(Event.ENTER_FRAME, _O0OlOOO1O); }; } private function _OOl11lOOl(_arg1:Event):void{ if (_O0l0OO01O){ _O0l0OO01O.removeEventListener("HyScorSubmitterLoaded", _OOl11lOOl); }; _O01OO1O00.dispatchEvent(new Event(Event.COMPLETE)); } private function _O01lOO10O(_arg1:int):void{ if (_O0l0OO01O){ _O0l0OO01O.O0l01llOl(_arg1, _O1l10l101, _O001OO010); }; } private function _O0Olll0lO():Boolean{ return (_O00O00010(false)); } private function _O1OlO10OO():void{ if (_O0l0OO01O){ _O0l0OO01O.O1l0OOl1l(_O1l10l101, _O001OO010); }; } private function _O10O00lO0():String{ if (_O0l0OO01O){ return (_O0l0OO01O.OOOO00ll0()); }; return (("FAILED " + _O0l0OO01O)); } private function _O0l0O1Oll(_arg1:Event):void{ if ((((((_arg1.type == "AchievLoadListComplete")) || ((_arg1.type == "AchievLoadInfoComplete")))) || ((_arg1.type == "AchievLoadGrantComplete")))){ O1OlOO00O = _O0l0OO01O.O11OO0l0l(); } else { O1OlOO00O = _O0l0OO01O.O0O100l0l(); }; _O01OO1O00.dispatchEvent(_arg1); } private function _O010ll111():void{ _O0l0OO01O.removeEventListener("ScoreLoadError", _OO0OO1OO0); _O0l0OO01O.removeEventListener("ScoreLoadTimeComplete", _OO0OO1OO0); _O0l0OO01O.removeEventListener("ScoreLoadSubmitComplete", _OO0OO1OO0); _O0l0OO01O.removeEventListener("ScoreLoadListComplete", _OO0OO1OO0); _O0l0OO01O.removeEventListener("ScoreLoadUserListComplete", _OO0OO1OO0); _O0l0OO01O.removeEventListener("AchievLoadError", _O0l0O1Oll); _O0l0OO01O.removeEventListener("AchievLoadTimeComplete", _O0l0O1Oll); _O0l0OO01O.removeEventListener("AchievLoadListComplete", _O0l0O1Oll); _O0l0OO01O.removeEventListener("AchievLoadInfoComplete", _O0l0O1Oll); _O0l0OO01O.removeEventListener("AchievLoadGrantComplete", _O0l0O1Oll); _O01OO1O00 = null; _OOOOll01l = null; _O0l0OO01O = null; _O1l10l101 = null; _O001OO010 = null; _O10OOO1O0 = null; O1lll0ll0 = null; O0l00l0O0 = null; O1OlOO00O = null; } private function _OOlOOOll1(_arg1:int):void{ if (_O0l0OO01O){ _O0l0OO01O.O1OlOO111(_arg1); }; } } }//package
Section 129
//ouch (ouch) package { import flash.media.*; public dynamic class ouch extends Sound { public function ouch(){ super(); } } }//package
Section 130
//oxygen (oxygen) package { import flash.display.*; public dynamic class oxygen extends BitmapData { public function oxygen(w:Number, h:Number){ super(w, h); } } }//package
Section 131
//pause (pause) package { import flash.display.*; public dynamic class pause extends BitmapData { public function pause(w:Number, h:Number){ super(w, h); } } }//package
Section 132
//pixel_font (pixel_font) package { import flash.text.*; public dynamic class pixel_font extends Font { public function pixel_font(){ super(); } } }//package
Section 133
//rave (rave) package { import flash.media.*; public dynamic class rave extends Sound { public function rave(){ super(); } } }//package
Section 134
//rave_far (rave_far) package { import flash.media.*; public dynamic class rave_far extends Sound { public function rave_far(){ super(); } } }//package
Section 135
//red_cross (red_cross) package { import flash.display.*; public dynamic class red_cross extends BitmapData { public function red_cross(w:Number, h:Number){ super(w, h); } } }//package
Section 136
//smash_sound (smash_sound) package { import flash.media.*; public dynamic class smash_sound extends Sound { public function smash_sound(){ super(); } } }//package
Section 137
//spikes (spikes) package { import flash.display.*; public dynamic class spikes extends BitmapData { public function spikes(w:Number, h:Number){ super(w, h); } } }//package
Section 138
//spikes_blood (spikes_blood) package { import flash.display.*; public dynamic class spikes_blood extends BitmapData { public function spikes_blood(w:Number, h:Number){ super(w, h); } } }//package
Section 139
//target_h (target_h) package { import flash.display.*; public dynamic class target_h extends BitmapData { public function target_h(w:Number, h:Number){ super(w, h); } } }//package
Section 140
//target_v (target_v) package { import flash.display.*; public dynamic class target_v extends BitmapData { public function target_v(w:Number, h:Number){ super(w, h); } } }//package
Section 141
//Tools (Tools) package { import flash.media.*; import flash.text.*; import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public final class Tools { private static var rnd_seed = Math.floor((Math.random() * 10000)); public function Tools(){ super(); } public static function addEvent(object:DisplayObject, type:String, listener:Function){ object.addEventListener(type, listener, false, 0, true); } public static function flipBitmap(bmp:BitmapData, h:Boolean, v:Boolean):BitmapData{ var vm:*; var hm:*; var bm:*; var m:Matrix; var tmp:*; if (((!(h)) && (!(v)))){ return (bmp); }; vm = new Matrix(); vm.scale(1, -1); vm.translate(0, bmp.height); hm = new Matrix(); hm.scale(-1, 1); hm.translate(bmp.width, 0); bm = new Matrix(); bm.scale(-1, -1); bm.translate(bmp.width, bmp.height); if (((h) && (v))){ m = bm; } else { if (h){ m = hm; } else { if (v){ m = vm; } else { return (bmp); }; }; }; tmp = new BitmapData(bmp.width, bmp.height, true, 0); tmp.draw(bmp, m); return (tmp); } public static function getResource(pic_name:String){ var ClassReference:Class; ClassReference = (getDefinitionByName(pic_name) as Class); return (new (ClassReference)); } public static function rand(n:Number){ rnd_seed = (((rnd_seed * 9301) + 49297) % 233280); return (Math.floor(((rnd_seed / 233280) * n))); } public static function getKey(a:Array, value):Number{ var i:*; i = 0; while (i < a.length) { if (a[i] == value){ return (i); }; i++; }; return (-1); } public static function rotateBitmap(bmp:BitmapData, deg:Number){ var rm:*; var tmp:*; rm = new Matrix(); rm.translate((-(bmp.width) / 2), (-(bmp.height) / 2)); rm.rotate(degToRad(deg)); rm.translate((bmp.width / 2), (bmp.height / 2)); tmp = new BitmapData(bmp.width, bmp.height, true, 0); tmp.draw(bmp, rm); return (tmp); } public static function remove(object:DisplayObject){ if (object){ if (object.parent){ DisplayObjectContainer(object.parent).removeChild(object); }; }; } public static function getDomainName(url:String):String{ var tmp:*; var dn:*; tmp = url.split("://"); dn = tmp[(tmp.length - 1)]; dn = dn.split("/")[0]; tmp = dn.split("."); dn = ((tmp[(tmp.length - 2)] + ".") + tmp[(tmp.length - 1)]); return (dn); } public static function getPicture(pic_name:String){ var ClassReference:Class; ClassReference = (getDefinitionByName(pic_name) as Class); return (new ClassReference(0, 0)); } public static function pasteBitmap(px, py, bmp:BitmapData, target:BitmapData, merge_alpha:Boolean){ target.copyPixels(bmp, bmp.rect, new Point(px, py), null, null, merge_alpha); } public static function numOnly(input:TextField){ var i:*; var code:*; i = 0; while (i < input.text.length) { code = input.text.charCodeAt(i); if ((((code < 48)) || ((code > 57)))){ input.text = remChar(input.text, i); }; i++; }; } public static function setSeed(sd:Number){ rnd_seed = sd; } public static function degToRad(deg:Number){ return (((Math.PI * 2) * (deg / 360))); } public static function constrain(val:Number, min:Number, max:Number):Number{ if (val > max){ return (max); }; if (val < min){ return (min); }; return (val); } public static function shuffle(a:Array){ var i:*; var tmp:*; var rn:*; i = 0; while (i < a.length) { tmp = a[i]; rn = rand(a.length); a[i] = a[rn]; a[rn] = tmp; i++; }; } public static function swap(a:Object, b:Object){ var c:*; c = a; a = b; } public static function mute(doit:Boolean){ var transform:SoundTransform; transform = new SoundTransform(); transform.volume = (doit) ? 0 : 1; SoundMixer.soundTransform = transform; } public static function clearBitmap(bmp:BitmapData){ bmp.fillRect(bmp.rect, 0); } public static function setTint(color:Number, clip:MovieClip){ var t:Transform; var ct:ColorTransform; t = new Transform(clip); ct = new ColorTransform(); ct.color = color; t.colorTransform = ct; } public static function remChar(string:String, index:Number){ return ((string.slice(0, index) + string.slice((index + 1), string.length))); } } }//package
Section 142
//wall_dark (wall_dark) package { import flash.display.*; public dynamic class wall_dark extends BitmapData { public function wall_dark(w:Number, h:Number){ super(w, h); } } }//package
Section 143
//wall_dark_2 (wall_dark_2) package { import flash.display.*; public dynamic class wall_dark_2 extends BitmapData { public function wall_dark_2(w:Number, h:Number){ super(w, h); } } }//package
Section 144
//wall_dark_2_trans (wall_dark_2_trans) package { import flash.display.*; public dynamic class wall_dark_2_trans extends BitmapData { public function wall_dark_2_trans(w:Number, h:Number){ super(w, h); } } }//package
Section 145
//wall_dark_3 (wall_dark_3) package { import flash.display.*; public dynamic class wall_dark_3 extends BitmapData { public function wall_dark_3(w:Number, h:Number){ super(w, h); } } }//package
Section 146
//wall_dark_3_trans (wall_dark_3_trans) package { import flash.display.*; public dynamic class wall_dark_3_trans extends BitmapData { public function wall_dark_3_trans(w:Number, h:Number){ super(w, h); } } }//package
Section 147
//wall_dark_last (wall_dark_last) package { import flash.display.*; public dynamic class wall_dark_last extends BitmapData { public function wall_dark_last(w:Number, h:Number){ super(w, h); } } }//package
Section 148
//wall_dark_last_trans (wall_dark_last_trans) package { import flash.display.*; public dynamic class wall_dark_last_trans extends BitmapData { public function wall_dark_last_trans(w:Number, h:Number){ super(w, h); } } }//package
Section 149
//wall_light (wall_light) package { import flash.display.*; public dynamic class wall_light extends BitmapData { public function wall_light(w:Number, h:Number){ super(w, h); } } }//package
Section 150
//wall_light_2 (wall_light_2) package { import flash.display.*; public dynamic class wall_light_2 extends BitmapData { public function wall_light_2(w:Number, h:Number){ super(w, h); } } }//package
Section 151
//wall_light_2_trans (wall_light_2_trans) package { import flash.display.*; public dynamic class wall_light_2_trans extends BitmapData { public function wall_light_2_trans(w:Number, h:Number){ super(w, h); } } }//package
Section 152
//wall_light_3 (wall_light_3) package { import flash.display.*; public dynamic class wall_light_3 extends BitmapData { public function wall_light_3(w:Number, h:Number){ super(w, h); } } }//package
Section 153
//wall_light_3_trans (wall_light_3_trans) package { import flash.display.*; public dynamic class wall_light_3_trans extends BitmapData { public function wall_light_3_trans(w:Number, h:Number){ super(w, h); } } }//package
Section 154
//wall_light_start (wall_light_start) package { import flash.display.*; public dynamic class wall_light_start extends BitmapData { public function wall_light_start(w:Number, h:Number){ super(w, h); } } }//package
Section 155
//water_anim_0 (water_anim_0) package { import flash.display.*; public dynamic class water_anim_0 extends BitmapData { public function water_anim_0(w:Number, h:Number){ super(w, h); } } }//package
Section 156
//water_ref_0 (water_ref_0) package { import flash.display.*; public dynamic class water_ref_0 extends BitmapData { public function water_ref_0(w:Number, h:Number){ super(w, h); } } }//package
Section 157
//water_ref_1 (water_ref_1) package { import flash.display.*; public dynamic class water_ref_1 extends BitmapData { public function water_ref_1(w:Number, h:Number){ super(w, h); } } }//package
Section 158
//water_ref_2 (water_ref_2) package { import flash.display.*; public dynamic class water_ref_2 extends BitmapData { public function water_ref_2(w:Number, h:Number){ super(w, h); } } }//package
Section 159
//water_ref_3 (water_ref_3) package { import flash.display.*; public dynamic class water_ref_3 extends BitmapData { public function water_ref_3(w:Number, h:Number){ super(w, h); } } }//package
Section 160
//water_ref_4 (water_ref_4) package { import flash.display.*; public dynamic class water_ref_4 extends BitmapData { public function water_ref_4(w:Number, h:Number){ super(w, h); } } }//package
Section 161
//worm (worm) package { import flash.display.*; public dynamic class worm extends BitmapData { public function worm(w:Number, h:Number){ super(w, h); } } }//package
Section 162
//worm_blood (worm_blood) package { import flash.display.*; public dynamic class worm_blood extends BitmapData { public function worm_blood(w:Number, h:Number){ super(w, h); } } }//package
Section 163
//worm_blood_died (worm_blood_died) package { import flash.display.*; public dynamic class worm_blood_died extends BitmapData { public function worm_blood_died(w:Number, h:Number){ super(w, h); } } }//package
Section 164
//worm_died (worm_died) package { import flash.display.*; public dynamic class worm_died extends BitmapData { public function worm_died(w:Number, h:Number){ super(w, h); } } }//package

Library Items

Symbol 1 Font {pixel_font}Used by:127 128
Symbol 2 GraphicUsed by:6 100
Symbol 3 FontUsed by:4
Symbol 4 EditableTextUses:3Used by:6
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClip {MSAError}Uses:2 4 5
Symbol 7 GraphicUsed by:9
Symbol 8 MovieClip {OOO000lll}Used by:9
Symbol 9 MovieClip {Spill.Components.Submitter}Uses:7 8
Symbol 10 BitmapUsed by:11
Symbol 11 GraphicUses:10Used by:14
Symbol 12 BitmapUsed by:13
Symbol 13 GraphicUses:12Used by:14
Symbol 14 ButtonUses:11 13Used by:15
Symbol 15 MovieClip {go_to_hell.ButtonBig}Uses:14Used by:130 161
Symbol 16 BitmapUsed by:17 102
Symbol 17 GraphicUses:16Used by:20
Symbol 18 BitmapUsed by:19 102
Symbol 19 GraphicUses:18Used by:20
Symbol 20 ButtonUses:17 19Used by:21
Symbol 21 MovieClip {go_to_hell.Button}Uses:20Used by:130 134 150 161
Symbol 22 BitmapUsed by:23
Symbol 23 GraphicUses:22Used by:24
Symbol 24 MovieClip {go_to_hell_andkon_fla.tv_frame_1}Uses:23Used by:Timeline
Symbol 25 GraphicUsed by:28
Symbol 26 GraphicUsed by:28
Symbol 27 GraphicUsed by:28
Symbol 28 MovieClipUses:25 26 27Used by:Timeline
Symbol 29 BitmapUsed by:30
Symbol 30 GraphicUses:29Used by:Timeline
Symbol 31 GraphicUsed by:32
Symbol 32 ButtonUses:31Used by:33
Symbol 33 MovieClip {go_to_hell.HotSpotURL}Uses:32Used by:150 153 160  Timeline
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClipUses:34Used by:36 129
Symbol 36 MovieClipUses:35Used by:Timeline
Symbol 37 Bitmap {dust_0}Used by:150
Symbol 38 Bitmap {dust_1}Used by:150
Symbol 39 Bitmap {dust_2}Used by:150
Symbol 40 Bitmap {dust_3}Used by:150
Symbol 41 Bitmap {dust_4}Used by:150
Symbol 42 Bitmap {gal_float}Used by:150
Symbol 43 Bitmap {gal_idle}Used by:150
Symbol 44 Bitmap {gal_jump}Used by:150
Symbol 45 Bitmap {gal_jump_diagonal}Used by:150
Symbol 46 Bitmap {gal_pick_front}Used by:150
Symbol 47 Bitmap {gal_pick_side}Used by:150
Symbol 48 Bitmap {gal_push}Used by:150
Symbol 49 Bitmap {gal_swimming}Used by:150
Symbol 50 Bitmap {gal_walking}Used by:150
Symbol 51 Bitmap {boulder}Used by:150
Symbol 52 Bitmap {flame}Used by:150
Symbol 53 Bitmap {flame_snuff}Used by:150
Symbol 54 Bitmap {target_h}Used by:150
Symbol 55 Bitmap {target_v}Used by:150
Symbol 56 Bitmap {wall_dark}Used by:150
Symbol 57 Bitmap {wall_light}Used by:150
Symbol 58 Bitmap {water_anim_0}Used by:150
Symbol 59 Bitmap {water_ref_0}Used by:150
Symbol 60 Bitmap {water_ref_1}Used by:150
Symbol 61 Bitmap {water_ref_2}Used by:150
Symbol 62 Bitmap {water_ref_3}Used by:150
Symbol 63 Bitmap {water_ref_4}Used by:150
Symbol 64 Bitmap {bar_2}Used by:150
Symbol 65 Bitmap {bar_1}Used by:150
Symbol 66 Bitmap {bar_0}Used by:150
Symbol 67 Bitmap {heart_small}Used by:150
Symbol 68 Bitmap {meat_small}Used by:150
Symbol 69 Bitmap {oxygen}Used by:150
Symbol 70 Bitmap {frame_top}Used by:150
Symbol 71 Bitmap {gal_angel}Used by:150
Symbol 72 Bitmap {gal_resurrect}Used by:150
Symbol 73 Bitmap {boulder_blood}Used by:150
Symbol 74 Bitmap {red_cross}Used by:150
Symbol 75 Bitmap {coin_small}Used by:150
Symbol 76 Bitmap {metr}Used by:150
Symbol 77 Bitmap {coin}Used by:150
Symbol 78 Bitmap {first_aid}Used by:150
Symbol 79 Bitmap {heart}Used by:150
Symbol 80 Bitmap {meat}Used by:150
Symbol 81 Bitmap {worm}Used by:150
Symbol 82 Bitmap {boulder_slime}Used by:150
Symbol 83 Bitmap {worm_blood}Used by:150
Symbol 84 Bitmap {worm_blood_died}Used by:150
Symbol 85 Bitmap {worm_died}Used by:150
Symbol 86 Bitmap {spikes}Used by:150
Symbol 87 Bitmap {spikes_blood}Used by:150
Symbol 88 Bitmap {bat}Used by:150
Symbol 89 Bitmap {bat_died}Used by:150
Symbol 90 Bitmap {lava}Used by:150
Symbol 91 Bitmap {lava_ref_0}Used by:150
Symbol 92 Bitmap {lava_ref_1}Used by:150
Symbol 93 Bitmap {lava_ref_2}Used by:150
Symbol 94 Bitmap {lava_ref_3}Used by:150
Symbol 95 Bitmap {lava_ref_4}Used by:150
Symbol 96 Bitmap {cemetery}Used by:150
Symbol 97 Bitmap {wall_light_start}Used by:150
Symbol 98 Bitmap {wall_dark_2}Used by:150
Symbol 99 Bitmap {wall_dark_2_trans}Used by:150
Symbol 100 MovieClip {go_to_hell.Curtain}Uses:2Used by:150
Symbol 101 Bitmap {logo_anim}Used by:150
Symbol 102 GraphicUses:18 16Used by:150
Symbol 103 Bitmap {wall_dark_3}Used by:150
Symbol 104 Bitmap {wall_dark_3_trans}Used by:150
Symbol 105 Bitmap {wall_light_2}Used by:150
Symbol 106 Bitmap {wall_light_2_trans}Used by:150
Symbol 107 Bitmap {wall_light_3}Used by:150
Symbol 108 Bitmap {wall_light_3_trans}Used by:150
Symbol 109 Bitmap {wall_dark_last}Used by:150
Symbol 110 Bitmap {wall_dark_last_trans}Used by:150
Symbol 111 Bitmap {hell_0}Used by:150
Symbol 112 Bitmap {hell_1}Used by:150
Symbol 113 Bitmap {hell_2}Used by:150
Symbol 114 Bitmap {hell_3}Used by:150
Symbol 115 Bitmap {hell_4}Used by:150
Symbol 116 Bitmap {devil}Used by:150
Symbol 117 Bitmap {info_air}Used by:150
Symbol 118 Bitmap {info_coins}Used by:150
Symbol 119 Bitmap {info_hungry}Used by:150
Symbol 120 Bitmap {info_hurt}Used by:150
Symbol 121 Bitmap {info_more_coins}Used by:150
Symbol 122 Bitmap {hell_inside_0}Used by:150
Symbol 123 Bitmap {hell_inside_1}Used by:150
Symbol 124 Bitmap {hell_inside_2}Used by:150
Symbol 125 Bitmap {hell_inside_3}Used by:150
Symbol 126 GraphicUsed by:130 134
Symbol 127 TextUses:1Used by:129
Symbol 128 TextUses:1Used by:129
Symbol 129 MovieClipUses:35 127 128Used by:130 161
Symbol 130 MovieClip {go_to_hell.GameOverAndkon}Uses:126 21 15 129Used by:150
Symbol 131 Bitmap {game_over}Used by:150
Symbol 132 Bitmap {congratulations}Used by:150
Symbol 133 Bitmap {pause}Used by:150
Symbol 134 MovieClip {go_to_hell.Pause}Uses:126 21Used by:150
Symbol 135 Bitmap {hint_1}Used by:150
Symbol 136 Bitmap {hint_2}Used by:150
Symbol 137 Bitmap {hint_3}Used by:150
Symbol 138 Bitmap {hint_4}Used by:150
Symbol 139 Bitmap {hint_5}Used by:150
Symbol 140 Sound {rave_far}Used by:149
Symbol 141 Sound {blip}Used by:149
Symbol 142 Sound {life_lost}Used by:149
Symbol 143 Sound {smash_sound}Used by:149
Symbol 144 Sound {hit_sound}Used by:149
Symbol 145 Sound {crush_sound}Used by:149
Symbol 146 Sound {rave}Used by:149
Symbol 147 Sound {ouch}Used by:149
Symbol 148 Sound {eternal}Used by:149
Symbol 149 MovieClipUses:140 141 142 143 144 145 146 147 148Used by:150
Symbol 150 MovieClip {go_to_hell_andkon_fla.zzz_7}Uses:37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 33 21 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 130 131 132 133 134 135 136 137 138 139 149Used by:Timeline
Symbol 151 BitmapUsed by:152 159
Symbol 152 GraphicUses:151Used by:153
Symbol 153 MovieClip {go_to_hell_andkon_fla.d_logo_18}Uses:152 33Used by:161
Symbol 154 BitmapUsed by:155
Symbol 155 GraphicUses:154Used by:156
Symbol 156 MovieClipUses:155Used by:161
Symbol 157 BitmapUsed by:158
Symbol 158 GraphicUses:157Used by:160
Symbol 159 GraphicUses:151Used by:160
Symbol 160 MovieClip {go_to_hell_andkon_fla.credits_20}Uses:158 33 159Used by:161
Symbol 161 MovieClip {go_to_hell.GameAndkon}Uses:21 15 153 129 156 160Used by:Timeline
Symbol 162 GraphicUsed by:164
Symbol 163 GraphicUsed by:164
Symbol 164 ButtonUses:162 163Used by:166
Symbol 165 GraphicUsed by:166
Symbol 166 MovieClip {go_to_hell_andkon_fla.vol_mute_21}Uses:164 165Used by:Timeline

Instance Names

"tv_frame"Frame 1Symbol 24 MovieClip {go_to_hell_andkon_fla.tv_frame_1}
"gauge"Frame 1Symbol 28 MovieClip
"__id0_"Frame 1Symbol 33 MovieClip {go_to_hell.HotSpotURL}
"__id1_"Frame 1Symbol 33 MovieClip {go_to_hell.HotSpotURL}
"caption"Symbol 6 MovieClip {MSAError} Frame 1Symbol 4 EditableText
"OO00OO1l1l"Symbol 9 MovieClip {Spill.Components.Submitter} Frame 1Symbol 8 MovieClip {OOO000lll}
"cnt_button"Symbol 130 MovieClip {go_to_hell.GameOverAndkon} Frame 1Symbol 21 MovieClip {go_to_hell.Button}
"submit_button"Symbol 130 MovieClip {go_to_hell.GameOverAndkon} Frame 1Symbol 21 MovieClip {go_to_hell.Button}
"sp_link"Symbol 130 MovieClip {go_to_hell.GameOverAndkon} Frame 1Symbol 15 MovieClip {go_to_hell.ButtonBig}
"s_logo"Symbol 130 MovieClip {go_to_hell.GameOverAndkon} Frame 1Symbol 129 MovieClip
"cnt_button"Symbol 134 MovieClip {go_to_hell.Pause} Frame 1Symbol 21 MovieClip {go_to_hell.Button}
"__id4_"Symbol 153 MovieClip {go_to_hell_andkon_fla.d_logo_18} Frame 1Symbol 33 MovieClip {go_to_hell.HotSpotURL}
"__id5_"Symbol 160 MovieClip {go_to_hell_andkon_fla.credits_20} Frame 1Symbol 33 MovieClip {go_to_hell.HotSpotURL}
"__id6_"Symbol 160 MovieClip {go_to_hell_andkon_fla.credits_20} Frame 1Symbol 33 MovieClip {go_to_hell.HotSpotURL}
"__id7_"Symbol 160 MovieClip {go_to_hell_andkon_fla.credits_20} Frame 1Symbol 33 MovieClip {go_to_hell.HotSpotURL}
"start_button"Symbol 161 MovieClip {go_to_hell.GameAndkon} Frame 1Symbol 21 MovieClip {go_to_hell.Button}
"show_h"Symbol 161 MovieClip {go_to_hell.GameAndkon} Frame 1Symbol 21 MovieClip {go_to_hell.Button}
"c_switch"Symbol 161 MovieClip {go_to_hell.GameAndkon} Frame 1Symbol 21 MovieClip {go_to_hell.Button}
"sp_link"Symbol 161 MovieClip {go_to_hell.GameAndkon} Frame 1Symbol 15 MovieClip {go_to_hell.ButtonBig}
"d_logo"Symbol 161 MovieClip {go_to_hell.GameAndkon} Frame 1Symbol 153 MovieClip {go_to_hell_andkon_fla.d_logo_18}
"s_logo"Symbol 161 MovieClip {go_to_hell.GameAndkon} Frame 1Symbol 129 MovieClip
"intro_txt"Symbol 161 MovieClip {go_to_hell.GameAndkon} Frame 1Symbol 156 MovieClip
"credits"Symbol 161 MovieClip {go_to_hell.GameAndkon} Frame 1Symbol 160 MovieClip {go_to_hell_andkon_fla.credits_20}
"c_cnt"Symbol 161 MovieClip {go_to_hell.GameAndkon} Frame 1Symbol 21 MovieClip {go_to_hell.Button}
"button"Symbol 166 MovieClip {go_to_hell_andkon_fla.vol_mute_21} Frame 1Symbol 164 Button

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 131 bytes "..$1$lj$tuolbgCmYI20x6a2hxRew/."
EnableDebugger2 (64)Timeline Frame 131 bytes "..$1$sE$ebsX4JMKhEJARO.QO1EMP1."

Labels

"game"Frame 4
"on"Symbol 166 MovieClip {go_to_hell_andkon_fla.vol_mute_21} Frame 2
"off"Symbol 166 MovieClip {go_to_hell_andkon_fla.vol_mute_21} Frame 6




http://swfchan.com/43/211654/info.shtml
Created: 7/10 -2018 21:57:32 Last modified: 7/10 -2018 21:57:32 Server time: 05/05 -2024 20:29:15