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

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

Lesbian Spider Queens of Mars.swf

This is the info page for
Flash #95122

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


ActionScript [AS1/AS2]
Combined Code
// unknown tag 88 length 106 movieClip 2 Init { #initclip Object.registerClass('Init', Init); #endinitclip } movieClip 23 Loading_art { #initclip Object.registerClass('Loading_art', Loading_art); #endinitclip } movieClip 30 Loading_button { #initclip Object.registerClass('Loading_button', Loading_button); #endinitclip } movieClip 31 Loading_screen { #initclip Object.registerClass('Loading_screen', Loading_screen); #endinitclip } movieClip 32 Reminder { #initclip Object.registerClass('Reminder', Reminder); #endinitclip } movieClip 37 Submit { #initclip Object.registerClass('Submit', Submit); #endinitclip } movieClip 150 Door { #initclip Object.registerClass('Door', Door); #endinitclip } movieClip 1111 Slave { #initclip Object.registerClass('Slave', Slave); #endinitclip } movieClip 1112 Start { #initclip Object.registerClass('Start', Start); #endinitclip } frame 1 { _accProps = new Object(); _accProps.forceSimple = true; } frame 1 { stop(); } movieClip 2124 __Packages.Loading_art { #initclip if (!_global.Loading_art) { var v1 = function () { super(); }; _global.Loading_art = v1; _global.Loading_art extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.gotoAndStop(this.frame); this.start_y = this._y; if (this.identity == 'leg') { this._y -= 216; this._visible = true; this.descending = false; this.descend_timer = 0; switch (this.frame) { case 2: this.descend_speed = 10; this.descent_percentage = 12; break; case 3: this.descend_speed = 20; this.descent_percentage = 24; break; case 4: this.descend_speed = 30; this.descent_percentage = 36; break; case 5: this.descend_speed = 40; this.descent_percentage = 48; break; case 6: this.descend_speed = 50; this.descent_percentage = 60; break; case 7: this.descend_speed = 60; this.descent_percentage = 72; break; case 8: this.descend_speed = 70; this.descent_percentage = 84; break; case 9: this.descend_speed = 80; this.descent_percentage = 96; } } }; v2.onEnterFrame = function () { if (this.identity == 'leg') { this.getDown(); } }; v2.getDown = function () { if (this.descend_timer < this.descend_speed) { ++this.descend_timer; } if (!this.descending) { if (this.loading.percent_loaded >= this.descent_percentage) { this.descending = true; } } else { if (this.descend_timer == this.descend_speed) { if (this._y < this.start_y) { this._y += 8; if (this._y > this.start_y) { this._y = this.start_y; } } } } }; ASSetPropFlags(_global.Loading_art.prototype, null, 1); } #endinitclip } movieClip 2125 __Packages.Loading_button { #initclip if (!_global.Loading_button) { var v1 = function () { super(); }; _global.Loading_button = v1; _global.Loading_button extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.gotoAndStop(1); this.fully_loaded = false; if (this.hitTest(_root._xmouse, _root._ymouse, true)) { this.mouse_over = true; } else { this.mouse_over = false; } }; v2.onMouseDown = function () { if (this.hitTest(_root._xmouse, _root._ymouse, true) and this.fully_loaded) { _root.play(); } }; v2.onEnterFrame = function () { if (this.fully_loaded) { if (this.mouse_over) { this.gotoAndStop(3); } else { this.gotoAndStop(2); } } }; v2.onRollOver = function () { this.mouse_over = true; }; v2.onRollOut = function () { this.mouse_over = false; }; ASSetPropFlags(_global.Loading_button.prototype, null, 1); } #endinitclip } movieClip 2126 __Packages.Loading_screen { #initclip if (!_global.Loading_screen) { var v1 = function () { super(); }; _global.Loading_screen = v1; _global.Loading_screen extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.arts = []; this.loading_button = _root.attachMovie('Loading_button', 'Loading_button', _root.getNextHighestDepth()); this.loading_button._x = 102; this.loading_button._y = 346; this.buildArt('leg', 3, 124, 66, true); this.buildArt('leg', 5, 236, 66, true); this.buildArt('leg', 7, 358, 66, true); this.buildArt('leg', 9, 486, 66, true); this.buildArt('slave', 1, 44, 140, false); this.buildArt('leg', 2, 68, 66, true); this.buildArt('leg', 4, 182, 66, true); this.buildArt('leg', 6, 308, 66, true); this.buildArt('leg', 8, 382, 66, true); this.buildArt('frame', 10, 0, 0, false); this.percent_loaded = 0; this.fully_loaded = false; }; v2.buildArt = function (identity, frame, where_x, where_y, invisible) { var v3 = _root.attachMovie('Loading_art', 'Loading_art', _root.getNextHighestDepth()); v3.identity = identity; v3.frame = frame; v3._x = where_x; v3._y = where_y; v3._visible = !invisible; v3.loading = this; this.arts.push(v3); }; v2.onEnterFrame = function () { var v4 = _root.getBytesLoaded() / 1024; var v3 = _root.getBytesTotal() / 1024; this.percent_loaded = Math.round((v4 / v3) * 100); if (!this.fully_loaded) { if (_root.getBytesLoaded() == _root.getBytesTotal()) { this.fully_loaded = true; this.loading_button.fully_loaded = true; this.loading_button.gotoAndStop(2); } } else { if (_root._currentframe == 3) { _root.gotoAndStop(3); this.startGame(); } } }; v2.startGame = function () { for (var v3 in this.arts) { this.arts[v3].removeMovieClip(); } this.loading_button.removeMovieClip(); var v4 = _root.attachMovie('Logo', 'Logo', _root.getNextHighestDepth()); this.removeMovieClip(); }; ASSetPropFlags(_global.Loading_screen.prototype, null, 1); } #endinitclip } movieClip 2127 __Packages.Reminder { #initclip if (!_global.Reminder) { var v1 = function () { super(); }; _global.Reminder = v1; _global.Reminder extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.room_width = 608; this.room_height = 480; this.reminder_timer = 0; this.reminder_speed = 100; this.key_clear = false; this.art = _root.attachMovie('Art', 'Art' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.art.gotoAndStop(41); this.swapDepths(_root.getNextHighestDepth()); this.bg = this.createEmptyMovieClip('bg', _root.getNextHighestDepth()); this.flash_timer = 0; this.flash_speed = 0; this.last_flash = 0; this.sounds.landing.start(); this.flashBackground(); }; v2.onEnterFrame = function () { this.fadeBackground(); ++this.reminder_timer; if (this.reminder_timer == this.reminder_speed) { this.titleScreen(); } if (Key.isDown(32) and this.key_clear) { this.startGame(); } if (!Key.isDown(32)) { this.key_clear = true; } }; v2.flashBackground = function () { var v3 = this.hexColor('blue'); this.last_flash = v3; this.bg.removeMovieClip(); this.bg = this.createEmptyMovieClip('bg', _root.getNextHighestDepth()); this.bg.beginFill(v3); this.bg.moveTo(0, 0); this.bg.lineTo(this.room_width, 0); this.bg.lineTo(this.room_width, this.room_height); this.bg.lineTo(0, this.room_height); this.bg.lineTo(0, 0); this.bg.endFill(); }; v2.fadeBackground = function () { var v2 = 20; if (this.bg._alpha >= 0) { this.bg._alpha -= v2; } }; v2.randomColor = function () { var v2 = this.last_flash; while (v2 == this.last_flash) { var v3 = Math.ceil(Math.random() * 7); switch (v3) { case 1: v2 = this.hexColor('white'); break; case 2: v2 = this.hexColor('cyan'); break; case 3: v2 = this.hexColor('purple'); break; case 4: v2 = this.hexColor('yellow'); break; case 5: v2 = this.hexColor('red'); break; case 6: v2 = this.hexColor('green'); break; case 7: v2 = this.hexColor('blue'); } } return v2; }; v2.hexColor = function (color) { switch (color) { case 'white': return 16579836; break; case 'cyan': return 64764; break; case 'pink': return 14483550; break; case 'purple': return 6881446; break; case 'yellow': return 14012672; break; case 'red': return 16125711; break; case 'green': return 64512; break; case 'blue': return 4023295; } }; v2.startGame = function () { this.sounds.title_loop.stop(); this.sounds.landing.stop(); var v3 = _root.attachMovie('Game', 'Game', _root.getNextHighestDepth()); v3.starfield = this.starfield; v3.sounds = this.sounds; v3.vocals = this.vocals; v3.demo = false; this.removeMe(); }; v2.titleScreen = function () { this.sounds.removeMovieClip(); this.vocals.removeMovieClip(); this.art.removeMovieClip(); var v3 = _root.attachMovie('Title', 'Title', _root.getNextHighestDepth()); v3.no_music = true; this.removeMe(); }; v2.removeMe = function () { this.bg.removeMovieClip(); this.art.removeMe(); this.removeMovieClip(); }; ASSetPropFlags(_global.Reminder.prototype, null, 1); } #endinitclip } movieClip 2128 __Packages.Submit { #initclip if (!_global.Submit) { var v1 = function () { super(); }; _global.Submit = v1; _global.Submit extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.frame = 1; this.gotoAndStop(this.frame); this.animation_timer = 0; this.animation_speed = 20; }; v2.onEnterFrame = function () { if (this.animation_timer < this.animation_speed) { ++this.animation_timer; } else { this.animation_timer = 0; if (this.frame == 1) { this.frame = 2; } else { this.frame = 1; } this.gotoAndStop(this.frame); } }; ASSetPropFlags(_global.Submit.prototype, null, 1); } #endinitclip } movieClip 2129 __Packages.Door { #initclip if (!_global.Door) { var v1 = function () { super(); }; _global.Door = v1; _global.Door extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.frame = 1; this.swing_timer = 0; this.swing_speed = 1; this.close_timer = 0; this.close_speed = 20; this.opened = false; this.animateMe(); this.shoving = false; if (this.game.first_stage) { this.shove_timer = Math.floor(Math.random() * 201) + 100; } else { this.shove_timer = 0; } }; v2.onEnterFrame = function () { if (this.game.unpaused) { this.animateMe(); if (this.shove_timer > 0) { --this.shove_timer; if (this.shove_timer == 0) { switch (this.place) { case 'upleft': this.game.releaseSlave('nw', 'dagger'); break; case 'upright': this.game.releaseSlave('ne', 'dagger'); break; case 'downleft': this.game.releaseSlave('sw', 'dagger'); break; case 'downright': this.game.releaseSlave('se', 'dagger'); } } } } }; v2.swingOpen = function (slow) { if (!this.game.first_stage) { this.opened = true; this.swing_timer = 0; if (slow) { this.close_timer = -this.close_speed * 4; } else { this.close_timer = 0; } } }; v2.getShoved = function () { this.shoving = true; if (this._y < this.game.room_height / 2) { this._y -= 48; } }; v2.animateMe = function () { var v3 = 0; switch (this.game.area) { case 2: v3 = 12; break; case 3: v3 = 24; break; case 4: v3 = 36; break; case 5: v3 = 36; } var v4 = 0; switch (this.place) { case 'upright': v4 = 3; break; case 'downleft': v4 = 6; break; case 'downright': v4 = 9; } if (this.shoving) { var v2 = 0; if (this._y > this.game.room_height / 2) { v2 = 4; } ++this.frame; if (this.frame > 10) { this.frame = 1; } switch (this.frame) { case 1: this.gotoAndStop(49 + v2); break; case 2: this.gotoAndStop(50 + v2); break; case 3: this.gotoAndStop(51 + v2); break; case 4: case 5: this.gotoAndStop(52 + v2); break; case 6: case 7: this.gotoAndStop(51 + v2); break; case 8: case 9: this.gotoAndStop(50 + v2); break; case 10: case 11: this.gotoAndStop(49 + v2); } } else { if (this.opened) { if (this.frame == 1) { this.frame = 2; } else { if (this.frame == 2) { if (this.swing_timer < this.swing_speed) { ++this.swing_timer; } else { this.swing_timer = 0; this.frame = 3; } } else { if (!this.game.end_of_level) { if (this.close_timer < this.close_speed) { this.close_timer += this.game.room_speed; } else { this.close_timer = 0; this.opened = false; } } } } } else { if (this.frame == 3) { this.frame = 2; } else { if (this.frame == 2) { if (this.swing_timer < this.swing_speed) { ++this.swing_timer; } else { this.swing_timer = 0; this.frame = 1; } } } } this.gotoAndStop(this.frame + v3 + v4); } }; ASSetPropFlags(_global.Door.prototype, null, 1); } #endinitclip } movieClip 2130 __Packages.Slave { #initclip if (!_global.Slave) { var v1 = function () { super(); }; _global.Slave = v1; _global.Slave extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.collide_me = this.attachCollision(4); this.collide_left = this.attachCollision(2); this.collide_right = this.attachCollision(2); this.collide_up = this.attachCollision(1); this.collide_down = this.attachCollision(1); this.updateCollision(); if (this.slave_type == 'tarantula') { this.laser = _root.attachMovie('Laser', 'Laser', _root.getNextHighestDepth()); this.laser.mom = this; this.laser.laser_type = 'tarantula'; this.game.objs.push(this.laser); this.swapDepths(_root.getNextHighestDepth()); } this.room_top = this.game.origin_y; this.room_bottom = this.game.room_height - this.game.origin_y - 64; this.move_timer = 0; this.high_speed = true; this.adjustSpeed(); this.checkGrid(); this.moved = false; this.struggle_accelerate_timer = 0; this.struggle_accelerate_speed = 32; this.struggle_timer = 0; this.struggle_start_speed = 8; this.struggle_speed = this.struggle_start_speed; this.reel_timer = 0; this.reel_speed = 4; this.escape_timer = 160; if (this.game.laser_off) { this.escape_timer *= 4; } this.sparkle_speed = 4; this.sparkle_timer = 0; this.last_facing = this.facing; this.next_facing = 'none'; this.backwards = this.findBackwards(this.facing); if (this.facing == 'down') { this.frame = 17; } else { this.frame = 25; } this.gotoAndStop(this.frame); if (this.slave_state == 'cocooned') { this.animateMe(); this.said_hello = true; } else { this.cocoon_wave = 'no'; this.slave_state = 'walking'; } if (this.slave_type == 'princess') { this.angry = true; this.has_gem = false; this.escape_timer *= 2; } else { this.angry = false; this.has_gem = true; } this.escaping = false; this.saw_her = false; switch (this.slave_type) { case 'dagger': case 'shieldless': this.score = 100; break; case 'shield': this.score = 300; break; case 'gladiator': this.score = 200; break; case 'alchemist': this.score = 500; break; case 'princess': this.score = 2000; break; case 'tarantula': this.score = 15000; } if (this.said_hello == null) { this.said_hello = false; } this.start_x = this._x; this.start_y = this._y; if (this.slave_type == 'tarantula') { this.game.queen.tarantula = this; this.said_hello = true; } }; v2.onEnterFrame = function () { if (this.game.unpaused) { if (this.slave_state == 'walking') { this.checkGrid(); this.adjustSpeed(); if (this.aligned_with_grid) { this.checkCollision(); } if (this.slave_type != 'tarantula') { this.escapeMe(); } if (this.slave_type == 'gladiator' and (this.game.queen.queen_state == 'scuttling' or this.game.queen.queen_state == 'cocooned')) { this.spotQueen(); } if (this.aligned_with_grid and this.game.first_stage) { this.shoveDoor(); } this.moveMe(); this.updateCollision(); if (this.slave_type == 'tarantula') { if (this.game.queen.laser_active or this.game.queen.queen_state == 'cocooned') { this.laser.drawLaser(this.facing); } if (this.game.queen.queen_state != 'dead' and this.game.queen.queen_state != 'done') { this._visible = this.game.queen._visible; } } this.checkPlayer(); this.animateMe(); if (this.slave_type == 'princess') { this.sparkleMe(); } } if (this.slave_state == 'cocooned') { this.checkGrid(); this.adjustSpeed(); this.struggleMe(); this.checkPlayer(); this.animateMe(); } } else { if (this.slave_type == 'tarantula') { this._visible = true; } } }; v2.attachCollision = function (shape) { var v3 = _root.attachMovie('Collision', 'Collision' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.gotoAndStop(shape); v3._visible = false; this.game.objs.push(v3); return v3; }; v2.sayHello = function () { switch (this.slave_type) { case 'princess': this.game.sounds.playSound('spacebirds'); break; case 'alchemist': this.game.sounds.playSound('laugh'); break; case 'gladiator': this.game.sounds.playSound('toughguy'); break; case 'shield': this.game.sounds.playSound('elephant'); break; default: this.game.sounds.playSound('gremlin'); } this.said_hello = true; this.game.popTab(); }; v2.adjustSpeed = function () { var v4 = this.game.room_speed; var v5 = Math.abs(this.game.queen._x - this._x); var v6 = Math.abs(this.game.queen._y - this._y); if (this.angry and v4 < 4) { ++v4; } if (this.saw_her and v4 < 4 and this.slave_type == 'gladiator' and (v5 > 63 or v6 > 63)) { ++v4; } if ((this._x - this.game.origin_x) % 32 == 0 and (this._y - this.game.origin_y) % 32 == 0) { if (this.slave_type == 'tarantula') { this.high_speed = true; if (Math.ceil(Math.random() * 5) > 2) { this.high_speed = false; } } if (v4 == 4) { if (this.high_speed) { this.high_speed = false; } else { this.high_speed = true; } } } if ((v4 == 4 or this.slave_type == 'tarantula') and !this.high_speed) { --v4; } var v3 = this.move_speed; var v2 = this.step_length; if (this.slave_type == 'shield') { switch (v4) { case 1: v3 = 2; v2 = 4; break; case 2: v3 = 2; v2 = 4; break; case 3: v3 = 1; v2 = 4; break; case 4: v3 = 1; v2 = 4; } } else { switch (v4) { case 1: v3 = 2; v2 = 4; break; case 2: v3 = 2; v2 = 8; break; case 3: v3 = 1; v2 = 8; break; case 4: v3 = 1; v2 = 16; } } if (this.slave_type == 'shield') { if (this.game.shieldless and this.slave_state != 'cocooned') { this.discardShield(); } else { v3 *= 2; } } if ((this._x - this.game.origin_x) % v2 == 0 and (this._y - this.game.origin_y) % v2 == 0) { this.move_speed = v3; this.step_length = v2; } }; v2.discardShield = function () { this.puffSmoke(); this.game.messages.flashMessage('impatient slaves will toss their shields', true); this.slave_type = 'shieldless'; this.score = 100; }; v2.checkGrid = function () { if ((this._x - this.game.origin_x) % 64 == 0 and (this._y - this.game.origin_y) % 64 == 0) { this.aligned_with_grid = true; } else { this.aligned_with_grid = false; } this.grid_x = Math.floor((this._x - this.game.origin_x + 32) / 64); this.grid_y = Math.floor((this._y - this.game.origin_y + 32) / 64); }; v2.checkCollision = function () { this.blocked_left = false; this.blocked_right = false; this.blocked_up = false; this.blocked_down = false; if (this.grid_x == 0) { this.blocked_left = true; } if (this.grid_x == 8) { this.blocked_right = true; } if (this.grid_y == 0) { this.blocked_up = true; } if (this.grid_y == 6) { this.blocked_down = true; } if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 3) { this.blocked_up = true; this.blocked_left = true; } if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 1) { this.blocked_up = true; } if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 2) { this.blocked_left = true; } if (this.game.maze.mazes[this.game.layout][this.grid_y + 1][this.grid_x] == 3 or this.game.maze.mazes[this.game.layout][this.grid_y + 1][this.grid_x] == 1) { this.blocked_down = true; } if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x + 1] == 3 or this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x + 1] == 2) { this.blocked_right = true; } }; v2.escapeMe = function () { if (!this.escaping and (this.game.enemy_count == 1 and this.game.levels[this.game.level][this.game.phase].length == 0 or this.slave_type == 'princess' or this.game.laser_off)) { if (this.escape_timer > 0 and !(this.angry and this.slave_type != 'princess')) { --this.escape_timer; if (this.slave_type == 'princess') { --this.escape_timer; } } else { this.escaping = true; trace('escaping!'); } } }; v2.moveMe = function () { this.move_timer += 1; if (this.move_timer >= this.move_speed) { if (this._y >= this.room_top and this._y <= this.room_bottom and this.aligned_with_grid) { this.faceMe(); } else { if (this.escaping and (this._y <= this.room_top - 64 or this._y >= this.room_bottom + 64)) { this.removeMe(); this.game.messages.flashMessage('that last slave got away!', true); trace('escaped!'); } } switch (this.facing) { case 'right': this._x += this.step_length; break; case 'left': this._x -= this.step_length; break; case 'down': this._y += this.step_length; break; case 'up': this._y -= this.step_length; } this.move_timer = 0; this.moved = true; if (!this.said_hello) { var v2 = false; if (this.slave_type == 'shield') { v2 = true; } if (this.facing == 'down') { if (this._y >= -28) { if (this._x < this.game.room_width / 2) { this.game.door_upleft.swingOpen(v2); } else { this.game.door_upright.swingOpen(v2); } this.sayHello(); } } else { if (this._y <= 444) { if (this._x < this.game.room_width / 2) { this.game.door_downleft.swingOpen(v2); } else { this.game.door_downright.swingOpen(v2); } this.sayHello(); } } } } else { this.moved = false; } }; v2.faceMe = function () { this.last_facing = this.facing; var v5 = !this.blocked_left + !this.blocked_right + !this.blocked_up + !this.blocked_down; var v6 = false; if ((this._x == this.game.origin_x or this._x == this.game.room_width - this.game.origin_x - 64) and (this._y == this.room_top or this._y == this.room_bottom)) { v6 = true; } if (v5 >= 3 or this.blockCheck(this.facing) or v6) { if (v6 and this.escaping) { if (this._y == this.room_top) { this.facing = 'up'; this.backwards = 'down'; if (this._x < this.game.room_width / 2) { this.game.door_upleft.swingOpen(); } else { this.game.door_upright.swingOpen(); } } else { if (this._y == this.room_bottom) { this.facing = 'down'; this.backwards = 'up'; if (this._x < this.game.room_width / 2) { this.game.door_downleft.swingOpen(); } else { this.game.door_downright.swingOpen(); } } } } else { if (this.next_facing != 'none' and !this.blockCheck(this.next_facing)) { this.facing = this.next_facing; this.next_facing = 'none'; } else { var v4 = false; while (v4 == false) { var v3 = Math.ceil(Math.random() * 4); var v2 = 'none'; switch (v3) { case 1: v2 = 'left'; break; case 2: v2 = 'right'; break; case 3: v2 = 'up'; break; case 4: v2 = 'down'; } if (!this.blockCheck(v2) and (v2 != this.backwards or v5 == 1)) { this.facing = v2; v4 = true; } } } } } if ((this.slave_type == 'gladiator' or this.slave_type == 'tarantula' or this.game.first_stage) and (this.game.queen.queen_state == 'scuttling' or this.game.queen.queen_state == 'cocooned')) { this.findQueen(); } else { this.saw_her = false; } if (this.slave_type == 'alchemist' and (this.game.queen.queen_state == 'scuttling' or this.game.demo)) { this.springTrap(); } this.backwards = this.findBackwards(this.facing); }; v2.spotQueen = function () { var v2 = this.game.queen; var v4 = Math.floor((v2._y + 32) / 64); var v3 = Math.floor((v2._x + 32) / 64); if (v2._x == this._x and (this._x - this.game.origin_x) % 64 == 0) { if (v2._y > this._y and this.canSee('down', v4)) { this.facing = 'down'; } else { if (v2._y < this._y and this.canSee('up', v4)) { this.facing = 'up'; } } } if (v2._y == this._y and (this._y - this.game.origin_y) % 64 == 0) { if (v2._x > this._x and this.canSee('right', v3)) { this.facing = 'right'; } else { if (v2._x < this._x and this.canSee('left', v3)) { this.facing = 'left'; } } } }; v2.findQueen = function () { var v2 = this.game.queen; var v6 = Math.floor((v2._y + 32) / 64); var v5 = Math.floor((v2._x + 32) / 64); this.saw_her = false; var v3 = 'none'; if (this.grid_x == v5) { if (v2._y > this._y and this.canSee('down', v6)) { v3 = 'down'; } else { if (v2._y < this._y and this.canSee('up', v6)) { v3 = 'up'; } } } else { if (this.grid_y == v6) { if (v2._x > this._x and this.canSee('right', v5)) { v3 = 'right'; } else { if (v2._x < this._x and this.canSee('left', v5)) { v3 = 'left'; } } } } if (v3 != 'none' and !this.blockCheck(v3) and this.slave_type != 'tarantula') { this.facing = v3; this.saw_her = true; this.adjustSpeed(); } if (!this.saw_her) { var v7 = Math.abs(this.game.queen._x - this._x); var v8 = Math.abs(this.game.queen._y - this._y); if (v7 < v8) { if (v2._y > this._y and !this.blockCheck('down') and this.backwards != 'down') { this.facing = 'down'; } else { if (v2._y < this._y and !this.blockCheck('up') and this.backwards != 'up') { this.facing = 'up'; } } } else { if (v8 < v7) { if (v2._x > this._x and !this.blockCheck('right') and this.backwards != 'right') { this.facing = 'right'; } else { if (v2._x < this._x and !this.blockCheck('left') and this.backwards != 'left') { this.facing = 'left'; } } } else { var v4 = Math.ceil(Math.random() * 2); if (v2._y > this._y) { if (v2._x > this._x) { if (v4 == 2 and !this.blockCheck('down') and this.backwards != 'down') { this.facing = 'down'; } else { if (!this.blockCheck('right') and this.backwards != 'right') { this.facing = 'right'; } } } else { if (v2._x < this._x) { if (v4 == 2 and !this.blockCheck('down') and this.backwards != 'down') { this.facing = 'down'; } else { if (!this.blockCheck('left') and this.backwards != 'left') { this.facing = 'left'; } } } } } else { if (v2._y < this._y) { if (v2._x > this._x) { if (v4 == 2 and !this.blockCheck('up') and this.backwards != 'up') { this.facing = 'up'; } else { if (!this.blockCheck('right') and this.backwards != 'right') { this.facing = 'right'; } } } else { if (v2._x < this._x) { if (v4 == 2 and !this.blockCheck('up') and this.backwards != 'up') { this.facing = 'up'; } else { if (!this.blockCheck('left') and this.backwards != 'left') { this.facing = 'left'; } } } } } } } } } }; v2.canSee = function (facing, distance) { var v2 = Math.floor((this._y - this.game.origin_y) / 64); var v3 = Math.floor((this._x - this.game.origin_x) / 64); if (facing == 'left') { ++v3; } if (facing == 'up') { ++v2; } if (facing == 'right' or facing == 'left') { var v5 = true; } var v4 = false; var v8 = false; while (!v4) { switch (facing) { case 'right': ++v3; break; case 'left': --v3; break; case 'down': ++v2; break; case 'up': --v2; } if (v5) { if (v3 > 9 or v3 < 0) { v4 = true; } else { if (this.game.maze.mazes[this.game.layout][v2][v3] == 2 or this.game.maze.mazes[this.game.layout][v2][v3] == 3) { v4 = true; } } } else { if (v2 > 7 or v2 < 0) { v4 = true; } else { if (this.game.maze.mazes[this.game.layout][v2][v3] == 1 or this.game.maze.mazes[this.game.layout][v2][v3] == 3) { v4 = true; } } } if (!v4 and (v5 and v3 == distance or !v5 and v2 == distance)) { v8 = true; } } return v8; }; v2.springTrap = function () { var v3 = _root.attachMovie('Trap', 'Trap' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3._x = this._x; v3._y = this._y; v3.game = this.game; v3.speed = this.game.room_speed; if (this.angry) { ++v3.speed; } this.game.objs.push(v3); this.last_trap = v3; this.game.sounds.playSound('crumble'); }; v2.findBackwards = function (where) { switch (where) { case 'left': return 'right'; break; case 'right': return 'left'; break; case 'up': return 'down'; break; case 'down': return 'up'; } }; v2.blockCheck = function (where) { switch (where) { return false; case 'left': if (this.blocked_left) { return true; } return false; case 'right': if (this.blocked_right) { return true; } return false; case 'up': if (this.blocked_up) { return true; } return false; case 'down': if (this.blocked_down) { return true; } return false; } return false; }; v2.updateCollision = function () { this.collide_me._x = this._x + 22; this.collide_me._y = this._y + 22; this.collide_left._x = this._x; this.collide_left._y = this._y + 4; this.collide_right._x = this._x + 62; this.collide_right._y = this._y + 4; this.collide_up._x = this._x + 4; this.collide_up._y = this._y; this.collide_down._x = this._x + 4; this.collide_down._y = this._y + 62; }; v2.animateMe = function () { if (this.slave_type == 'tarantula') { if (this.slave_state == 'walking') { var v2 = [449, 453, 457, 461, 465]; } if (this.slave_state == 'cocooned') { v2 = [465, 469, 473, 477, 481]; } } else { if (this.slave_type == 'princess') { if (this.slave_state == 'walking') { var v2 = [193, 197, 201, 205, 209]; } if (this.slave_state == 'cocooned') { v2 = [209, 213, 217, 221, 225]; } } else { if (this.slave_type == 'alchemist') { if (this.slave_state == 'walking') { if (!this.angry) { var v2 = [321, 325, 329, 333, 337]; } else { var v2 = [353, 357, 361, 365, 369]; } } if (this.slave_state == 'cocooned') { if (!this.angry) { v2 = [337, 341, 345, 349, 353]; } else { v2 = [369, 373, 377, 381, 385]; } } } else { if (this.slave_type == 'gladiator') { if (this.slave_state == 'walking') { if (!this.angry) { var v2 = [225, 233, 241, 249, 257]; } else { var v2 = [273, 281, 289, 297, 305]; } } if (this.slave_state == 'cocooned') { if (!this.angry) { v2 = [257, 261, 265, 269, 273]; } else { v2 = [305, 309, 313, 317, 321]; } } } else { if (this.slave_type == 'shield' or this.slave_type == 'shieldless') { if (this.slave_state == 'walking') { if (this.slave_type == 'shield') { if (!this.angry) { var v2 = [97, 105, 113, 121, 129]; } else { var v2 = [145, 153, 161, 169, 177]; } } else { if (!this.angry) { var v2 = [385, 393, 401, 409, 417]; } else { var v2 = [417, 425, 433, 441, 449]; } } } if (this.slave_state == 'cocooned') { if (!this.angry) { v2 = [129, 133, 137, 141, 145]; } else { v2 = [177, 181, 185, 189, 193]; } } } else { if (this.slave_type == 'dagger') { if (this.slave_state == 'walking') { if (!this.angry) { var v2 = [1, 9, 17, 25, 33]; } else { var v2 = [49, 57, 65, 73, 81]; } } if (this.slave_state == 'cocooned') { if (!this.angry) { v2 = [33, 37, 41, 45, 49]; } else { v2 = [81, 85, 89, 93, 97]; } } } } } } } } var v3 = false; switch (this.facing) { case 'right': if (this.frame < v2[0] or this.frame >= v2[1]) { this.frame = v2[0]; v3 = true; } break; case 'left': if (this.frame < v2[1] or this.frame >= v2[2]) { this.frame = v2[1]; v3 = true; } break; case 'down': if (this.frame < v2[2] or this.frame >= v2[3]) { this.frame = v2[2]; v3 = true; } break; case 'up': if (this.frame < v2[3] or this.frame >= v2[4]) { this.frame = v2[3]; v3 = true; } } if (this.moved and !v3) { ++this.frame; if (this.frame == v2[1]) { this.frame = v2[0]; } else { if (this.frame == v2[2]) { this.frame = v2[1]; } else { if (this.frame == v2[3]) { this.frame = v2[2]; } else { if (this.frame == v2[4]) { this.frame = v2[3]; } } } } } this.gotoAndStop(this.frame); }; v2.sparkleMe = function () { if (this.sparkle_timer < this.sparkle_speed) { ++this.sparkle_timer; } else { this.sparkle_timer = 0; var v3 = _root.attachMovie('Sparkle', 'Sparkle', _root.getNextHighestDepth()); v3._x = this._x - 16 + Math.floor(Math.random() * 32 * 2); v3._y = this._y - 16 + Math.floor(Math.random() * 32 * 2); v3.game = this.game; this.game.objs.push(v3); this.game.sounds.playSound('coin'); } }; v2.getZapped = function (where) { if (this.slave_state == 'walking' and this._y >= this.room_top and this._y <= this.room_bottom and !(this.slave_type == 'tarantula' and this.game.queen.queen_state != 'scuttling')) { if (this.slave_type == 'shield' and this.facing == this.findBackwards(where) or this.slave_type == 'tarantula' and this.facing != where) { if (this.next_facing == 'none') { this.game.sounds.ominous.start(); } this.next_facing = this.findBackwards(where); } else { this.game.sounds.laser.start(); if (!this.game.last_stage) { this.game.vocals.saySomething('zap'); } this.slave_state = 'cocooned'; this.struggle_accelerate_timer = 0; this.struggle_timer = 0; this.struggle_speed = this.struggle_start_speed; this.reel_timer = 0; if (this.cocoon_wave == 'no' and this.has_gem and this.slave_type != 'tarantula' and !this.game.last_stage) { this.releaseGem(where); } if (this.slave_type == 'alchemist' and this.collide_me.hitTest(this.last_trap)) { this.last_trap.removeMe(); } if (this.slave_type == 'tarantula') { this.game.vocals.tarantula_tied = true; } this.faceZap(where); this.game.addFlash('green', 50); this.game.messages.flashMessage('* * * grab gems for bonus points * * *', true); } } else { if (this.slave_state == 'cocooned') { this.struggle_accelerate_timer = 0; this.faceZap(where); this.reel_timer += this.game.room_speed; } } }; v2.faceZap = function (where) { if (where == 'up' or where == 'down') { this._x = this.game.queen._x; } else { this._y = this.game.queen._y; } this.updateCollision(); this.facing = this.findBackwards(where); this.backwards = where; }; v2.struggleMe = function () { ++this.struggle_timer; if (this.struggle_timer >= this.struggle_speed) { this.struggle_timer = 0; this.moved = true; } else { this.moved = false; } if (this.reel_timer >= this.reel_speed) { this.reel_timer = 0; switch (this.facing) { case 'right': this._x += 4; break; case 'left': this._x -= 4; break; case 'down': this._y += 4; break; case 'up': this._y -= 4; } this.updateCollision(); } this.struggle_accelerate_timer += this.game.room_speed; if (this.slave_type == 'princess' or this.slave_type == 'tarantula') { this.struggle_accelerate_timer += this.game.room_speed; } if (this.struggle_accelerate_timer >= this.struggle_accelerate_speed) { this.struggle_accelerate_timer = 0; --this.struggle_speed; if (this.struggle_speed == 0) { if (this.cocoon_wave != 'no_angry') { this.angry = true; this.game.addFlash('red'); } if (this.cocoon_wave == 'no_angry') { this.cocoon_wave = 'get_angry'; } if (this.slave_type == 'tarantula') { this.angry = false; this.game.vocals.saySomething('escaped'); this.game.vocals.tarantula_tied = false; } this.slave_state = 'walking'; this.adjustSpeed(); this.snapGrid(this.step_length); if (this.slave_type != 'princess') { this.game.messages.flashMessage('nab cocooned slaves before they break free', true); } this.game.sounds.playSound('alarm'); } } }; v2.snapGrid = function (size) { while (this._x % size != 0) { ++this._x; } while (this._y % size != 0) { ++this._y; } }; v2.checkPlayer = function () { if (this.collide_me.hitTest(this.game.queen.collide_me)) { if (this.slave_state == 'walking') { this.game.queen.getKilled(); this.next_facing = 'none'; } else { if (this.slave_state == 'cocooned') { if (this.slave_type == 'tarantula') { this.game.addFlash('white', 100); this.game.addFlash('blue', 100); this.game.addFlash('white', 100); this.game.addFlash('blue', 100); this.game.addFlash('white', 100); this.game.addFlash('blue', 100); this.game.addFlash('blue', 60); this.game.queen.invincible = true; this.game.winGame(); } else { if (!this.game.last_stage) { this.game.vocals.saySomething('collect'); } this.game.addFlash('blue', 100); this.game.addFlash('blue', 60); } if (!this.game.last_stage or this.slave_type == 'tarantula') { this.game.score += this.score; if (this.angry and this.slave_type != 'princess') { this.showPoints(this.score, 'red'); } else { if (this.slave_type == 'princess') { this.showPoints(this.score, 'green', 'white'); } else { if (this.slave_type == 'tarantula') { this.showPoints(this.score, 'pink', 'white'); } else { this.showPoints(this.score, 'yellow'); } } } if (this.slave_type == 'princess') { this.game.sounds.mystery.start(); } else { if (this.slave_type == 'tarantula') { this.game.sounds.victory.start(); } else { this.game.sounds.sack.start(); } } } if (this.game.last_stage and this.slave_type != 'tarantula') { this.game.sounds.sack.start(); } this.removeMe(); } } } }; v2.releaseGem = function (where) { var v3 = _root.attachMovie('Gem', 'Gem' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3._x = this._x + 22; v3._y = this._y + 22; v3.game = this.game; v3.score = this.score; if (where == 'left' or where == 'right') { v3.hori_direction = where; } else { v3.vert_direction = where; } this.game.objs.push(v3); this.has_gem = false; }; v2.puffSmoke = function () { this.makeSmoke(-1 - Math.floor(Math.random() * 3), -1 - Math.floor(Math.random() * 3), 'big'); this.makeSmoke(1 + Math.floor(Math.random() * 3), -1 - Math.floor(Math.random() * 3), 'big'); this.makeSmoke(3 - Math.floor(Math.random() * 6), 1 + Math.floor(Math.random() * 3), 'big'); this.makeSmoke(3 - Math.floor(Math.random() * 6), -1 - Math.floor(Math.random() * 3), 'small'); this.makeSmoke(-1 - Math.floor(Math.random() * 6), 1 + Math.floor(Math.random() * 3), 'small'); this.makeSmoke(1 + Math.floor(Math.random() * 6), 1 + Math.floor(Math.random() * 3), 'small'); }; v2.makeSmoke = function (x_drift, y_drift, size) { var v3 = _root.attachMovie('Puff', 'Puff' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3._x = this._x; v3._y = this._y; v3.x_drift = x_drift; v3.y_drift = y_drift; v3.game = this.game; this.game.objs.push(v3); if (size == 'big') { v3.frame = 1; v3.dissolve_speed = 2; v3.drift_speed = 4; } else { v3.frame = 4; v3.dissolve_speed = 4; v3.drift_speed = 2; } }; v2.shoveDoor = function () { if ((this._x - this.game.origin_x) / 64 == 2) { if (this._y < this.game.room_height / 2) { this.game.door_upleft.getShoved(); this.removeMe(); } else { this.game.door_downleft.getShoved(); this.removeMe(); } } if ((this._x - this.game.origin_x) / 64 == 6) { if (this._y < this.game.room_height / 2) { this.game.door_upright.getShoved(); this.removeMe(); } else { this.game.door_downright.getShoved(); this.removeMe(); } } }; v2.queenDead = function () {}; v2.showPoints = function (amount, color, color_2) { var v3 = _root.attachMovie('Points', 'Points' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.game = this.game; v3.amount = amount; v3.color = color; if (color_2 != null) { v3.color_2 = color_2; } v3._x = this._x + 32; v3._y = this._y + 32; this.game.objs.push(v3); }; v2.removeMe = function () { --this.game.enemy_count; for (var v2 in this.game.enemies) { if (this.game.enemies[v2] == this) { this.game.enemies.splice(v2, 1); break; } } this.game.popBlip(); this.collide_me.removeMovieClip(); this.collide_left.removeMovieClip(); this.collide_right.removeMovieClip(); this.collide_up.removeMovieClip(); this.collide_down.removeMovieClip(); this.removeMovieClip(); }; v2.onMouseDown = function () { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { trace(''); trace('move_speed = ' + this.move_speed); trace('step_length = ' + this.step_length); } }; ASSetPropFlags(_global.Slave.prototype, null, 1); } #endinitclip } movieClip 2131 __Packages.Start { #initclip if (!_global.Start) { var v1 = function () { super(); }; _global.Start = v1; _global.Start extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { var v2 = _root.attachMovie('Loading_screen', 'Loading_screen', _root.getNextHighestDepth()); }; ASSetPropFlags(_global.Start.prototype, null, 1); } #endinitclip } movieClip 2132 __Packages.Init { #initclip if (!_global.Init) { var v1 = function () { super(); }; _global.Init = v1; _global.Init extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { var v2 = _root.attachMovie('Game', 'Game', _root.getNextHighestDepth()); }; ASSetPropFlags(_global.Init.prototype, null, 1); } #endinitclip } movieClip 2133 __Packages.Assassin { #initclip if (!_global.Assassin) { var v1 = function () { super(); }; _global.Assassin = v1; _global.Assassin extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.grid_x = 6000; this.grid_y = 6000; this.wall_up = false; this.wall_down = false; this.wall_right = false; this.wall_left = false; this._visible = false; this.frame = 6000; this.gotoAndStop(this.frame); this.facing = 'up'; this.animation_timer = 1; this.animation_speed = 2; this.assassin_state = 'hidden'; this.appear_timer = 20; this.disappear_timer = 0; this.appear_speed = 300; this.disappear_speed = 200; this.knife_speed = this.disappear_speed / 2; this.thrown_knife = false; this.gone = false; switch (this.game.area) { case 1: this.modifier = 0; break; case 2: this.modifier = 32; break; case 3: this.modifier = 64; break; case 4: this.modifier = 96; } this.first_appearance = true; }; v2.onEnterFrame = function () { if (this.game.unpaused) { if (this.assassin_state != 'dead') { this.tickTimer(); this.animateMe(); } else { ++this.animation_timer; if (this.animation_timer == this.animation_speed) { this.animation_timer = 0; this.animateMe(); } } } }; v2.tickTimer = function () { if (this.assassin_state == 'hidden') { if (this.gone) { this.removeMe(); } else { if (this.appear_timer < this.appear_speed) { this.appear_timer += this.game.room_speed; } else { this.appear_timer = 0; this.pickPosition(); this.assassin_state = 'appearing'; this.thrown_knife = false; this.game.messages.flashMessage('beware the assassin\'s blade', true); if (this.first_appearance) { this.first_appearance = false; this.game.sounds.playSound('guffaw'); } } } } if (this.assassin_state == 'visible') { if (this.disappear_timer < this.disappear_speed) { this.disappear_timer += this.game.room_speed; if (this.disappear_timer >= this.knife_speed and !this.thrown_knife) { if (!this.game.end_of_level) { this.throwKnife(); } this.thrown_knife = true; } } else { this.disappear_timer = 0; this.assassin_state = 'disappearing'; } } }; v2.animateMe = function () { var v2 = [0, 0, 0, 0, 0]; if (this.assassin_state == 'appearing' or this.assassin_state == 'disappearing') { v2 = [1, 5, 9, 13, 17]; } if (this.assassin_state == 'dead') { v2 = [17, 21, 25, 29, 33]; } if (this.assassin_state == 'appearing' or this.assassin_state == 'dead') { var v3 = false; switch (this.facing) { case 'right': if (this.frame < v2[0] or this.frame >= v2[1]) { this.frame = v2[0]; this._visible = true; v3 = true; } break; case 'left': if (this.frame < v2[1] or this.frame >= v2[2]) { this.frame = v2[1]; this._visible = true; v3 = true; } break; case 'down': if (this.frame < v2[2] or this.frame >= v2[3]) { this.frame = v2[2]; this._visible = true; v3 = true; } break; case 'up': if (this.frame < v2[3] or this.frame >= v2[4]) { this.frame = v2[3]; this._visible = true; v3 = true; } } if (!v3) { ++this.frame; if (this.frame == v2[1] or this.frame == v2[2] or this.frame == v2[3] or this.frame == v2[4]) { if (this.assassin_state == 'dead') { this.removeMe(); } else { this.assassin_state = 'visible'; switch (this.facing) { case 'right': this.frame = v2[1] - 1; break; case 'left': this.frame = v2[2] - 1; break; case 'down': this.frame = v2[3] - 1; break; case 'up': this.frame = v2[4] - 1; } } } } } else { if (this.assassin_state == 'disappearing') { var v3 = false; switch (this.facing) { case 'right': if (this.frame < v2[0] or this.frame >= v2[1]) { this.frame = v2[1]; v3 = true; } break; case 'left': if (this.frame < v2[1] or this.frame >= v2[2]) { this.frame = v2[2]; v3 = true; } break; case 'down': if (this.frame < v2[2] or this.frame >= v2[3]) { this.frame = v2[3]; v3 = true; } break; case 'up': if (this.frame < v2[3] or this.frame >= v2[4]) { this.frame = v2[4]; v3 = true; } } if (!v3) { --this.frame; if (this.frame == v2[0] - 1 or this.frame == v2[1] - 1 or this.frame == v2[2] - 1 or this.frame == v2[3] - 1) { this._visible = false; this.frame = 1; this.assassin_state = 'hidden'; this.frame = 6000; } } } } this.gotoAndStop(this.frame + this.modifier); }; v2.pickPosition = function () { var v7 = false; while (!v7) { var v2 = false; while (!v2) { this.grid_x = Math.floor(Math.random() * 9); this.grid_y = Math.floor(Math.random() * 7); var v4 = this.game.queen.grid_x; var v3 = this.game.queen.grid_y; v2 = true; if (v4 == this.grid_x and v3 == this.grid_y) { v2 = false; } if (v4 == this.grid_x and (v3 == this.grid_y - 1 or v3 == this.grid_y + 1)) { v2 = false; } if (v3 == this.grid_y and (v4 == this.grid_x - 1 or v4 == this.grid_x + 1)) { v2 = false; } for (var v10 in this.game.assassins) { if (this.grid_x == this.game.assassins[v10].grid_x and this.grid_y == this.game.assassins[v10].grid_y and this.game.assassins[v10] != this) { v2 = false; } } } this.checkWalls(); var v9 = this.wall_up + this.wall_down + this.wall_right + this.wall_left; if (v9 > 0 and v9 < 4) { var v5 = false; while (!v5) { var v8 = Math.ceil(Math.random() * 4); switch (v8) { case 1: if (this.wall_up) { this.facing = 'down'; v5 = true; } break; case 2: if (this.wall_down) { this.facing = 'up'; v5 = true; } break; case 3: if (this.wall_right) { this.facing = 'left'; v5 = true; } break; case 4: if (this.wall_left) { this.facing = 'right'; v5 = true; } } var v6 = this.game.queen; if (!(this.grid_x == v6.laser.grid_x and this.grid_x == v6.laser.grid_y and this.facing == this.findBackwards(v6.facing))) { this._x = this.grid_x * 64 + this.game.origin_x; this._y = this.grid_y * 64 + this.game.origin_y; v7 = true; for (v10 in this.game.spikes) { if (this.game.spikes[v10].collision_bump.hitTest(this)) { v7 = false; } } } } } } }; v2.checkWalls = function () { this.wall_up = false; this.wall_down = false; this.wall_right = false; this.wall_left = false; if (this.game.maze.original_mazes[this.game.room][this.grid_y][this.grid_x] == 3) { this.wall_left = true; this.wall_up = true; } if (this.game.maze.original_mazes[this.game.room][this.grid_y][this.grid_x] == 1) { this.wall_up = true; } if (this.game.maze.original_mazes[this.game.room][this.grid_y][this.grid_x] == 2) { this.wall_left = true; } if (this.game.maze.original_mazes[this.game.room][this.grid_y][this.grid_x + 1] == 3 or this.game.maze.original_mazes[this.game.room][this.grid_y][this.grid_x + 1] == 2) { this.wall_right = true; } if (this.game.maze.original_mazes[this.game.room][this.grid_y + 1][this.grid_x] == 3 or this.game.maze.original_mazes[this.game.room][this.grid_y + 1][this.grid_x] == 1) { this.wall_down = true; } }; v2.findBackwards = function (where) { switch (where) { case 'left': return 'right'; break; case 'right': return 'left'; break; case 'up': return 'down'; break; case 'down': return 'up'; } }; v2.throwKnife = function () { var v3 = _root.attachMovie('Dagger', 'Dagger' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3._x = this._x + 24; v3._y = this._y + 24; v3.game = this.game; this.game.objs.push(v3); var v4 = Math.ceil(Math.random() * 2); if (this.facing == 'up' or this.facing == 'down') { if (this.wall_left and !this.wall_right) { v3.start_direction = 'right'; } else { if (this.wall_right and !this.wall_left) { v3.start_direction = 'left'; } else { if (this.game.queen.grid_x > this.grid_x) { v3.start_direction = 'right'; } else { if (this.game.queen.grid_x < this.grid_x) { v3.start_direction = 'left'; } else { if (v4 == 2) { v3.start_direction = 'right'; } else { v3.start_direction = 'left'; } } } } } v3.vert_direction = this.facing; } else { if (this.wall_up and !this.wall_down) { v3.start_direction = 'down'; } else { if (this.wall_down and !this.wall_up) { v3.start_direction = 'up'; } else { if (this.game.queen.grid_y > this.grid_y) { v3.start_direction = 'down'; } else { if (this.game.queen.grid_y < this.grid_y) { v3.start_direction = 'up'; } else { if (v4 == 2) { v3.start_direction = 'down'; } else { v3.start_direction = 'up'; } } } } } v3.hori_direction = this.facing; } this.game.sounds.playSound('spinner'); }; v2.getZapped = function () { if (this.assassin_state == 'visible' or this.assassin_state == 'disappearing') { this.game.score += 500; var v2 = 500; switch (this.game.area) { case 1: this.showPoints(v2, 'blue'); break; case 2: this.showPoints(v2, 'pink'); break; case 3: this.showPoints(v2, 'purple'); break; case 4: this.showPoints(v2, 'red'); } this.game.addFlash('yellow', 50); this.assassin_state = 'dead'; this.game.sounds.zappo.start(); this.game.vocals.saySomething('assassin'); } }; v2.showPoints = function (amount, color) { var v3 = _root.attachMovie('Points', 'Points' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.game = this.game; v3.amount = amount; v3.color = color; v3.color_2 = 'white'; v3._x = this._x + 32; v3._y = this._y + 32; this.game.objs.push(v3); }; v2.removeMe = function () { for (var v2 in this.game.assassins) { if (this.game.assassins[v2] == this) { this.game.assassins.splice(v2, 1); break; } } this.removeMovieClip(); }; ASSetPropFlags(_global.Assassin.prototype, null, 1); } #endinitclip } movieClip 2134 __Packages.Cast { #initclip if (!_global.Cast) { var v1 = function () { super(); }; _global.Cast = v1; _global.Cast extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.room_width = 608; this.room_height = 480; this.characters = [['slave', 'slave\n100 points', 'yellow', 64, 64], ['armor', 'armor\n300 points', 'yellow', 64, 160], ['princess', 'princess\n2000 points', 'yellow', 64, 256], ['crystal', 'doubles\nvalue', 'red', 64, 352], ['gladiator', 'gladiator\n200 points', 'yellow', 320, 64], ['alchemist', 'alchemist\n500 points', 'yellow', 320, 160], ['assassin', 'assassin\n500 points', 'yellow', 320, 256], ['unknown', 'unknown\n15000 points', 'red', 320, 352]]; this.character_count = 0; this.character_timer = 0; this.character_speed = 30; this.demo_timer = 0; this.demo_speed = 90; this.message_font = new TextFormat(); this.message_font.font = 'MessageFont'; this.message_font.embedFonts = true; this.message_font.size = 16; this.message_font.align = 'center'; this.message_color = false; this.objs = []; this.words = []; this.messages = ['use your laser to recapture escaped slaves!', 'collect power gems to double your score!', 'earn an extra queen every 25000 points!']; this.message_pick = 0; this.message_timer = 0; this.message_speed = 112; this.top_text = this.printText(this.messages[this.message_pick], 'blue', 0, 26, this.room_width, 12); this.bottom_text = this.printText('press the spacebar to play!', 'green', 0, 442, this.room_width, 12); this.key_clear = false; }; v2.onEnterFrame = function () { this.flashText(); this.cycleMessages(); this.showCharacters(); if (Key.isDown(32) and this.key_clear) { this.startGame(); } if (!Key.isDown(32)) { this.key_clear = true; } }; v2.flashText = function () { if (!this.message_color) { this.message_color = true; this.top_text.textColor = this.hexColor('blue'); this.bottom_text.textColor = this.hexColor('green'); } else { this.message_color = false; this.top_text.textColor = this.hexColor('green'); this.bottom_text.textColor = this.hexColor('blue'); } }; v2.cycleMessages = function () { if (this.message_timer < this.message_speed) { ++this.message_timer; } else { this.message_timer = 0; ++this.message_pick; if (this.message_pick > this.messages.length - 1) { this.message_pick = 0; } this.top_text.text = this.messages[this.message_pick]; this.top_text.setTextFormat(this.message_font); } }; v2.showCharacters = function () { if (this.character_count < 8) { if (this.character_timer < this.character_speed) { ++this.character_timer; } else { this.character_timer = 0; this.makeCharacter(this.characters[this.character_count][0], this.characters[this.character_count][1], this.characters[this.character_count][2], this.characters[this.character_count][3], this.characters[this.character_count][4]); ++this.character_count; } } else { if (this.demo_timer < this.demo_speed) { ++this.demo_timer; } else { this.startDemo(); } } }; v2.makeCharacter = function (identity, text_dump, text_color, where_x, where_y) { var v3 = _root.attachMovie('Character', 'Character' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.identity = identity; v3._x = where_x; v3._y = where_y; this.objs.push(v3); this.printText(text_dump, text_color, where_x + 76, where_y + 16, 136, 64); }; v2.printText = function (text_dump, text_color, where_x, where_y, text_width, text_height) { var v3 = _root.createTextField('Textbox', _root.getNextHighestDepth(), where_x, where_y, text_width, text_height); v3.embedFonts = true; v3.textColor = this.hexColor(text_color); v3.text = text_dump; v3.setTextFormat(this.message_font); this.words.push(v3); return v3; }; v2.hexColor = function (color) { switch (color) { case 'white': return 16579836; break; case 'cyan': return 64764; break; case 'pink': return 14483550; break; case 'purple': return 6881446; break; case 'yellow': return 14012672; break; case 'red': return 16125711; break; case 'green': return 64512; break; case 'blue': return 4023295; } }; v2.startDemo = function () { var v3 = _root.attachMovie('Game', 'Game', _root.getNextHighestDepth()); v3.starfield = this.starfield; v3.sounds = this.sounds; v3.vocals = this.vocals; v3.demo = true; this.removeMe(); }; v2.startGame = function () { this.sounds.title_loop.stop(); var v3 = _root.attachMovie('Game', 'Game', _root.getNextHighestDepth()); v3.starfield = this.starfield; v3.sounds = this.sounds; v3.vocals = this.vocals; v3.demo = false; this.removeMe(); }; v2.removeMe = function () { for (var v2 in this.objs) { this.objs[v2].removeMovieClip(); } for (v2 in this.words) { this.words[v2].removeTextField(); } this.removeMovieClip(); }; ASSetPropFlags(_global.Cast.prototype, null, 1); } #endinitclip } movieClip 2135 __Packages.Character { #initclip if (!_global.Character) { var v1 = function () { super(); }; _global.Character = v1; _global.Character extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.frame = 1; this.animation_timer = 0; this.animation_speed = 2; if (this.identity == 'crystal') { this._x += 22; this._y += 22; } if (this.identity == 'traitor') { switch (this.area) { case 1: this.modifier = 0; break; case 2: this.modifier = 2; break; case 3: this.modifier = 4; break; case 4: case 5: this.modifier = 6; } } this.animateMe(); }; v2.onEnterFrame = function () { if (this.animation_timer < this.animation_speed) { ++this.animation_timer; } else { this.animation_timer = 0; this.animateMe(); } }; v2.animateMe = function () { if (this.identity == 'slave') { switch (this.frame) { case 1: this.gotoAndStop(1); break; case 2: this.gotoAndStop(2); break; case 3: this.gotoAndStop(3); break; case 4: this.gotoAndStop(4); break; case 5: this.gotoAndStop(5); break; case 6: this.gotoAndStop(6); break; case 7: this.gotoAndStop(7); break; case 8: this.gotoAndStop(8); } } else { if (this.identity == 'armor') { switch (this.frame) { case 1: this.gotoAndStop(9); break; case 2: this.gotoAndStop(10); break; case 3: this.gotoAndStop(11); break; case 4: this.gotoAndStop(12); break; case 5: this.gotoAndStop(13); break; case 6: this.gotoAndStop(14); break; case 7: this.gotoAndStop(15); break; case 8: this.gotoAndStop(16); } } else { if (this.identity == 'princess') { switch (this.frame) { case 1: this.gotoAndStop(17); break; case 2: this.gotoAndStop(18); break; case 3: this.gotoAndStop(19); break; case 4: this.gotoAndStop(20); } } else { if (this.identity == 'gladiator') { switch (this.frame) { case 1: this.gotoAndStop(21); break; case 2: this.gotoAndStop(22); break; case 3: this.gotoAndStop(23); break; case 4: this.gotoAndStop(24); break; case 5: this.gotoAndStop(25); break; case 6: this.gotoAndStop(26); break; case 7: this.gotoAndStop(27); break; case 8: this.gotoAndStop(28); } } else { if (this.identity == 'alchemist') { switch (this.frame) { case 1: this.gotoAndStop(29); break; case 2: this.gotoAndStop(30); break; case 3: this.gotoAndStop(31); break; case 4: this.gotoAndStop(32); } } else { if (this.identity == 'assassin') { switch (this.frame) { case 1: this.gotoAndStop(33); break; case 2: this.gotoAndStop(33); break; case 3: this.gotoAndStop(33); break; case 4: this.gotoAndStop(33); break; case 5: this.gotoAndStop(34); break; case 6: this.gotoAndStop(35); break; case 7: this.gotoAndStop(36); break; case 8: this.gotoAndStop(37); break; case 9: this.gotoAndStop(37); break; case 10: this.gotoAndStop(37); break; case 11: this.gotoAndStop(37); break; case 12: this.gotoAndStop(37); break; case 13: this.gotoAndStop(36); break; case 14: this.gotoAndStop(35); break; case 15: this.gotoAndStop(34); break; case 16: this.gotoAndStop(33); } } else { if (this.identity == 'unknown') { this.gotoAndStop(38); } else { if (this.identity == 'crystal') { switch (this.frame) { case 1: this.gotoAndStop(39); break; case 2: this.gotoAndStop(40); break; case 3: this.gotoAndStop(41); break; case 4: this.gotoAndStop(42); break; case 5: this.gotoAndStop(43); break; case 6: this.gotoAndStop(44); break; case 7: this.gotoAndStop(45); break; case 8: this.gotoAndStop(46); } } else { if (this.identity == 'traitor') { switch (this.frame) { case 1: this.gotoAndStop(47 + this.modifier); break; case 2: this.gotoAndStop(47 + this.modifier); break; case 3: this.gotoAndStop(47 + this.modifier); break; case 4: this.gotoAndStop(47 + this.modifier); break; case 5: this.gotoAndStop(48 + this.modifier); break; case 6: this.gotoAndStop(48 + this.modifier); break; case 7: this.gotoAndStop(48 + this.modifier); break; case 8: this.gotoAndStop(48 + this.modifier); } } } } } } } } } } ++this.frame; if (this.identity == 'assassin') { if (this.frame > 16) { this.frame = 1; } } else { if (this.identity == 'princess' or this.identity == 'alchemist') { if (this.frame > 4) { this.frame = 1; } } else { if (this.identity == 'unknown') { this.frame = 1; } else { if (this.frame > 8) { this.frame = 1; } } } } }; ASSetPropFlags(_global.Character.prototype, null, 1); } #endinitclip } movieClip 2136 __Packages.Collision { #initclip if (!_global.Collision) { var v1 = function () { super(); }; _global.Collision = v1; _global.Collision extends MovieClip; var v2 = v1.prototype; ASSetPropFlags(_global.Collision.prototype, null, 1); } #endinitclip } movieClip 2137 __Packages.Credits { #initclip if (!_global.Credits) { var v1 = function () { super(); }; _global.Credits = v1; _global.Credits extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.game.addFlash('blue'); this.game.sounds.shriek.start(); this.game.vocals.iamthespiderqueen.start(); this.game.sounds.closing.start(); this.base_frame = 18; this.frame = 1; this.art = _root.attachMovie('Art', 'Art' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.art.gotoAndStop(this.base_frame + this.frame); this.credit_timer = 0; this.credit_speed = 210; this.key_clear = false; }; v2.onEnterFrame = function () { if (this.credit_timer < this.credit_speed) { ++this.credit_timer; } else { this.rollCredit(); this.credit_timer = 0; } if (Key.isDown(32) and this.key_clear) { this.titleScreen(); } if (!Key.isDown(32)) { this.key_clear = true; } }; v2.rollCredit = function () { ++this.frame; if (this.frame == 5) { this.egg_1 = this.makeEgg('delicious'); this.egg_2 = this.makeEgg('icantwaittoeatthis'); } if (this.frame == 6) { this.egg_1.removeMovieClip(); this.egg_2.removeMovieClip(); } if (this.frame > 9) { this.titleScreen(); } else { this.game.addFlash('blue'); this.art.gotoAndStop(this.base_frame + this.frame); } }; v2.makeEgg = function (identity) { var v3 = _root.attachMovie('Egg', 'Egg' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.identity = identity; v3.game = this.game; v3._visible = false; return v3; }; v2.titleScreen = function () { this.game.sounds.closing.stop(); this.art.removeMe(); this.egg_1.removeMovieClip(); this.egg_2.removeMovieClip(); this.game.highScore(); this.removeMovieClip(); }; ASSetPropFlags(_global.Credits.prototype, null, 1); } #endinitclip } movieClip 2138 __Packages.Cutscene { #initclip if (!_global.Cutscene) { var v1 = function () { super(); }; _global.Cutscene = v1; _global.Cutscene extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.scene_type = 'queen'; this.victory = false; this.words = []; this.setupText(); switch (this.the_scene) { case 0: this.the_message = 0; break; case 1: this.the_message = 1; break; case 4: this.the_message = 2; break; case 7: this.the_message = 3; break; case 10: this.the_message = 4; break; case 13: this.the_message = 5; break; case 14: this.the_message = 6; this.victory = true; break; default: this.the_message = this.randomMessage(); this.scene_type = 'random'; } this.text_spacing = 16; this.message_font = new TextFormat(); this.message_font.font = 'MessageFont'; this.message_font.embedFonts = true; this.message_font.size = 16; this.message_font.align = 'center'; this.words_timer = 0; this.words_speed = 6; this.text_timer = 0; this.text_speed = 10; this.next_timer = 0; this.next_speed = 200; this.skip_timer = 60; this.timer_speed = 1; if (this.scene_type == 'queen') { this.queenScene(); } else { this.randomScene(); } this.text_y = this.words[this.text_bank][this.the_message][0][0]; this.text_line = 1; this.first_words = true; this.key_clear = false; }; v2.randomMessage = function () { var v2 = false; var v3 = 10000; while (!v2) { v2 = true; v3 = Math.floor(Math.random() * this.words[1].length); for (var v4 in this.game.tips) { if (this.game.tips[v4] == v3) { v2 = false; } } } this.game.tips.push(v3); return v3; }; v2.queenScene = function () { this.art = _root.attachMovie('Art', 'Art' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); if (this.victory) { this.art.gotoAndStop(13); this.art.box_pattern = 13; } else { this.art.gotoAndStop(9); } this.game.addFlash('white'); this.game.addFlash('blue'); this.text_bank = 0; this.text_speed = 20; if (this.victory) { this.words_speed = 150; this.next_speed = 300; } if (!this.victory) { this.game.sounds.takeoff.start(); } else { this.game.sounds.shriek.start(); } if (this.game.level == 0) { this.game.sounds.opening_loop.start(0, 10000); } else { if (this.victory) { this.game.sounds.victory_loop.start(0, 10000); } else { this.game.sounds.cutscene_loop.start(0, 10000); } } }; v2.randomScene = function () { this.art = _root.attachMovie('Art', 'Art' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.art.gotoAndStop(12); this.walker = _root.attachMovie('Walker', 'Walker' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.walker.mom = this; this.walker.facing = this.exit_direction; if (this.exit_direction == 'right') { this.walker._x = -64; } else { this.walker._x = this.game.room_width; } this.walker._y = 290; var v3 = 'none'; if (this.the_scene == 2) { this.walker.identity = 'shield'; v3 = 'queen'; } if (this.the_scene == 5) { this.walker.identity = 'queen'; v3 = 'gladiator'; } if (this.the_scene == 8) { this.walker.identity = 'princess'; v3 = 'queen'; } this.partner = this.walker; if (v3 != 'none') { this.walker = _root.attachMovie('Walker', 'Walker' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.walker.mom = this; this.walker.facing = this.exit_direction; if (this.exit_direction == 'right') { this.walker._x = -192; } else { this.walker._x = this.game.room_width + 128; } this.walker._y = 290; this.walker.identity = v3; } var v4 = 'none'; switch (this.the_scene) { case 2: case 3: v4 = 'blue'; break; case 5: case 6: v4 = 'pink'; break; case 8: case 9: v4 = 'purple'; break; case 11: case 12: v4 = 'red'; } this.printText('now entering ' + this.destination, v4, 0, 416, this.destination_indent); this.text_bank = 1; this.game.sounds.hallway.start(); }; v2.onEnterFrame = function () { this.adjustSpeed(); this.makeScene(); if (Key.isDown(32) and this.key_clear) { if (this.victory and this.words_timer < this.words_speed) { this.words_timer = this.words_speed - 1; this.key_clear = false; } else { this.endScene(); } } if (this.scene_type == 'queen') { if (this.skip_timer > 0) { --this.skip_timer; if (this.skip_timer == 0) { this.textBorder('PRESS SPACE TO SKIP', 450, false); this.printText('PRESS SPACE TO SKIP', 'blue', 0, 450, false); } } } if (!Key.isDown(32)) { this.key_clear = true; } }; v2.adjustSpeed = function () { this.timer_speed = 1; var v2 = 10; if (Key.isDown(37) or Key.isDown(38) or Key.isDown(39) or Key.isDown(40)) { this.timer_speed = v2; } }; v2.makeScene = function () { if (this.words_timer < this.words_speed) { ++this.words_timer; if (this.words_timer >= this.words_speed) { if (this.scene_type == 'queen') { if (this.the_scene == 1) { this.art.gotoAndStop(29); this.art.animation = 'crystal'; } else { if (this.victory) { this.game.addFlash('blue'); this.art.gotoAndStop(32); this.art.removeBoxes(); } else { this.art.gotoAndStop(10); } } } } } else { if (this.text_timer < this.text_speed) { this.text_timer += this.timer_speed; } else { this.text_timer = 0; if (this.words[this.text_bank][this.the_message][this.text_line] != null) { var v2 = false; if (this.words[this.text_bank][this.the_message][this.text_line][2] == 'indent') { v2 = true; } if (this.scene_type == 'queen') { this.textBorder(this.words[this.text_bank][this.the_message][this.text_line][0], this.text_y, v2); } this.printText(this.words[this.text_bank][this.the_message][this.text_line][0], this.words[this.text_bank][this.the_message][this.text_line][1], 0, this.text_y, v2); } else { if (this.scene_type == 'queen') { this.done = true; if (this.victory) { this.art.animation = 'tarantula'; } } } this.text_y += this.text_spacing; this.text_line += 1; if (this.scene_type == 'queen' and this.first_words) { this.first_words = false; this.game.sounds.computer.start(); } } } if (this.scene_type == 'random') { if (this.walker.done) { this.endScene(); } } if (this.done) { if (this.next_timer < this.next_speed) { this.next_timer += this.timer_speed; } else { this.endScene(); } } }; v2.textBorder = function (text_line, text_y, indent) { this.printText(text_line, 'black', -2, text_y - 2, indent); this.printText(text_line, 'black', 0, text_y - 2, indent); this.printText(text_line, 'black', 2, text_y - 2, indent); this.printText(text_line, 'black', 2, text_y, indent); this.printText(text_line, 'black', 2, text_y + 2, indent); this.printText(text_line, 'black', 0, text_y + 2, indent); this.printText(text_line, 'black', -2, text_y + 2, indent); this.printText(text_line, 'black', -2, text_y, indent); }; v2.printText = function (text_dump, text_color, where_x, where_y, indent) { if (indent) { ++where_x; } var v3 = _root.createTextField('Textbox', _root.getNextHighestDepth(), where_x, where_y, 608, 12); v3.embedFonts = true; v3.textColor = this.game.hexColor(text_color); v3.text = text_dump; v3.setTextFormat(this.message_font); this.words.push(v3); }; v2.setupText = function () { this.words = [[[[186], ['HOW DARE YOU INTERRUPT YOUR QUEEN', 'red'], ['WHILE SHE\'S OCCUPIED WITH HER SLAVES?', 'red'], [''], ['BUT THAT\'S JUST IT, YOUR MAJESTY!', 'yellow', 'indent'], ['THE SLAVES ARE REVOLTING!', 'yellow', 'indent'], ['IF THEY FIND YOU, YOU\'RE DOOMED!', 'yellow'], [''], ['THEY\'LL FIND A SWIFT RETURN TO', 'red'], ['THE DUNGEONS - AS SOON AS I HAVE', 'red'], ['MY CRYSTAL SCEPTRE IN MY HAND!', 'red']], [[186], ['CUT FROM THE LARGEST, PUREST', 'red', 'indent'], ['POWER CRYSTAL TO COME FROM', 'red', 'indent'], ['THE SLAVE MINES, AND SET IN', 'red'], ['A ROD OF COLD BLUE CHROME,', 'red', 'indent'], ['THE CRYSTAL SCEPTRE IS THE', 'red'], ['FOUNDATION OF MY EMPIRE,', 'red'], ['ALLOWING ME TO ENSNARE WHOEVER', 'red', 'indent'], ['I SET MY EYES UPON. WITH IT', 'red'], ['IN MY GRIP, I SHALL REMIND', 'red'], ['THESE SLAVES OF THEIR PLACE.', 'red', 'indent']], [[186], ['THE MOST BEAUTIFUL PALACE ON', 'red', 'indent'], ['MARS IS IN A STATE OF REVOLT!', 'red'], ['WHO COULD HAVE INCITED', 'red', 'indent'], ['A REBELLION OF THIS SCALE?', 'red'], [''], ['STEPPING ONTO THE BATTLEMENTS', 'red'], ['I CAN SEE FIRES BEING LIT.', 'red', 'indent'], ['THIS IS THE BATTLE THAT MY', 'red', 'indent'], ['CASTLE WAS BUILT TO ENDURE.', 'red', 'indent']], [[174], ['IF THERE\'S ONE THING I', 'red', 'indent'], ['JUST CAN\'T ABIDE, IT\'S', 'red'], ['AN UNDER-STOCKED DUNGEON!', 'red', 'indent'], ['BUT I CAN SOLVE THAT PROBLEM', 'red', 'indent'], ['AND TIDY UP MY PALACE', 'red'], ['AT THE SAME TIME!', 'red', 'indent'], [''], ['SPEAKING OF SNARING TWO', 'red'], ['BIRDS WITH ONE CRYSTAL,', 'red'], ['THIS DUNGEON IS WELL-EQUIPPED!', 'red', 'indent'], ['ONE OF THESE SLAVES MUST KNOW', 'red', 'indent'], ['WHO\'S BEHIND THIS COUP!', 'red', 'indent']], [[158], ['FINDING YOU IN THE TORTURE CHAMBER', 'red', 'indent'], ['SAVED ME SOME TIME, PRINCESS.', 'red', 'indent'], ['BUT I\'M STILL IN A HURRY, SO FORGIVE', 'red'], ['ME IF MY QUESTIONS ARE A BIT POINTED.', 'red'], [''], ['OW! AHH! YEEP! YOW!', 'yellow', 'indent'], [''], ['WHO INCITED THE REVOLT?', 'red'], [''], ['YOWCH! IT WAS QUEEN TARANTULA!', 'yellow'], [''], ['SHE DID TAKE OUR BREAK-UP POORLY.', 'red'], ['NO MORE TEASING! IT\'S TIME TO', 'red'], ['SHOW HER IT\'S REALLY OVER!', 'red']], [[192], ['TARANTULA! I KNOW YOU\'RE UPSET THAT', 'red', 'indent'], ['THINGS DIDN\'T WORK OUT, BUT THIS ISN\'T', 'red', 'indent'], ['THE WAY TO GET BACK IN THE PALACE!', 'red', 'indent'], [''], ['DURING MY STAY IN THE CASTLE I LEARNED', 'yellow', 'indent'], ['HOW MUCH YOU ENJOY THE FEEL OF YOUR OWN', 'yellow'], ['ROPES, A NEED I\'D LOVE TO ACCOMODATE', 'yellow'], ['AGAIN! SEE, I\'VE MADE A CRYSTAL SCEPTRE', 'yellow', 'indent'], ['OF MY OWN! I CAN\'T WAIT TO TRY IT OUT!', 'yellow']], [[192], ['WITH A CRYSTAL STAFF IN EACH OF MY HANDS,', 'red', 'indent'], ['MY SLAVES HAD TO ACKNOWLEDGE THEIR TRUE MISTRESS.', 'red', 'indent'], [''], ['BUT TARANTULA WAS RIGHT AFTER ALL - HER LITTLE', 'red', 'indent'], ['ESCAPADE DID GET HER BACK INTO THE ROYAL PALACE.', 'red', 'indent'], ['I\'VE DECIDED I NEED AN HEIR TO CARRY ON MY EMPIRE,', 'red', 'indent'], ['AND NONE OF THESE PRINCESSES ARE GOING TO LEARN HOW', 'red'], ['TO DISCIPLINE LESSERS WITHOUT SOMEONE TO PRACTICE ON.', 'red']]], [[[108], ['POWER PLAY TIP:', 'white'], [''], ['GRAB THE GEM A WEBBED SLAVE DROPS', 'green'], ['TO EARN DOUBLE THE POINTS!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['SHIELDED SLAVES ARE MORE VALUABLE', 'green'], ['BEFORE THEY THROW AWAY THEIR SHIELDS!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['THE LAST SLAVE LEFT ON SCREEN WILL TRY', 'green'], ['AND MAKE A BREAK FOR IT! DON\'T LET HER!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['IF YOU TAKE TOO LONG TO CLEAR THE SCREEN,', 'green'], ['THE GAME WILL SPEED UP! BETTER HURRY!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['THE SLAVE PRINCESS IS WORTH A LOT, BUT YOU', 'green', 'indent'], ['HAVE TO CATCH HER BEFORE SHE GETS AWAY!', 'green']], [[108], ['DID YOU KNOW?', 'white'], [''], ['MARS\' OLYMPUS MONS IS PROBABLY THE TALLEST', 'green'], ['MOUNTAIN AND VOLCANO IN THE SOLAR SYSTEM!', 'green', 'indent']], [[108], ['DID YOU KNOW?', 'white'], [''], ['SYRTIS MAJOR, MARS\' DARK SPOT, GETS ITS COLOR', 'green'], ['FROM THE BLACK BASALT OF AN EXTINCT VOLCANO!', 'green', 'indent']], [[108], ['DID YOU KNOW?', 'white'], [''], ['MARTIAN POWER CRYSTALS ARE PRIZED FOR THE', 'green', 'indent'], ['PERCEPTION-ALTERING EFFECT THEY HAVE ON VIEWERS.', 'green']], [[108], ['DID YOU KNOW?', 'white'], [''], ['ERECTING THE MARS FACE REQUIRED SO MANY SLAVES,', 'green'], ['IT SHUT DOWN THE CRYSTAL MINES FOR MONTHS!', 'green']], [[108], ['YOU\'RE THE QUEEN!', 'white'], [''], ['YOU CAN HOLD ANY OF THE ARROW KEYS', 'green', 'indent'], ['TO SPEED UP THESE SCREENS!', 'green']], [[108], ['YOU\'RE THE QUEEN!', 'white'], [''], ['IF THE FIRST AREA\'S TOO SLOW FOR YOU, USE THE', 'green'], ['STAIRS IN THE THRONE ROOM TO START AT A LATER ONE!', 'green']], [[108], ['YOU\'RE THE QUEEN!', 'white'], [''], ['THERE\'S A SECRET PASSAGE IN THE THRONE ROOM!', 'green'], ['HAVE YOU FOUND IT YET?', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['YOU CAN DEFEAT AN ASSASSIN BY', 'green', 'indent'], ['HITTING HER HEAD-ON WITH YOUR LASER.', 'green']], [[108], ['MEET YOUR SLAVES!', 'white'], [''], ['THE GLADIATOR CARRIES AN AXE,', 'green'], ['AND WILL CHASE YOU IF SHE SEES YOU.', 'green']], [[108], ['MEET YOUR SLAVES!', 'white'], [''], ['THE ALCHEMIST LEAVES A TRAIL OF DEADLY FLAME', 'green', 'indent'], ['BEHIND HER! STEP IN IT AND YOU\'RE TOAST!', 'green', 'indent']], [[108], ['MEET YOUR SLAVES!', 'white'], [''], ['THE ASSASSIN SPRINGS OUT OF THE WALLS', 'green'], ['AND TOSSES KNIVES THAT YOU SHOULD DODGE!', 'green']], [[108], ['MEET YOUR SLAVES!', 'white'], [''], ['ARMORED SLAVES HAVE TO BE ZAPPED FROM THE BACK', 'green'], ['OR SIDES - UNTIL THEY THROW THEIR SHIELDS AWAY.', 'green', 'indent']], [[108], ['MEET YOUR SLAVES!', 'white'], [''], ['THE PRINCESS COMMANDS THE SLAVE REBELLION.', 'green'], ['GRAB HER BEFORE SHE FLEES THE BATTLEFIELD!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['WHILE YOUR LASER IS ON A COCOONED SLAVE,', 'green', 'indent'], ['SHE WILL BE UNABLE TO BREAK FREE!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['YOU CAN USE YOUR LASER TO REEL A SLAVE IN,', 'green'], ['HANDY IF SHE\'S IN THE MIDDLE OF A FIRE!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['YOU EARN AN EXTRA QUEEN EVERY', 'green', 'indent'], ['' + this.game.extend_score + ' POINTS. VERY HANDY!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['AN ASSASSIN\'S KNIFE WILL ALWAYS', 'green'], ['BOUNCE TWICE BEFORE DISAPPEARING!', 'green']], [[108], ['DID YOU KNOW?', 'white'], [''], ['DUE TO THE PLANET\'S DISTANCE FROM THE SUN,', 'green'], ['THE MARTIAN YEAR IS TWICE AS LONG AS EARTH\'S!', 'green']], [[108], ['DID YOU KNOW?', 'white'], [''], ['MARTIAN DUST STORMS ARE SO LARGE', 'green'], ['THEY SOMETIMES COVER THE ENTIRE PLANET!', 'green']], [[108], ['DID YOU KNOW?', 'white'], [''], ['MARS\'S ICE CAPS ARE SO BIG THAT IF THEY', 'green'], ['MELTED, MARS WOULD BE COVERED IN WATER!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['REMEMBER THAT YOU\'RE A SPIDER! YOU CAN SNEAK', 'green'], ['UP ON SLAVES CLOSER THAN YOU MIGHT EXPECT.', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['A POWER GEM IS WORTH AS MANY POINTS AS', 'green'], ['THE SLAVE THAT DROPPED IT. GRAB \'EM!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['WANT TO START LATER IN THE GAME?', 'green'], ['TRY THE STAIRS IN THE THRONE ROOM!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['HAVE YOU LOOKED BEHIND THE DRAPES', 'green'], ['IN THE THRONE ROOM YET?', 'green']], [[108], ['YOU\'RE THE QUEEN!', 'white'], [''], ['YOU CAN PRESS THE P KEY', 'green'], ['TO PAUSE THE GAME!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['YOU CAN USUALLY OUTRUN A GLADIATOR', 'green'], ['WHO\'S CHASING YOU. TURN AND ZAP HER!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['THE CLOSER YOU ARE TO A SLAVE WHEN YOU COCOON', 'green'], ['HER, THE CLOSER YOU\'LL BE TO THE GEM SHE DROPS!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['REMEMBER THAT YOU CAN LEAVE A SLAVE COCOONED', 'green'], ['WHILE YOU COLLECT A GEM OR ANOTHER SLAVE!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['THE ASSASSIN\'S KNIFE TRAVELS DIAGONALLY!', 'green'], ['DON\'T LEAVE YOURSELF VULNERABLE!', 'green']], [[108], ['DID YOU KNOW?', 'white'], [''], ['A SYSTEM OF CANALS HAD TO BE BUILT ON MARS', 'green'], ['TO SUPPLY WATER FOR THE ROYAL BATH HOUSE.', 'green', 'indent']], [[108], ['SPIDER-QUEEN SEEKING', 'white'], [''], ['ISO SELF-ASSURED PRINCESS TYPE TO CHASE AROUND', 'green'], ['MY MARTIAN PLEASURE PALACE. MUST SHED GLITTER.', 'green', 'indent']], [[108], ['SPIDER-QUEEN SEEKING', 'white'], [''], ['LIGHT MY FIRE! YOU\'RE INTO CORSETS, BLADES AND', 'green'], ['FIRE PLAY. VISIT MY PALACE AND SET ME AFLAME.', 'green', 'indent']], [[108], ['SPIDER-QUEEN SEEKING', 'white'], [''], ['STRONG, BURLY TYPE? FANTASIZE ABOUT CARRYING A', 'green'], ['SHIELD AND BEING COMMANDEERED FROM BEHIND? CALL!', 'green', 'indent']], [[108], ['SPIDER-QUEEN SEEKING', 'white'], [''], ['BE MY GLADIATOR. YOU SHOW A TOUGH EXTERIOR,', 'green'], ['BUT WHEN I COME NEAR YOUR HEAD TURNS.', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['USE THE INVULNERABLE TIME YOU GET AFTER DYING', 'green'], ['TO CLEAR OUT A BUNCH OF SLAVES!', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['DON\'T BE AFRAID TO TAKE A STEP BACK TO PUT', 'green'], ['SOME SPACE BETWEEN YOU AND A CHARGING SLAVE.', 'green']], [[108], ['POWER PLAY TIP:', 'white'], [''], ['YOU CAN USE YOUR LASER TO DEFLECT', 'green'], ['ASSASSINS\' KNIVES, BUT BE CAREFUL!', 'green']], [[108], ['YOU\'RE THE QUEEN!', 'white'], [''], ['THE MARKS ON THE UPPER LEFT SHOW HOW', 'green', 'indent'], ['MANY SLAVES ARE IN YOUR VICINITY.', 'green']], [[108], ['YOU\'RE THE QUEEN!', 'white'], [''], ['THE MAP AT THE TOP OF THE SCREEN', 'green', 'indent'], ['SHOWS HOW CLOSE YOU ARE TO YOUR GOAL.', 'green']], [[108], ['DID YOU KNOW?', 'white'], [''], ['MARTIAN SCIENTISTS HAVE PROPOSED REPLACING', 'green', 'indent'], ['THE POWER CRYSTAL MINING FORCE WITH ROBOTS.', 'green']], [[108], ['DID YOU KNOW?', 'white'], [''], ['THE BUG-LADIES OF VENUS ARE EXPATRIATES FROM', 'green', 'indent'], ['MARS, WHOSE SPIDER-WOMEN FOUND THEM DELICIOUS.', 'green']]]]; }; v2.endScene = function () { this.game.sounds.opening_loop.stop(); this.game.sounds.cutscene_loop.stop(); this.game.sounds.victory_loop.stop(); if (!this.victory) { this.game.beginLevel(this.game.level, this.game.room); } else { this.rollCredits(); } this.removeMe(); }; v2.rollCredits = function () { var v3 = _root.attachMovie('Credits', 'Credits' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.game = this.game; }; v2.removeMe = function () { for (var v2 in this.words) { this.words[v2].removeTextField(); } this.art.removeMe(); this.walker.removeMovieClip(); this.partner.removeMovieClip(); this.removeMovieClip(); }; ASSetPropFlags(_global.Cutscene.prototype, null, 1); } #endinitclip } movieClip 2139 __Packages.Dagger { #initclip if (!_global.Dagger) { var v1 = function () { super(); }; _global.Dagger = v1; _global.Dagger extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.thunked = false; this.deflected = false; var v3 = Math.ceil(Math.random() * 2); if (this.start_direction == 'up' or this.start_direction == 'down') { this.vert_direction = this.start_direction; } else { this.hori_direction = this.start_direction; } this.faceMe(); this.frame = this.start_frame; this.gotoAndStop(this.frame); this.bounce_count = 0; this.bounce_total = 2; this.vanish_timer = 0; this.vanish_speed = 50; this.blink_speed = Math.ceil(this.vanish_speed / 2); var v2 = 8; switch (this.start_direction) { case 'right': this._x += v2; break; case 'left': this._x -= v2; break; case 'down': this._y += v2; break; case 'up': this._y -= v2; } this.grace_period = 4; }; v2.onEnterFrame = function () { if (this.game.unpaused) { if (!this.thunked and !this.deflected) { this.bounceMe(); this.bounceMe(); if (this.game.queen.queen_state == 'scuttling') { this.checkPlayer(); } } this.animateMe(); if (this.thunked) { this.vanishMe(); } if (this._y <= -16 or this._y >= this.game.room_height + 16 or this.game.end_of_level) { this.removeMe(); } } }; v2.bounceMe = function () { var v2 = 2; if (this.hori_direction == 'left') { this._x -= v2; } else { this._x += v2; } if (this.vert_direction == 'up') { this._y -= v2; } else { this._y += v2; } if (this.hori_direction == 'left') { this.rounded_x = this._x - this.game.origin_x - 2; } else { this.rounded_x = this._x - this.game.origin_x - 44; } if (this.vert_direction == 'up') { this.rounded_y = this._y - this.game.origin_y - 2; } else { this.rounded_y = this._y - this.game.origin_y - 44; } var v3 = this._x + 10; var v4 = this._y + 10; this.hori_flip = false; this.vert_flip = false; if (this.hori_direction == 'left') { if (this.vert_direction == 'up') { this.checkWalls(this._x, this._y); } else { this.checkWalls(this._x, this._y + 16); } } else { if (this.vert_direction == 'up') { this.checkWalls(this._x + 16, this._y); } else { this.checkWalls(this._x + 16, this._y + 16); } } if (this._y < 16 or this._y >= 446 and !this.thunked) { if (this._x < this.game.room_width / 2) { if (this._x < 16 or this._x >= 60) { this.hori_flip = true; } } else { if (this._x < 528 or this._x >= 572) { this.hori_flip = true; } } } if (this.hori_flip) { if (this.hori_direction == 'left') { this.hori_direction = 'right'; } else { this.hori_direction = 'left'; } } if (this.vert_flip) { if (this.vert_direction == 'up') { this.vert_direction = 'down'; } else { this.vert_direction = 'up'; } } if (this.grace_period > 0) { --this.grace_period; } }; v2.checkWalls = function (containing_x, containing_y) { while ((containing_x - this.game.origin_x) % 64 > 0) { --containing_x; } while ((containing_y - this.game.origin_y) % 64 > 0) { --containing_y; } var v5 = Math.floor((containing_x - this.game.origin_x) / 64); var v4 = Math.floor((containing_y - this.game.origin_y) / 64); var v9 = false; var v8 = false; var v6 = false; var v7 = false; if (this.rounded_x % 64 == 0) { if (this.hori_direction == 'left') { if (this.game.maze.mazes[this.game.layout][v4][v5] == 2 or this.game.maze.mazes[this.game.layout][v4][v5] == 3) { v8 = true; } } else { if (this.game.maze.mazes[this.game.layout][v4][v5 + 1] == 2 or this.game.maze.mazes[this.game.layout][v4][v5 + 1] == 3) { v9 = true; } } } if (this.rounded_y % 64 == 0) { if (this.vert_direction == 'up') { if (this.game.maze.mazes[this.game.layout][v4][v5] == 1 or this.game.maze.mazes[this.game.layout][v4][v5] == 3) { v7 = true; } } else { if (this.game.maze.mazes[this.game.layout][v4 + 1][v5] == 1 or this.game.maze.mazes[this.game.layout][v4 + 1][v5] == 3) { v6 = true; } } } if (v9 or v8 or v7 or v6) { ++this.bounce_count; if (this.bounce_count == this.bounce_total + 1) { this.thunked = true; } } if (!this.thunked) { if (v9 or v8) { this.hori_flip = true; } if (v7 or v6) { this.vert_flip = true; } } }; v2.faceMe = function () { if (this.vert_direction == 'up') { if (this.hori_direction == 'right') { this.start_frame = 1; this.facing = 'upright'; } else { this.start_frame = 7; this.facing = 'upleft'; } } else { if (this.hori_direction == 'right') { this.start_frame = 3; this.facing = 'downright'; } else { this.start_frame = 5; } } this.gotoAndStop(this.start_frame); }; v2.animateMe = function () { this.faceMe(); if (!this.deflected) { if (this.frame != this.start_frame) { this.frame = this.start_frame; } else { this.frame = this.start_frame + 1; } } else { if (this.frame < 9) { this.frame = 9; } else { if (this.frame == 16) { this.removeMe(); } else { ++this.frame; } } this._x += this.deflect_x; this._y += this.deflect_y; } this.gotoAndStop(this.frame); }; v2.checkPlayer = function () { var v2 = this.game.queen; var v4 = this._x + 10; var v3 = this._y + 10; var v8 = v2._x + 32; var v7 = v2._y + 32; var v10 = 4; var v9 = false; if (v2.facing == 'left' or v2.facing == 'right') { if (Math.abs(v7 - v3) <= v10) { if (v2.facing == 'left' and v4 <= v8 or v2.facing == 'right' and v4 >= v8) { v9 = true; } } } else { if (Math.abs(v8 - v4) <= v10) { if (v2.facing == 'up' and v3 <= v7 or v2.facing == 'down' and v3 >= v7) { v9 = true; } } } this.grid_x = Math.floor(v4 / 64); this.grid_y = Math.floor(v3 / 64); var v5 = false; if (v9) { var v6 = v2.laser; switch (v2.facing) { case 'right': if (v4 <= v6.actual_x) { v5 = true; } break; case 'left': if (v4 >= v6.actual_x) { v5 = true; } break; case 'down': if (v3 <= v6.actual_y) { v5 = true; } break; case 'up': if (v3 >= v6.actual_y) { v5 = true; } } } if (v5 and this.grace_period == 0) { this.getZapped(); } else { if (this.hitTest(v2.collide_me)) { v2.getKilled(); } } }; v2.vanishMe = function () { if (this.vanish_timer < this.vanish_speed) { ++this.vanish_timer; } else { this.removeMe(); } if (this.vanish_timer >= this.blink_speed) { if (this._visible) { this._visible = false; } else { this._visible = true; } } }; v2.removeMe = function () { this.removeMovieClip(); }; v2.getZapped = function () { var v2 = 2; var v3 = '?'; switch (this.start_direction) { case 'left': this.deflect_x = v2; v3 = 'hori'; break; case 'right': this.deflect_x = -v2; v3 = 'hori'; break; case 'up': this.deflect_y = v2; v3 = 'vert'; break; case 'down': this.deflect_y = -v2; v3 = 'vert'; } if (v3 == 'hori') { if (this.vert_direction == 'up') { this.deflect_y = v2; } else { this.deflect_y = -v2; } } else { if (this.hori_direction == 'left') { this.deflect_x = v2; } else { this.deflect_x = -v2; } } this.game.sounds.bumper.start(); this.deflected = true; }; v2.onMouseDown = function () { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { trace(''); trace('' + this.grid_x + ', ' + this.grid_y); } }; ASSetPropFlags(_global.Dagger.prototype, null, 1); } #endinitclip } movieClip 2140 __Packages.Decor { #initclip if (!_global.Decor) { var v1 = function () { super(); }; _global.Decor = v1; _global.Decor extends MovieClip; var v2 = v1.prototype; ASSetPropFlags(_global.Decor.prototype, null, 1); } #endinitclip } movieClip 2141 __Packages.Egg { #initclip if (!_global.Egg) { var v1 = function () { super(); }; _global.Egg = v1; _global.Egg extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { if (this.identity == 'delicious') { this.gotoAndStop(2); } else { this.gotoAndStop(1); } }; v2.onMouseDown = function () { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { if (this.identity == 'delicious') { this.game.vocals.delicious.start(); } else { this.game.vocals.icantwaittoeatthis.start(); } this.removeMovieClip(); } }; v2.onRollOver = function () {}; v2.onRollOut = function () {}; ASSetPropFlags(_global.Egg.prototype, null, 1); } #endinitclip } movieClip 2142 __Packages.Exit { #initclip if (!_global.Exit) { var v1 = function () { super(); }; _global.Exit = v1; _global.Exit extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () {}; v2.onEnterFrame = function () {}; ASSetPropFlags(_global.Exit.prototype, null, 1); } #endinitclip } movieClip 2143 __Packages.Game { #initclip if (!_global.Game) { var v1 = function () { super(); }; _global.Game = v1; _global.Game extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.origin_x = 16; this.origin_y = 16; this.room_width = 608; this.room_height = 480; this.walls = []; this.spikes = []; this.enemies = []; this.assassins = []; this.objs = []; this.tips = []; this.tabs = []; this.blips = []; this.bg = this.createEmptyMovieClip('bg', _root.getNextHighestDepth()); this.bg._alpha = 0; this.flashes = []; this.last_flash = 0; this.flash_count = 0; this.facade = _root.attachMovie('Facade', 'Facade', _root.getNextHighestDepth()); this.facade._visible = false; this.messages = _root.attachMovie('Messages', 'Messages', _root.getNextHighestDepth()); this.messages.game = this; this.exit_left = _root.attachMovie('Exit', 'Exit_left' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.exit_left._x = 36; this.exit_left._y = 22; this.exit_left.game = this; this.exit_left.gotoAndStop(1); this.exit_left._visible = false; this.exit_right = _root.attachMovie('Exit', 'Exit_right' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.exit_right._x = 552; this.exit_right._y = 22; this.exit_right.game = this; this.exit_right.gotoAndStop(1); this.exit_right._visible = false; this.maze = _root.attachMovie('Maze', 'Maze', _root.getNextHighestDepth()); this.accelerate_timer = 0; if (this.continued) { this.area = this.continue_set[1]; this.area_room = this.continue_set[4]; this.room = this.continue_set[2]; this.level = this.continue_set[0]; this.layout = this.continue_set[3]; this.messages.one_timers = this.continue_set[6]; this.messages.no_specials = this.continue_set[7]; } else { this.area = 1; this.area_room = 1; this.room = 0; this.level = 0; this.layout = 0; } this.phase = 1; this.facade.gotoAndStop(this.area); this.setupLevels(); this.score = 0; this.lives = 3; this.loadHigh(); this.extend_score = 25000; this.next_extend = this.extend_score; this.enemy_count = 0; this.enemy_timer = 0; this.enemy_entrances = [1000, 1000]; this.first_turn = true; this.unpaused = true; this.laser_off = false; this.end_of_level = false; this.mid_cutscene = false; this.first_stage = false; this.last_stage = false; this.gameover = false; this.gameover_timer = 0; this.shieldless = false; this.shieldless_speed = 160; this.shieldless_timer = 0; this.exit_direction = 'none'; this.key_debug = 65; this.key_debug_clear = false; this.key_pause = 80; this.key_pause_clear = false; this.demo_timer = 0; this.demo_speed = 360; this.tarantula_tied = false; this.victory = false; this.victory_timer = 0; this.victory_speed = 50; this.vocals.game = this; this.key_clear = false; }; v2.loadHigh = function () { var v2 = SharedObject.getLocal('auntiepixelante/spiderqueens'); if (v2.data.high == null) { this.high = 0; v2.data.high = 0; v2.flush(); } else { this.high = v2.data.high; } }; v2.saveHigh = function () { var v2 = SharedObject.getLocal('auntiepixelante/spiderqueens'); if (this.high > v2.data.high) { trace('high score saved!'); v2.data.high = this.high; v2.flush(); } else { trace('old score\'s higher!'); } }; v2.submitScore = function () { trace('submitting score to adult swim'); _root.cmpSetObj.var3 = 4511; _root.cmpSetObj.var1 = this.score; _root.cmpSetObj.clearListeners(); }; v2.makeStarfield = function () { var v5 = 100; var v4 = 0; while (v4 < v5) { var v3 = _root.attachMovie('Star', 'Star' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3._x = Math.ceil(Math.random() * 304) * 2; v3._y = Math.ceil(Math.random() * 240) * 2; this.starfield.push(v3); ++v4; } }; v2.onEnterFrame = function () { if (this.first_turn) { this.first_turn = false; if (this.continued) { this.beginLevel(this.level, this.room); this.continued = false; } else { if (this.demo) { this.level = 14; this.room = 18; this.beginLevel(this.level, this.room); } else { this.cutScene(0); } } } if (this.unpaused) { if (!this.first_stage and !this.end_of_level) { this.accelerateGame(); this.populateDungeon(); } this.checkScore(); } if (this.gameover) { this.gameOver(); } this.fadeBackground(); if (this.demo) { this.attractMode(); } if (this.victory) { this.victoryParty(); } this.debugMe(); }; v2.attractMode = function () { if (this.demo_timer < this.demo_speed) { ++this.demo_timer; } else { this.reminderScreen(); } if (Key.isDown(32) and this.key_clear) { this.startGame(); } if (!Key.isDown(32)) { this.key_clear = true; } }; v2.beginLevel = function (number, layout) { this.first_stage = false; this.last_stage = false; if (this.level == 13) { this.last_stage = true; } if (this.level == 0) { this.first_stage = true; } this.facade.gotoAndStop(this.area); this.facade._visible = true; this.messages.specialReset(); this.messages.updateTitle(); this.messages.updateMap(); this.buildLevel(layout); this.level = number; this.phase = 1; this.room_speed = this.levels[this.level][0][0]; this.accelerate_speed = this.levels[this.level][0][1]; this.max_enemies = this.levels[this.level][0][2]; this.enemy_speed = this.levels[this.level][0][3]; if (this.first_stage and !this.demo) { this.secretPassage(); this.maze.mazes[0][2][4] = 1; this.buildArrow(); } for (var v3 in this.rooms[this.area]) { if (this.rooms[this.area][v3] == layout) { this.rooms[this.area].splice(v3, 1); } } this.enemy_count = 0; this.enemy_timer = 0; this.accelerate_timer = 0; this.shieldless_timer = 0; this.shieldless = false; this.end_of_level = false; this.messages.statusVisible(); if (!this.demo) { this.makeQueen(); } if (!this.demo and !this.first_stage and !this.last_stage) { this.makeBlips(); this.pop_tab = true; } if (this.levels[this.level][1][0] == 'cocoon1') { this.levels[this.level][1].shift(); this.cocoonWave(1); } if (this.levels[this.level][1][0] == 'cocoon2') { this.levels[this.level][1].shift(); this.cocoonWave(2); } if (this.levels[this.level][1][0] == 'cocoon3') { this.levels[this.level][1].shift(); this.cocoonWave(3); } if (this.levels[this.level][1][0] == 'cocoon4') { this.levels[this.level][1].shift(); this.cocoonWave(4); } if (this.levels[this.level][1][0] == 'tarantula') { this.levels[this.level][1].shift(); this.queenTarantula(); } if (!this.demo and !this.last_stage) { if (this.first_stage) { this.sounds.footsteps.start(); } else { this.sounds.wakeup.start(); } } if (this.last_stage) { this.vocals.queenTarantula(); } this.unpaused = true; this.mid_cutscene = false; }; v2.makeQueen = function (tiedup) { this.queen = _root.attachMovie('Queen', 'Queen', _root.getNextHighestDepth()); this.queen._x = 272; this.queen._y = 208; this.queen.game = this; this.objs.push(this.queen); var v3 = _root.attachMovie('Laser', 'Laser', _root.getNextHighestDepth()); v3.mom = this.queen; v3.laser_type = 'spider'; this.queen.laser = v3; this.objs.push(v3); this.queen.swapDepths(_root.getNextHighestDepth()); if (tiedup) { this.queen.queen_state = 'struggling'; this.queen._y = 256; } }; v2.makeTwinkle = function (twinkle_type, where_x, where_y) { var v3 = _root.attachMovie('Twinkle', 'Twinkle', _root.getNextHighestDepth()); v3.twinkle_type = twinkle_type; v3._x = where_x; v3._y = where_y; this.objs.push(v3); }; v2.makeTabs = function () { var v7 = this.levels[this.level].length - 1; var v5 = 2; var v6 = 16; var v4 = 0; while (v4 < v7) { var v3 = _root.attachMovie('Tab', 'Tab', _root.getNextHighestDepth()); v3._y = v5 + v6 * v4; v3.gotoAndStop(1); this.tabs.push(v3); this.objs.push(v3); ++v4; } }; v2.popTab = function () { if (this.pop_tab) { this.pop_tab = false; (this.tabs.pop()).removeMovieClip(); } }; v2.makeBlips = function () { var v3 = 0; var v6 = 0; var v5 = 0; var v10 = false; while (!v10) { switch (this.levels[this.level][v6][v5]) { case 'dagger': v3 += 1; break; case 'shield': v3 += 1; break; case 'princess': v3 += 1; break; case 'gladiator': v3 += 1; break; case 'alchemist': v3 += 1; break; case 'ambush': v3 += 4; break; case 'shield_wave': v3 += 4; break; case 'glad_wave': v3 += 4; break; case 'alchemist_wave': v3 += 4; break; case 'cocoon1': v3 += 8; break; case 'cocoon2': v3 += 8; break; case 'cocoon3': v3 += 8; break; case 'cocoon4': v3 += 4; } ++v5; if (v5 == this.levels[this.level][v6].length) { v5 = 0; ++v6; } if (v6 == this.levels[this.level].length) { v10 = true; } } var v12 = 2; var v7 = 2; var v11 = 2; var v13 = 1; var v9 = 4; var v8 = 0; while (v8 < v3) { var v4 = _root.attachMovie('Tab', 'Tab', _root.getNextHighestDepth()); v4._x = v7; v4._y = v11; v4.gotoAndStop(2); this.blips.push(v4); this.objs.push(v4); v7 += v9; if (v7 / v9 > v13) { v7 = v12; v11 += v9; } ++v8; } }; v2.popBlip = function () { (this.blips.pop()).removeMovieClip(); }; v2.buildLevel = function (number) { var v6 = 0; while (v6 < 10) { var v4 = 0; while (v4 < 8) { var v5 = this.maze.mazes[number][v4][v6]; if (v5 == 1 or v5 == 3) { this.buildWall(v6 * 64 + this.origin_x - 2, v4 * 64 + this.origin_y - 2, 'horizontal', false); } if (v5 == 2 or v5 == 3) { this.buildWall(v6 * 64 + this.origin_x - 2, v4 * 64 + this.origin_y - 2, 'vertical', false); } ++v4; } ++v6; } var v3 = 8; while (this.maze.mazes[number][v3] != null) { if (this.maze.mazes[number][v3][0] == 'spike') { this.buildSpike(this.maze.mazes[number][v3][1], this.maze.mazes[number][v3][2], this.maze.mazes[number][v3][3], this.maze.mazes[number][v3][4]); } else { if (this.maze.mazes[number][v3][0] == 'warp') { this.buildWarp(this.maze.mazes[number][v3][1], this.maze.mazes[number][v3][2], this.maze.mazes[number][v3][3], this.maze.mazes[number][v3][4]); } else { this.buildDecor(this.maze.mazes[number][v3][0], this.maze.mazes[number][v3][1], this.maze.mazes[number][v3][2]); } } ++v3; } if (this.first_stage) { this.door_upleft = this.buildDoor('upleft', 146, 64); this.door_upright = this.buildDoor('upright', 402, 64); this.door_downleft = this.buildDoor('downleft', 146, 338); this.door_downright = this.buildDoor('downright', 402, 338); this.changeGrid(2, 1, true); this.changeGrid(6, 1, true); this.changeGrid(2, 6, true); this.changeGrid(6, 6, true); this.buildWall(this.origin_x + 128, this.origin_y + 64, 'horizontal', true); this.buildWall(this.origin_x + 384, this.origin_y + 64, 'horizontal', true); this.buildWall(this.origin_x + 128, this.origin_y + 384, 'horizontal', true); this.buildWall(this.origin_x + 384, this.origin_y + 384, 'horizontal', true); } else { this.door_upleft = this.buildDoor('upleft', 18, 0); this.door_upright = this.buildDoor('upright', 530, 0); this.door_downleft = this.buildDoor('downleft', 18, 402); this.door_downright = this.buildDoor('downright', 530, 402); this.changeGrid(0, 0, true); this.changeGrid(8, 0, true); this.changeGrid(0, 7, true); this.changeGrid(8, 7, true); this.buildWall(14, 14, 'horizontal', true); this.buildWall(526, 14, 'horizontal', true); this.buildWall(14, 462, 'horizontal', true); this.buildWall(526, 462, 'horizontal', true); } trace(''); this.layout = number; this.addFlash('white', 100); }; v2.buildWall = function (wall_x, wall_y, orient, invisible) { var v4 = (this.area - 1) * 2; if (this.area == 5) { v4 -= 2; } var v3 = _root.attachMovie('Wall', 'Wall' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3._x = wall_x; v3._y = wall_y; if (orient == 'horizontal') { v3.gotoAndStop(1 + v4); } else { v3.gotoAndStop(2 + v4); } if (invisible) { v3._visible = false; } this.walls.push(v3); }; v2.buildDecor = function (appearance, where_x, where_y) { var v3 = _root.attachMovie('Decor', 'Decor' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.gotoAndStop(appearance); v3._x = where_x * 64 + this.origin_x; v3._y = where_y * 64 + this.origin_y; this.objs.push(v3); }; v2.buildSpike = function (facing, phase, where_x, where_y) { var v3 = _root.attachMovie('Spike', 'Spike' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.game = this; v3.facing = facing; v3.spike_phase = phase; v3._x = where_x * 64 + this.origin_x; v3._y = where_y * 64 + this.origin_y; this.objs.push(v3); this.walls.push(v3); this.spikes.push(v3); }; v2.buildDoor = function (place, where_x, where_y) { var v3 = _root.attachMovie('Door', 'Door' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.game = this; v3.place = place; v3._x = where_x; v3._y = where_y; this.objs.push(v3); return v3; }; v2.buildWarp = function (area, where_x, where_y, amount) { var v3 = _root.attachMovie('Warp', 'Warp' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.game = this; v3.area = area; v3._x = where_x * 64 + this.origin_x; v3._y = where_y * 64 + this.origin_y; v3.amount = amount; v3._visible = false; this.objs.push(v3); }; v2.secretPassage = function () { var v3 = _root.attachMovie('Secret', 'Secret' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3._x = 192 + this.origin_x + 30; v3._y = +this.origin_y; v3.game = this; this.objs.push(v3); }; v2.buildArrow = function () { var v3 = _root.attachMovie('Arrow', 'Arrow' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3._x = 272; v3._y = 302; v3.game = this; this.objs.push(v3); }; v2.buildBubble = function () { var v3 = _root.attachMovie('Thoughtbubble', 'Thoughtbubble' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.queen = this.queen; this.queen.bubble = v3; this.objs.push(v3); }; v2.changeGrid = function (grid_x, grid_y, walls) { if (walls) { if (this.maze.mazes[this.room][grid_y][grid_x] == 0) { this.maze.mazes[this.room][grid_y][grid_x] = 1; } else { if (this.maze.mazes[this.room][grid_y][grid_x] == 2) { this.maze.mazes[this.room][grid_y][grid_x] = 3; } } } else { if (this.maze.mazes[this.room][grid_y][grid_x] == 1) { this.maze.mazes[this.room][grid_y][grid_x] = 0; } else { if (this.maze.mazes[this.room][grid_y][grid_x] == 3) { this.maze.mazes[this.room][grid_y][grid_x] = 2; } } } }; v2.accelerateGame = function () { ++this.accelerate_timer; if (this.accelerate_timer >= this.accelerate_speed) { this.accelerate_timer = 0; if (this.room_speed < 4) { ++this.room_speed; trace('speed up!'); this.sounds.haunted.start(); this.accelerate_speed; } } }; v2.populateDungeon = function () { if (this.enemy_timer < this.enemy_speed) { ++this.enemy_timer; } else { if (this.enemy_count < this.max_enemies) { if (this.levels[this.level][this.phase].length == 0) { this.discardShields(); if (this.enemy_count == 0) { if (this.levels[this.level].length == this.phase + 1) { if (!this.end_of_level) { this.endLevel(); } } else { trace('phase ' + (this.phase + 1)); this.shieldless = false; this.shieldless_timer = 0; ++this.phase; this.pop_tab = true; } } } else { this.nextEnemy(this.levels[this.level][this.phase].shift()); } } } }; v2.nextEnemy = function (enemy) { if (enemy == 'speed2' or enemy == 'speed-2') { if (this.room_speed < 2 or enemy == 'speed-2') { this.room_speed = 2; this.accelerate_timer = 0; } } else { if (enemy == 'speed3' or enemy == 'speed-3') { if (this.room_speed < 3 or enemy == 'speed-3') { this.room_speed = 3; this.accelerate_timer = 0; } } else { if (enemy == 'speed4') { if (this.room_speed < 4) { this.room_speed = 4; this.accelerate_timer = 0; } } else { if (enemy == 'speed_sfx') { this.sounds.haunted.start(); } else { if (enemy == 'crowd') { this.max_enemies = 16; } else { if (enemy == 'laser_off') { this.laser_off = true; this.messages.flashMessage('< < < survival wave > > >', false); } else { if (enemy == 'laser_on') { this.laser_off = false; this.messages.flashMessage('your laser is fully charged again', false); } else { if (enemy == 'pause') { this.enemy_timer = 0; } else { if (enemy == 'spikes') { this.buildSpike('down', 'hidden', 3, 1); this.buildSpike('up', 'hidden', 3, 5); this.buildSpike('down', 'hidden', 6, 1); this.buildSpike('up', 'hidden', 6, 5); } else { if (enemy == 'assassin') { var v4 = _root.attachMovie('Assassin', 'Assassin' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v4.game = this; v4.laser = this.queen.laser; this.assassins.push(v4); this.objs.push(v4); } else { if (enemy == '-assassin') { this.removeAssassins(); } else { if (enemy == 'ambush') { this.releaseSlave('nw', 'dagger'); this.releaseSlave('ne', 'dagger'); this.releaseSlave('sw', 'dagger'); this.releaseSlave('se', 'dagger'); } else { if (enemy == 'shield_wave') { this.releaseSlave('nw', 'shield'); this.releaseSlave('ne', 'shield'); this.releaseSlave('sw', 'shield'); this.releaseSlave('se', 'shield'); } else { if (enemy == 'glad_wave') { this.releaseSlave('nw', 'gladiator'); this.releaseSlave('ne', 'gladiator'); this.releaseSlave('sw', 'gladiator'); this.releaseSlave('se', 'gladiator'); } else { if (enemy == 'alchemist_wave') { this.releaseSlave('nw', 'alchemist'); this.releaseSlave('ne', 'alchemist'); this.releaseSlave('sw', 'alchemist'); this.releaseSlave('se', 'alchemist'); } else { if (enemy == 'random') { this.randomEnemy(); this.levels[this.level][this.phase].push('random'); } else { this.releaseSlave(this.randomEntrance(), enemy); if (enemy == 'alchemist') { this.messages.flashMessage('the alchemist sets fires wherever she steps', true); } if (enemy == 'gladiator') { this.messages.flashMessage('the gladiator will chase you if she sees you', true); } if (enemy == 'shield') { this.messages.flashMessage('armored slaves can\'t be zapped from the front', true); } if (enemy == 'princess') { this.messages.flashMessage('recapture the slave princess before she flees', true); } } } } } } this.enemy_timer = 0; } } } } } } } } } } } }; v2.randomEnemy = function () { var v2 = Math.ceil(Math.random() * 100); if (v2 > 90) { this.releaseSlave(this.randomEntrance(), 'alchemist'); } else { if (v2 > 70 and v2 <= 90) { this.releaseSlave(this.randomEntrance(), 'shield'); } else { if (v2 > 40 and v2 <= 70) { this.releaseSlave(this.randomEntrance(), 'gladiator'); } else { this.releaseSlave(this.randomEntrance(), 'dagger'); } } } }; v2.randomEntrance = function () { var v3 = false; while (!v3) { var v2 = Math.floor(Math.random() * 4); if (this.enemy_entrances[0] != v2 and this.enemy_entrances[1] != v2) { v3 = true; this.enemy_entrances.shift(); this.enemy_entrances.push(v2); } } switch (v2) { case 0: return 'nw'; break; case 1: return 'ne'; break; case 2: return 'sw'; break; case 3: return 'se'; } }; v2.releaseSlave = function (where, type) { var v3 = _root.attachMovie('Slave', 'Slave' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); if (where == 'nw' or where == 'sw') { v3._x = this.origin_x; } else { v3._x = this.room_width - this.origin_x - 64; } if (where == 'nw' or where == 'ne') { v3._y = -64 - this.origin_y; v3.facing = 'down'; } else { v3._y = this.room_height + this.origin_y; v3.facing = 'up'; } v3.game = this; v3.slave_type = type; this.enemies.push(v3); this.objs.push(v3); ++this.enemy_count; if (!this.first_stage and !this.demo) { this.messages.flashMessage('use your laser to recapture slaves', true); } }; v2.removeAssassins = function () { for (var v2 in this.assassins) { this.assassins[v2].gone = true; } }; v2.discardShields = function () { var v2 = false; for (var v3 in this.enemies) { if (this.enemies[v3].slave_type != 'shield' and this.enemies[v3].slave_type != 'shieldless') { v2 = true; } } if (!v2) { if (this.shieldless_timer < this.shieldless_speed) { ++this.shieldless_timer; } else { this.shieldless_timer = 0; if (!this.shieldless and !this.end_of_level) { trace('goodbye shields!'); this.sounds.ghost.start(); } this.shieldless = true; } } }; v2.endLevel = function () { trace('level cleared!'); this.removeAssassins(); this.end_of_level = true; for (var v3 in this.walls) { if (!this.walls[v3]._visible) { !this.walls[v3].removeMovieClip(); } } for (v3 in this.spikes) { if (this.spikes[v3].spike_phase == 'out') { this.spikes[v3].out_timer = this.spikes[v3].out_speed * 0.75; } } if (this.rooms[this.area][1] == null) { var v4 = this.area * 4 + 1; this.exit_left.gotoAndStop(v4); this.exit_right.gotoAndStop(v4); } else { var v5 = this.rooms[this.area][0]; var v6 = this.rooms[this.area][1]; this.exit_left.gotoAndStop(v5); this.exit_right.gotoAndStop(v6); } this.exit_left.swapDepths(_root.getNextHighestDepth()); this.exit_right.swapDepths(_root.getNextHighestDepth()); this.exit_left._visible = true; this.exit_right._visible = true; this.queen.swapDepths(_root.getNextHighestDepth()); this.door_upleft.swingOpen(); this.door_upright.swingOpen(); this.door_downleft.swingOpen(); this.door_downright.swingOpen(); this.changeGrid(0, 0, false); this.changeGrid(8, 0, false); this.changeGrid(0, 7, false); this.changeGrid(8, 7, false); if (this.level == 1) { this.messages.flashMessage('proceed to the next part of the palace!', true); } if (this.level == 2) { this.messages.flashMessage('by the way, you can press p to pause the game', true); } this.sounds.stairs.start(); if (!this.last_stage) { this.vocals.saySomething('endoflevel'); } }; v2.nextLevel = function () { this.removeLevel(); this.cutScene(this.level); }; v2.removeLevel = function () { for (var v2 in this.objs) { if (this.objs[v2].removeme) { this.objs[v2].removeMe(); } else { this.objs[v2].removeMovieClip(); } } this.objs.splice(0, this.objs.length); for (v2 in this.walls) { this.walls[v2].removeMovieClip(); } this.walls.splice(0, this.walls.length); this.spikes.splice(0, this.spikes.length); for (v2 in this.enemies) { this.enemies[v2].removeMovieClip(); } this.enemies.splice(0, this.enemies.length); this.exit_left._visible = false; this.exit_right._visible = false; }; v2.fadeBackground = function () { var v2 = 20; if (this.bg._alpha >= 0) { this.bg._alpha -= v2; } else { if (this.flashes[0] != null) { this.flashBackground(this.flashes.shift()); } } }; v2.flashBackground = function (bundle) { var v3 = bundle[0]; var v4 = bundle[1]; if (v3 == 'random') { v3 = this.randomColor(); } this.last_flash = v3; this.bg.removeMovieClip(); this.bg = this.createEmptyMovieClip('bg', _root.getNextHighestDepth()); this.bg.beginFill(v3); this.bg.moveTo(0, 0); this.bg.lineTo(this.room_width, 0); this.bg.lineTo(this.room_width, this.room_height); this.bg.lineTo(0, this.room_height); this.bg.lineTo(0, 0); this.bg.endFill(); this.bg._alpha = v4; }; v2.hexColor = function (color) { switch (color) { case 'white': return 16579836; break; case 'cyan': return 64764; break; case 'pink': return 14483550; break; case 'purple': return 6881446; break; case 'yellow': return 14012672; break; case 'red': return 16125711; break; case 'green': return 64512; break; case 'blue': return 4023295; break; case 'black': return 0; } }; v2.randomColor = function () { var v2 = this.last_flash; while (v2 == this.last_flash) { var v3 = Math.ceil(Math.random() * 7); switch (v3) { case 1: v2 = this.hexColor('white'); break; case 2: v2 = this.hexColor('cyan'); break; case 3: v2 = this.hexColor('purple'); break; case 4: v2 = this.hexColor('yellow'); break; case 5: v2 = this.hexColor('red'); break; case 6: v2 = this.hexColor('green'); break; case 7: v2 = this.hexColor('blue'); } } return v2; }; v2.addFlash = function (color, opacity) { if (opacity == null) { opacity = 100; } if (color == 'random') { this.flashes.push(['random', opacity]); } else { this.flashes.push([this.hexColor(color), opacity]); } }; v2.checkScore = function () { if (this.score > this.high) { this.high = this.score; } if (this.score >= this.next_extend) { trace('1up!'); ++this.lives; this.next_extend += this.extend_score; this.sounds.extend.start(); } }; v2.setupLevels = function () { this.levels = [[[1, 10000, 8, 96], []], [[1, 960, 6, 32], ['ambush'], ['pause', 'speed-2', 'princess'], ['speed-2', 'dagger', 'dagger', 'assassin', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger'], ['speed3', '-assassin', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger', 'assassin', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger']], [[1, 960, 6, 32], ['dagger', 'dagger', 'shield', 'dagger', 'dagger', 'shield', 'dagger', 'dagger'], ['speed2', 'pause', 'ambush', 'shield', 'shield', 'assassin', 'dagger', 'dagger', 'dagger', 'dagger', 'princess'], ['speed3', 'shield', 'shield', '-assassin', 'assassin', 'dagger', 'dagger', 'assassin', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger']], [[1, 960, 6, 32], ['cocoon1'], ['speed3', 'pause', 'ambush'], ['speed-2', 'assassin', 'shield', 'shield', 'assassin', 'shield', 'shield', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger'], ['speed3', 'shield_wave', 'pause', 'princess'], ['assassin', 'pause', 'ambush', 'shield', 'shield']], [[2, 1280, 8, 32], ['ambush', 'gladiator', 'gladiator', 'gladiator', 'gladiator', 'dagger', 'dagger', 'dagger', 'dagger'], ['pause', 'glad_wave', 'alchemist'], ['speed-2', 'shield_wave', 'gladiator', 'gladiator', 'dagger', 'dagger', 'assassin', 'assassin', 'gladiator', 'gladiator', 'dagger', 'dagger'], ['speed3', 'pause', 'glad_wave', 'alchemist'], ['speed-3', 'shield', 'gladiator', 'dagger', 'gladiator', 'shield', 'dagger', 'gladiator', 'princess', 'dagger', 'gladiator']], [[2, 1280, 8, 32], ['ambush', 'dagger', 'dagger', 'alchemist', 'gladiator', 'gladiator', 'gladiator', 'gladiator', 'dagger', 'dagger', 'dagger', 'dagger'], ['speed3', 'alchemist', 'alchemist'], ['speed-2', 'pause', 'glad_wave', 'assassin', 'shield', 'assassin', 'shield', 'assassin', 'gladiator', 'dagger', 'gladiator', 'dagger', 'gladiator', 'dagger'], ['-assassin', 'speed3', 'alchemist', 'alchemist', 'princess'], ['ambush', 'assassin', 'shield_wave', 'pause', 'alchemist', 'gladiator', 'gladiator', 'gladiator', 'alchemist']], [[2, 1280, 8, 32], ['cocoon2'], ['speed-2', 'shield_wave', 'pause', 'alchemist', 'alchemist', 'gladiator', 'gladiator', 'dagger', 'dagger', 'gladiator', 'gladiator'], ['pause', 'glad_wave', 'pause', 'glad_wave'], ['speed3', 'pause', 'assassin', 'assassin', 'assassin', 'ambush', 'pause', 'alchemist', 'dagger', 'dagger', 'gladiator', 'gladiator'], ['speed-3', 'ambush', 'shield', 'shield', 'gladiator', 'gladiator', 'gladiator', 'gladiator', 'shield', 'shield', 'alchemist', 'dagger', 'dagger'], ['alchemist', 'pause', 'alchemist', 'pause', 'alchemist', 'pause', 'alchemist', 'pause', 'princess']], [[2, 1600, 16, 64], ['ambush', 'glad_wave', 'ambush', 'glad_wave'], ['speed-2', 'assassin', 'alchemist', 'assassin', 'alchemist', 'assassin', 'gladiator', 'alchemist', 'gladiator', 'alchemist', 'gladiator', 'dagger', 'gladiator', 'dagger'], ['glad_wave', 'alchemist', 'alchemist', 'glad_wave'], ['speed3', 'shield_wave', 'ambush', 'glad_wave', 'dagger', 'dagger', 'dagger', 'dagger', 'gladiator', 'gladiator', 'gladiator', 'gladiator'], ['speed-3', 'pause', 'ambush', 'alchemist', 'alchemist', 'shield', 'shield', 'princess', 'glad_wave']], [[2, 1600, 16, 64], ['shield_wave', 'alchemist', 'ambush', 'alchemist', 'glad_wave'], ['assassin', 'assassin', 'gladiator', 'dagger', 'assassin', 'assassin', 'gladiator', 'dagger', 'ambush', 'alchemist', 'gladiator', 'dagger', 'gladiator', 'dagger'], ['speed-3', 'ambush', 'shield', 'shield', 'glad_wave', 'alchemist', 'dagger', 'dagger', 'dagger', 'dagger'], ['-assassin', 'pause', 'glad_wave', 'princess'], ['speed-3', 'alchemist', 'alchemist', 'alchemist', 'alchemist', 'pause', 'ambush', 'pause', 'gladiator', 'gladiator', 'gladiator', 'gladiator']], [[2, 1600, 16, 64], ['cocoon3'], ['ambush', 'assassin', 'shield_wave', 'assassin', 'glad_wave', 'assassin', 'dagger', 'dagger', 'gladiator', 'gladiator', 'dagger', 'dagger'], ['speed-2', 'alchemist', 'alchemist', 'shield', 'shield', 'dagger', 'dagger', 'gladiator', 'gladiator', 'dagger', 'dagger', 'alchemist', 'alchemist'], ['speed3', 'pause', 'ambush', 'pause', 'glad_wave', 'alchemist', 'gladiator', 'dagger', 'alchemist', 'gladiator', 'dagger'], ['-assassin', 'pause', 'ambush', 'shield', 'shield', 'alchemist', 'glad_wave', 'shield', 'shield', 'alchemist', 'princess']], [[1, 1600, 8, 32], ['dagger', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger', 'dagger', 'speed2', 'speed_sfx', 'dagger', 'dagger', 'shield', 'dagger', 'dagger', 'shield', 'dagger', 'dagger', 'shield', 'dagger', 'dagger', 'shield', 'speed3', 'speed_sfx', 'gladiator', 'dagger', 'gladiator', 'dagger', 'gladiator', 'dagger', 'gladiator', 'dagger', 'gladiator', 'gladiator', 'dagger', 'dagger', 'alchemist', 'dagger', 'dagger', 'dagger', 'dagger', 'gladiator', 'dagger', 'gladiator', 'dagger', 'alchemist', 'gladiator', 'dagger', 'gladiator', 'dagger', 'gladiator', 'gladiator', 'gladiator', 'gladiator']], [[3, 1280, 8, 64], ['assassin', 'shield', 'assassin', 'shield', 'assassin', 'shield', 'assassin', 'shield', 'assassin', 'ambush', 'gladiator', 'gladiator', 'dagger', 'dagger', 'alchemist', 'gladiator', 'dagger', 'gladiator', 'dagger', 'alchemist', 'gladiator', 'dagger'], ['speed-3', 'pause', 'ambush', 'alchemist', 'alchemist', 'gladiator', 'gladiator', 'dagger', 'dagger', 'alchemist', 'alchemist', 'dagger', 'gladiator', 'dagger', 'gladiator', 'alchemist', 'alchemist', 'gladiator', 'dagger', 'gladiator', 'dagger'], ['speed-3', '-assassin', 'spikes', 'pause', 'assassin', 'glad_wave', 'assassin', 'alchemist', 'assassin', 'gladiator', 'assassin', 'alchemist', 'assassin', 'gladiator', 'shield', 'shield', 'dagger', 'dagger', 'dagger', 'dagger', 'gladiator', 'gladiator'], ['speed-3', 'gladiator', 'gladiator', 'gladiator', 'gladiator', 'shield_wave', 'dagger', 'dagger', 'gladiator', 'gladiator', 'alchemist', 'alchemist', 'gladiator', 'gladiator', 'gladiator', 'gladiator']], [[2, 1280, 12, 32], ['cocoon4', 'pause', 'alchemist_wave', 'shield_wave', 'dagger', 'dagger', 'dagger', 'dagger', 'gladiator', 'dagger', 'gladiator', 'dagger', 'alchemist', 'gladiator', 'dagger', 'gladiator', 'dagger', 'alchemist', 'gladiator', 'dagger', 'gladiator', 'dagger', 'pause', 'dagger', 'gladiator', 'dagger', 'gladiator', 'dagger', 'gladiator', 'dagger', 'gladiator', 'dagger', 'gladiator', 'dagger', 'dagger', 'gladiator', 'gladiator', 'dagger', 'dagger', 'assassin', 'assassin', 'assassin', 'assassin', 'pause', 'shield', 'dagger', 'dagger', 'gladiator', 'gladiator', 'gladiator', 'gladiator', 'shield', 'dagger', 'dagger', 'alchemist', 'shield', 'gladiator', 'gladiator', 'dagger', 'dagger', 'gladiator', 'gladiator', 'gladiator', 'gladiator', 'dagger', 'dagger', 'dagger', 'dagger', 'alchemist', 'gladiator', 'gladiator', 'gladiator', 'gladiator']], [[3, 16000, 5, 96], ['tarantula', 'ambush', 'random']], [[2, 16000, 8, 24], ['dagger', 'random']]]; this.areas = ['royal chambers', 'palace grounds', 'the dungeons', 'mars', 'queen tarantula\'s lair']; if (this.continued) { this.rooms = this.continue_set[5]; } else { this.rooms = [[null], [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [17]]; } }; v2.cocoonWave = function (number) { var v2 = [[[null]], [['dagger', 1, 1, 'down'], ['shield', 3, 1, 'down'], ['shield', 5, 1, 'down'], ['dagger', 7, 1, 'down'], ['dagger', 1, 5, 'up'], ['shield', 3, 5, 'up'], ['shield', 5, 5, 'up'], ['dagger', 7, 5, 'up']], [['gladiator', 1, 1, 'down'], ['alchemist', 3, 1, 'down'], ['alchemist', 5, 1, 'down'], ['gladiator', 7, 1, 'down'], ['gladiator', 1, 5, 'up'], ['alchemist', 3, 5, 'up'], ['alchemist', 5, 5, 'up'], ['gladiator', 7, 5, 'up']], [['alchemist', 1, 1, 'down'], ['shield', 3, 1, 'down'], ['alchemist', 5, 1, 'down'], ['alchemist', 7, 1, 'down'], ['alchemist', 1, 5, 'up'], ['alchemist', 3, 5, 'up'], ['shield', 5, 5, 'up'], ['alchemist', 7, 5, 'up']], [['princess', 1, 1, 'down'], ['princess', 7, 1, 'down'], ['princess', 1, 5, 'up'], ['princess', 7, 5, 'up']]]; for (var v4 in v2[number]) { this.cocoonedSlave(v2[number][v4][0], v2[number][v4][1], v2[number][v4][2], v2[number][v4][3]); } (this.tabs.pop()).removeMovieClip(); }; v2.cocoonedSlave = function (type, where_x, where_y, facing) { var v3 = _root.attachMovie('Slave', 'Slave' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.game = this; v3.slave_type = type; v3.slave_state = 'cocooned'; v3._x = where_x * 64 + this.origin_x; v3._y = where_y * 64 + this.origin_y; v3.facing = facing; this.enemies.push(v3); this.objs.push(v3); ++this.enemy_count; this.messages.flashMessage('don\'t let those slaves escape!', true); }; v2.queenTarantula = function () { var v3 = _root.attachMovie('Slave', 'Slave' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.game = this; v3.slave_type = 'tarantula'; v3._x = 256 + this.origin_x; v3._y = +this.origin_y; v3.facing = 'down'; this.enemies.push(v3); this.objs.push(v3); ++this.enemy_count; }; v2.cutScene = function (the_scene) { this.end_of_level = true; var v3 = _root.attachMovie('Cutscene', 'Cutscene' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.game = this; v3.the_scene = the_scene; v3.exit_direction = this.exit_direction; v3.destination = this.maze.dots[this.room][2]; if (this.maze.dots[this.room][3] == 'indent') { v3.destination_indent = true; } else { v3.destination_indent = false; } this.facade._visible = false; this.unpaused = false; this.mid_cutscene = true; }; v2.gameOver = function () { var v4 = 50; var v5 = 100; var v6 = 200; ++this.gameover_timer; if (this.gameover_timer == v4) { this.addFlash('red'); this.art_image = _root.attachMovie('Art', 'Art' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); if (!this.last_stage) { this.art_image.gotoAndStop(4); this.art_image.box_pattern = 4; } else { this.art_image.gotoAndStop(6); this.art_image.box_pattern = 6; } this.sounds.dump.start(); } if (this.gameover_timer > v4 and this.gameover_timer < v5) { this.art_image.swapDepths(_root.getNextHighestDepth()); for (var v3 in this.art_image.boxes) { this.art_image.boxes[v3].swapDepths(_root.getNextHighestDepth()); } } if (this.gameover_timer == v5) { this.continue_set = [this.level, this.area, this.room, this.layout, this.area_room, this.rooms, this.messages.one_timers, this.messages.no_specials]; this.addFlash('white'); this.removeLevel(); this.facade.removeMovieClip(); this.messages.removeMe(); this.unpaused = false; if (!this.last_stage) { this.art_image.gotoAndStop(5); } else { this.art_image.gotoAndStop(7); } this.art_image.removeBoxes(); this.art_text = _root.attachMovie('Art', 'Art' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.art_text.gotoAndStop(8); this.sounds.hahaha.start(); } if (this.gameover_timer == v6) { this.continueScreen(); } }; v2.winGame = function () { this.victory = true; }; v2.victoryParty = function () { if (this.victory_timer < this.victory_speed) { ++this.victory_timer; if (this.victory_timer == this.victory_speed) { this.level = 14; this.nextLevel(); } } }; v2.removeStarfield = function () { for (var v2 in this.starfield) { this.starfield[v2].removeMovieClip(); } }; v2.continueScreen = function () { this.art_image.removeMovieClip(); this.art_text.removeMovieClip(); var v3 = _root.attachMovie('Continues', 'Continues', _root.getNextHighestDepth()); v3.game = this; }; v2.continueGame = function () { var v3 = _root.attachMovie('Game', 'Game', _root.getNextHighestDepth()); v3.starfield = this.starfield; v3.sounds = this.sounds; v3.vocals = this.vocals; v3.demo = false; v3.continued = true; v3.continue_set = this.continue_set; this.removeMe(); }; v2.highScore = function () { var v3 = _root.attachMovie('Highscore', 'Highscore', _root.getNextHighestDepth()); v3.game = this; }; v2.titleScreen = function () { this.sounds.removeMovieClip(); this.vocals.removeMovieClip(); this.art_image.removeMovieClip(); this.art_text.removeMovieClip(); var v3 = _root.attachMovie('Title', 'Title', _root.getNextHighestDepth()); if (this.demo) { v3.no_music = true; } else { v3.no_music = false; } this.removeMe(); }; v2.reminderScreen = function () { this.art_image.removeMovieClip(); this.art_text.removeMovieClip(); var v3 = _root.attachMovie('Reminder', 'Reminder', _root.getNextHighestDepth()); v3.sounds = this.sounds; v3.vocals = this.vocals; this.removeMe(); }; v2.startGame = function () { this.sounds.title_loop.stop(); var v3 = _root.attachMovie('Game', 'Game', _root.getNextHighestDepth()); v3.starfield = this.starfield; v3.sounds = this.sounds; v3.vocals = this.vocals; v3.demo = false; this.removeMe(); }; v2.removeMe = function () { this.removeLevel(); this.facade.removeMovieClip(); this.messages.removeMe(); this.bg.removeMovieClip(); this.removeMovieClip(); }; v2.debugMe = function () { if (Key.isDown(this.key_debug) and this.key_debug_clear) { this.key_debug_clear = false; trace(this.maze.mazes[this.layout][0][0]); trace(this.maze.original_mazes[this.layout][0][0]); } if (Key.isDown(this.key_pause) and this.key_pause_clear and !this.mid_cutscene and !this.demo and !this.gameover and !this.victory) { this.key_pause_clear = false; if (this.unpaused) { this.unpaused = false; this.sounds.dizzy.stop(); this.sounds.dizzy.start(); } else { this.unpaused = true; this.sounds.fire.start(); } } if (!Key.isDown(this.key_debug)) { this.key_debug_clear = true; } if (!Key.isDown(this.key_pause)) { this.key_pause_clear = true; } }; ASSetPropFlags(_global.Game.prototype, null, 1); } #endinitclip } movieClip 2144 __Packages.Gem { #initclip if (!_global.Gem) { var v1 = function () { super(); }; _global.Gem = v1; _global.Gem extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.collision = _root.attachMovie('Collision', 'Collision' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.collision.gotoAndStop(3); this.collision._visible = false; this.game.objs.push(this.collision); this.updateCollision(); var v3 = Math.ceil(Math.random() * 2); if (this.hori_direction == null) { if (v3 == 1) { this.hori_direction = 'left'; } else { this.hori_direction = 'right'; } } else { if (v3 == 1) { this.vert_direction = 'up'; } else { this.vert_direction = 'down'; } if (this._y < this.game.origin_y + 64) { this.vert_direction = 'down'; } if (this._y > this.game.room_height - this.game.origin_y - 64) { this.vert_direction = 'up'; } } this.frame = 1; this.gotoAndStop(this.frame); this.collected = false; this.timer = 90; this.blink_threshold = 30; }; v2.onEnterFrame = function () { if (this.game.unpaused) { this.bounceMe(); this.updateCollision(); if (!this.collected) { this.checkPlayer(); this.tickTimer(); } this.animateMe(); } }; v2.bounceMe = function () { var v2 = 2; if (this.hori_direction == 'left') { this._x -= v2; } else { this._x += v2; } if (this.vert_direction == 'up') { this._y -= v2; } else { this._y += v2; } if (this.hori_direction == 'left') { this.rounded_x = this._x - this.game.origin_x - 2; } else { this.rounded_x = this._x - this.game.origin_x - 44; } if (this.vert_direction == 'up') { this.rounded_y = this._y - this.game.origin_y - 2; } else { this.rounded_y = this._y - this.game.origin_y - 44; } this.hori_flip = false; this.vert_flip = false; if (this.hori_direction == 'left') { this.checkWalls(this._x, this._y + 10); } else { this.checkWalls(this._x + 19, this._y + 10); } if (this.vert_direction == 'up') { this.checkWalls(this._x + 10, this._y); } else { this.checkWalls(this._x + 10, this._y + 19); } if (this._y < 16 or this._y >= 446) { if (this._x < this.game.room_width / 2) { if (this._x < 16 or this._x >= 62) { this.hori_flip = true; } } else { if (this._x < 526 or this._x >= 574) { this.hori_flip = true; } } } if (this.hori_flip) { if (this.hori_direction == 'left') { this.hori_direction = 'right'; } else { this.hori_direction = 'left'; } } if (this.vert_flip) { if (this.vert_direction == 'up') { this.vert_direction = 'down'; } else { this.vert_direction = 'up'; } } }; v2.updateCollision = function () { this.collision._x = this._x + 8; this.collision._y = this._y + 8; }; v2.checkWalls = function (containing_x, containing_y) { while ((containing_x - this.game.origin_x) % 64 > 0) { --containing_x; } while ((containing_y - this.game.origin_y) % 64 > 0) { --containing_y; } var v3 = Math.floor((containing_x - this.game.origin_x) / 64); var v2 = Math.floor((containing_y - this.game.origin_y) / 64); if (this.rounded_x % 64 == 0) { if (this.hori_direction == 'left') { if (this.game.maze.mazes[this.game.layout][v2][v3] == 2 or this.game.maze.mazes[this.game.layout][v2][v3] == 3) { this.hori_flip = true; } } else { if (this.game.maze.mazes[this.game.layout][v2][v3 + 1] == 2 or this.game.maze.mazes[this.game.layout][v2][v3 + 1] == 3) { this.hori_flip = true; } } } if (this.rounded_y % 64 == 0) { if (this.vert_direction == 'up') { if (this.game.maze.mazes[this.game.layout][v2][v3] == 1 or this.game.maze.mazes[this.game.layout][v2][v3] == 3) { this.vert_flip = true; } } else { if (this.game.maze.mazes[this.game.layout][v2 + 1][v3] == 1 or this.game.maze.mazes[this.game.layout][v2 + 1][v3] == 3) { this.vert_flip = true; } } } if (this.rounded_x % 64 == 0 and this.rounded_y % 64 == 0) { if ((this.game.maze.mazes[this.game.layout][v2][v3 - 1] == 2 or this.game.maze.mazes[this.game.layout][v2][v3 - 1] == 3) and (this.game.maze.mazes[this.game.layout][v2 - 1][v3] == 1 or this.game.maze.mazes[this.game.layout][v2 - 1][v3] == 3)) { if (Math.ceil(Math.random() * 2) == 2) { this.hori_flip = true; } else { this.vert_flip = true; } } } }; v2.tickTimer = function () { if (this.timer > 0) { --this.timer; if (this.timer <= this.blink_threshold) { if (this._visible) { this._visible = false; } else { this._visible = true; } } } else { this.removeMovieClip(); } }; v2.checkPlayer = function () { if (this.collision.hitTest(this.game.queen)) { this.game.score += this.score; this.showPoints(this.score, 'yellow', 'pink'); this.collected = true; this.game.sounds.crystal.start(); } }; v2.showPoints = function (amount, color, color_2) { var v3 = _root.attachMovie('Points', 'Points' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.game = this.game; v3.amount = amount; v3.color = color; if (color_2 != null) { v3.color_2 = color_2; } v3._x = this._x + 10; v3._y = this._y + 10; this.game.objs.push(v3); }; v2.animateMe = function () { if (!this.collected) { ++this.frame; if (this.frame > 8) { this.frame = 1; } } else { if (this.frame < 9) { this._x -= 22; this._y -= 22; this._visible = true; this.frame = 9; } else { ++this.frame; if (this.frame > 13) { this.removeMe(); } } } this.gotoAndStop(this.frame); }; v2.removeMe = function () { this.collision.removeMovieClip(); this.removeMovieClip(); }; ASSetPropFlags(_global.Gem.prototype, null, 1); } #endinitclip } movieClip 2145 __Packages.Highscore { #initclip if (!_global.Highscore) { var v1 = function () { super(); }; _global.Highscore = v1; _global.Highscore extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.message_font = new TextFormat(); this.message_font.font = 'MessageFont'; this.message_font.embedFonts = true; this.message_font.size = 16; this.message_font.align = 'center'; this.art = _root.attachMovie('Art', 'Art' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.art.gotoAndStop(28); this.game.addFlash('yellow'); this.game.addFlash('red'); this.game.addFlash('red', 60); this.game.sounds.well.start(); this.words = []; this.messages = []; this.colors = [16125711, 14012672, 16125711, 6881446]; this.submit = _root.attachMovie('Submit', 'Submit' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.submit._x = 114; this.submit._y = 386; if (this.game.continued) { if (this.game.level == 14) { this.textBorder('you are queen again', this.colors[0], 0, 188); this.textBorder('but your reign is tainted', this.colors[1], 0, 220); this.textBorder('by the indignity of capture.', this.colors[2], 0, 252); this.textBorder('try it without continuing!', this.colors[3], 0, 284); } else { this.textBorder('all record of your score', this.colors[0], 0, 188); this.textBorder('was lost when you escaped.', this.colors[1], 0, 220); this.textBorder('you reached room ' + this.game.level, this.colors[2], 0, 252); this.textBorder('try it without continuing!', this.colors[3], 0, 284); } } else { this.textBorder('your final score was', this.colors[0], 0, 188); this.textBorder('' + this.game.score, this.colors[1], 0, 220); if (this.game.level == 0) { this.textBorder('in the throne room', this.colors[2], 0, 252); } else { if (this.game.level == 13) { this.textBorder('in tarantula\'s lair', this.colors[2], 0, 252); } else { if (this.game.level == 14) { this.textBorder('after the rebellion', this.colors[2], 0, 252); } else { this.textBorder('in room ' + this.game.level, this.colors[2], 0, 252); } } } if (this.game.level == 0) { this.textBorder('next time follow the arrow!', this.colors[3], 0, 284); } else { if (this.game.level >= 10 and this.game.level <= 12) { this.textBorder('you\'re almost there!', this.colors[3], 0, 284); } else { if (this.game.level == 13) { this.textBorder('zap her from behind!', this.colors[3], 0, 284); } else { if (this.game.level == 14) { this.textBorder('you are the spider queen!', this.colors[3], 0, 284); } else { this.textBorder('try harder next time!', this.colors[3], 0, 284); } } } } } this.cycle_timer = 0; this.cycle_speed = 1; this.title_timer = 0; this.title_speed = 200; this.input_timer = 0; this.input_speed = 20; this.key_clear_up = false; this.key_clear_down = false; }; v2.textBorder = function (text_dump, text_color, where_x, where_y, indent) { this.printText(text_dump, 'black', where_x - 2, where_y - 2, indent); this.printText(text_dump, 'black', where_x, where_y - 2, indent); this.printText(text_dump, 'black', where_x + 2, where_y - 2, indent); this.printText(text_dump, 'black', where_x + 2, where_y, indent); this.printText(text_dump, 'black', where_x + 2, where_y + 2, indent); this.printText(text_dump, 'black', where_x, where_y + 2, indent); this.printText(text_dump, 'black', where_x - 2, where_y + 2, indent); this.printText(text_dump, 'black', where_x - 2, where_y, indent); this.messages.push(this.printText(text_dump, text_color, where_x, where_y, indent)); }; v2.printText = function (text_dump, text_color, where_x, where_y, indent) { if (indent) { ++where_x; } var v3 = _root.createTextField('Textbox', _root.getNextHighestDepth(), where_x, where_y, 608, 12); v3.embedFonts = true; v3.textColor = this.game.hexColor(text_color); v3.text = text_dump; v3.setTextFormat(this.message_font); this.words.push(v3); return v3; }; v2.onEnterFrame = function () { if (this.cycle_timer < this.cycle_speed) { ++this.cycle_timer; } else { this.cycle_timer = 0; this.cycleColors(); } if (this.input_timer < this.input_speed) { ++this.input_timer; } else { if (Key.isDown(38) and this.key_clear_up) { this.game.submitScore(); this.titleScreen(); } if (Key.isDown(40) and this.key_clear_down) { this.titleScreen(); } if (!Key.isDown(38)) { this.key_clear_up = true; } if (!Key.isDown(40)) { this.key_clear_down = true; } } }; v2.cycleColors = function () { this.colors.unshift(this.colors.pop()); for (var v2 in this.messages) { this.messages[v2].textColor = this.colors[v2]; } }; v2.titleScreen = function () { this.game.saveHigh(); this.submit.removeMovieClip(); this.art.removeMovieClip(); for (var v2 in this.words) { this.words[v2].removeTextField(); } this.game.sounds.well.stop(); this.game.titleScreen(); this.removeMovieClip(); }; ASSetPropFlags(_global.Highscore.prototype, null, 1); } #endinitclip } movieClip 2146 __Packages.Laser { #initclip if (!_global.Laser) { var v1 = function () { super(); }; _global.Laser = v1; _global.Laser extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.game = this.mom.game; this.line = this.createEmptyMovieClip('line', _root.getNextHighestDepth()); this.collision = _root.attachMovie('Collision', 'Collision' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.collision.gotoAndStop(3); this.collision._visible = false; this.mom.game.objs.push(this.collision); this.frame = 0; this.laser_radius = 10; }; v2.onEnterFrame = function () { if (this.game.unpaused) { this.line.removeMovieClip(); } }; v2.drawLaser = function (facing) { ++this.frame; if (this.frame > 4) { this.frame = 1; } if (this.laser_type == 'spider') { switch (this.frame) { case 1: var v6 = this.game.hexColor('cyan'); var v5 = 8; break; case 2: var v6 = this.game.hexColor('green'); var v5 = 6; break; case 3: var v6 = this.game.hexColor('white'); var v5 = 4; break; case 4: var v6 = this.game.hexColor('blue'); var v5 = 4; } } else { switch (this.frame) { case 1: var v6 = this.game.hexColor('pink'); var v5 = 8; break; case 2: var v6 = this.game.hexColor('yellow'); var v5 = 6; break; case 3: var v6 = this.game.hexColor('white'); var v5 = 4; break; case 4: var v6 = this.game.hexColor('red'); var v5 = 4; } } var v3 = storedv5 / 2; if (facing == 'right') { this.x1 = this.mom._x + 62 - 4; this.x2 = this.fireLaser('right'); this.y1 = this.mom._y + 34 - v3; this.y2 = this.mom._y + 32 + v3; } if (facing == 'left') { this.x1 = this.fireLaser('left'); this.x2 = this.mom._x + 2 + 4; this.y1 = this.mom._y + 34 - v3; this.y2 = this.mom._y + 32 + v3; } if (facing == 'down') { this.x1 = this.mom._x + 34 - v3; this.x2 = this.mom._x + 32 + v3; this.y1 = this.mom._y + 62 - 4; this.y2 = this.fireLaser('down'); } if (facing == 'up') { this.x1 = this.mom._x + 34 - v3; this.x2 = this.mom._x + 32 + v3; this.y1 = this.fireLaser('up'); this.y2 = this.mom._y + 2 + 4; } if (this.laser_type == 'spider') { switch (facing) { case 'right': this.x2 -= 2; break; case 'left': this.x1 += 2; break; case 'down': this.y2 -= 2; break; case 'up': this.y1 += 2; } } if (this.laser_type == 'tarantula') { switch (facing) { case 'right': this.x2 -= 2; break; case 'left': this.x1 += 2; break; case 'down': this.y2 -= 2; break; case 'up': this.y1 += 2; } } this.line = this.createEmptyMovieClip('line', _root.getNextHighestDepth()); this.line.beginFill(storedv6); this.line.moveTo(this.x1, this.y1); this.line.lineTo(this.x2, this.y1); this.line.lineTo(this.x2, this.y2); this.line.lineTo(this.x1, this.y2); this.line.lineTo(this.x1, this.y1); this.line.endFill(); switch (facing) { case 'right': this.actual_x = this.x2; this.actual_y = this.y1 + v3; break; case 'left': this.actual_x = this.x1; this.actual_y = this.y1 + v3; break; case 'down': this.actual_x = this.x1 + v3; this.actual_y = this.y2; break; case 'up': this.actual_x = this.x1 + v3; this.actual_y = this.y1; } }; v2.fireLaser = function (facing) { this.grid_y = Math.floor((this.mom._y - this.game.origin_y) / 64); this.grid_x = Math.floor((this.mom._x - this.game.origin_x) / 64); if (facing == 'left') { ++this.grid_x; } if (facing == 'up') { ++this.grid_y; } if (facing == 'right' or facing == 'left') { var v4 = true; } var v2 = false; while (!v2) { switch (facing) { case 'right': ++this.grid_x; break; case 'left': --this.grid_x; break; case 'down': ++this.grid_y; break; case 'up': --this.grid_y; } if (v4) { if (this.grid_x > 9 or this.grid_x < 0) { v2 = true; } else { if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 2 or this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 3) { v2 = true; } } } else { if (this.grid_y > 7 or this.grid_y < 0) { v2 = true; } else { if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 1 or this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 3) { v2 = true; } } } } var v7 = 0; if (v4) { v7 = this.grid_x * 64 + this.game.origin_x; } else { v7 = this.grid_y * 64 + this.game.origin_y; } var v6 = null; var v5 = 32; if (this.laser_type == 'spider') { this.checkEnemies(v5, facing, v7); } else { v6 = this.checkPlayer(v5, facing, v7); } if (v6 != null and (v6.queen_state == 'scuttling' or v6.queen_state == 'cocooned')) { if (v4) { return v6._x + v5; } else { return v6._y + v5; } } else { if (this.enemy != null) { this.enemy.getZapped(facing); if (v4) { return this.enemy._x + v5; } else { return this.enemy._y + v5; } } else { if (this.mom.facing == 'right') { --this.grid_x; } if (this.mom.facing == 'down') { --this.grid_y; } for (var v8 in this.game.assassins) { if (this.game.assassins[v8].grid_x == this.grid_x and this.game.assassins[v8].grid_y == this.grid_y and this.game.assassins[v8].facing == this.getOpposite(this.mom.facing)) { this.game.assassins[v8].getZapped(); } } return v7; } } }; v2.checkEnemies = function (half, facing, wall) { this.enemy = null; this.closest = null; var v4 = 0; var v5 = 0; switch (facing) { case 'right': v4 = this.mom._x + 64; v5 = this.mom._y + 32; break; case 'left': v4 = this.mom._x; v5 = this.mom._y + 32; break; case 'down': v4 = this.mom._x + 32; v5 = this.mom._y + 64; break; case 'up': v4 = this.mom._x + 32; v5 = this.mom._y; } for (var v7 in this.game.enemies) { switch (facing) { case 'right': this.checkEnemy(this.game.enemies[v7], this.game.enemies[v7]._y + half, v5, this.game.enemies[v7]._x + half, wall, this.game.enemies[v7]._x + half, this.mom._x + half); break; case 'left': this.checkEnemy(this.game.enemies[v7], this.game.enemies[v7]._y + half, v5, wall, this.game.enemies[v7]._x + half, this.mom._x + half, this.game.enemies[v7]._x + half); break; case 'down': this.checkEnemy(this.game.enemies[v7], this.game.enemies[v7]._x + half, v4, this.game.enemies[v7]._y + half, wall, this.game.enemies[v7]._y + half, this.mom._y + half); break; case 'up': this.checkEnemy(this.game.enemies[v7], this.game.enemies[v7]._x + half, v4, wall, this.game.enemies[v7]._y + half, this.mom._y + half, this.game.enemies[v7]._y + half); } } }; v2.checkEnemy = function (enemy_id, collision_1, collision_2, collision_3, collision_4, collision_5, collision_6) { if (collision_1 >= collision_2 - this.laser_radius and collision_1 <= collision_2 + this.laser_radius and collision_3 < collision_4 and collision_5 > collision_6) { if (this.laser_type == 'tarantula') { return true; } else { var v3 = Math.abs(collision_5 - collision_6); var v2 = false; if (this.closest == null) { v2 = true; } else { if (v3 < this.closest) { v2 = true; } } if (v2) { this.enemy = enemy_id; this.closest = v3; } } } }; v2.checkPlayer = function (half, facing, wall) { var v2 = this.game.queen; var v6 = false; var v4 = 0; var v5 = 0; switch (facing) { case 'right': v4 = this.mom._x + 64; v5 = this.mom._y + 32; break; case 'left': v4 = this.mom._x; v5 = this.mom._y + 32; break; case 'down': v4 = this.mom._x + 32; v5 = this.mom._y + 64; break; case 'up': v4 = this.mom._x + 32; v5 = this.mom._y; } switch (facing) { case 'right': if (this.checkEnemy(v2, v2._y + half, v5, v2._x + half, wall, v2._x + half, this.mom._x + half)) { v6 = true; } break; case 'left': if (this.checkEnemy(v2, v2._y + half, v5, wall, v2._x + half, this.mom._x + half, v2._x + half)) { v6 = true; } break; case 'down': if (this.checkEnemy(v2, v2._x + half, v4, v2._y + half, wall, v2._y + half, this.mom._y + half)) { v6 = true; } break; case 'up': if (this.checkEnemy(v2, v2._x + half, v4, wall, v2._y + half, this.mom._y + half, v2._y + half)) { v6 = true; } } if (v6) { if (v2.queen_state == 'scuttling') { trace('ZAPPO!'); this.game.vocals.saySomething('captured'); } v2.getZapped(this.mom, facing); return v2; } }; v2.getOpposite = function (facing) { switch (facing) { case 'up': return 'down'; break; case 'down': return 'up'; break; case 'right': return 'left'; break; case 'left': return 'right'; } }; ASSetPropFlags(_global.Laser.prototype, null, 1); } #endinitclip } movieClip 2147 __Packages.Life { #initclip if (!_global.Life) { var v1 = function () { super(); }; _global.Life = v1; _global.Life extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { if (this.game.lives >= this.number) { this.life_state = 'fine'; this.frame = 1; } else { this.life_state = 'gone'; this.frame = 6; } this.flashing = 'no'; this.flash_timer = 0; this.flash_time = 50; this.shine_timer = 0; this.shine_speed = 60; this.gotoAndStop(this.frame); }; v2.onEnterFrame = function () { if (this.game.unpaused) { this.setState(); this.animateMe(); if (this.flashing != 'no') { this.flashMe(); } } }; v2.setState = function () { if (this.life_state == 'gone') { if (this.game.lives >= this.number) { this.life_state = 'fine'; if (this.frame == 6) { this.flashing = 'appear'; } else { this.flashing = 'rekindle'; } this.flash_timer = 0; } } else { if (this.life_state == 'fine') { if (this.game.lives < this.number) { this.life_state = 'gone'; this.flashing = 'shatter'; this.flash_timer = 0; } } } }; v2.animateMe = function () { ++this.shine_timer; if (this.shine_timer == this.shine_speed) { this.shine_timer = 0; if (this.life_state == 'fine' and this.frame == 1) { ++this.frame; } } else { if (this.life_state == 'fine' and this.flashing == 'no') { if (this.frame > 1) { ++this.frame; if (this.frame > 4) { this.frame = 1; } } } } this.gotoAndStop(this.frame); }; v2.flashMe = function () { if (this.flash_timer >= this.flash_time) { if (this.flashing == 'appear' or this.flashing == 'rekindle') { this.frame = 1; } else { this.frame = 5; } this.gotoAndStop(this.frame); this.flashing = 'no'; this.flash_timer = 0; } else { ++this.flash_timer; if (this.flashing == 'appear') { if (this.frame == 6) { this.frame = 1; } else { this.frame = 6; } } if (this.flashing == 'rekindle') { if (this.frame == 5) { this.frame = 1; } else { this.frame = 5; } } if (this.flashing == 'shatter') { if (this.frame < 5) { this.frame = 5; } else { this.frame = 1; } } this.gotoAndStop(this.frame); } }; v2.onMouseDown = function () { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { trace(''); trace('life_state = ' + this.life_state); trace('flashing = ' + this.flashing); trace('frame = ' + this.frame); } }; ASSetPropFlags(_global.Life.prototype, null, 1); } #endinitclip } movieClip 2148 __Packages.Logo { #initclip if (!_global.Logo) { var v1 = function () { super(); }; _global.Logo = v1; _global.Logo extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.art = []; this.bevel_count = 0; this.bevel_depth = 5; var v3 = _root.attachMovie('Art', 'Art' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.gotoAndStop(40); this.art.push(v3); this.black_art = _root.attachMovie('Art', 'Art' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.black_art.gotoAndStop(35); this.art.push(this.black_art); this.title_timer = 0; this.title_speed = 100; }; v2.onEnterFrame = function () { if (this.bevel_count < this.bevel_depth) { ++this.bevel_count; var v3 = _root.attachMovie('Art', 'Art' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.gotoAndStop(36); v3._x = this.bevel_count * 2; v3._y = this.bevel_count * 2; this.art.push(v3); this.black_art.swapDepths(_root.getNextHighestDepth()); } var v4 = 4; if (Math.ceil(Math.random() * v4) == v4) { this.black_art.gotoAndStop(39); } else { this.black_art.gotoAndStop(35); } ++this.title_timer; if (this.title_timer == this.title_speed) { this.titleScreen(); } }; v2.titleScreen = function () { this.makeStarfield(); for (var v3 in this.art) { this.art[v3].removeMovieClip(); } var v4 = _root.attachMovie('Title', 'Title', _root.getNextHighestDepth()); this.removeMovieClip(); }; v2.makeStarfield = function () { var v4 = 200; var v2 = 0; while (v2 < v4) { var v3 = _root.attachMovie('Star', 'Star' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3._x = Math.ceil(Math.random() * 304) * 2; v3._y = Math.ceil(Math.random() * 120) * 4; ++v2; } }; ASSetPropFlags(_global.Logo.prototype, null, 1); } #endinitclip } movieClip 2149 __Packages.Maze { #initclip if (!_global.Maze) { var v1 = function () { super(); }; _global.Maze = v1; _global.Maze extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.Z = 0; this.mazes = this.setupMazes(); this.original_mazes = this.setupMazes(); this.dots = [[126, 2, 'the throne room'], [116, 2, 'the crystal chamber'], [122, 6, 'the ball room'], [130, 6, 'the royal bathhouse', 'indent'], [136, 2, 'the chapel'], [150, 8, 'the castle walls'], [162, 10, 'the watch tower', 'indent'], [172, 4, 'the armory', 'indent'], [184, 8, 'the stairwells'], [208, 10, 'the dungeons'], [222, 4, 'the cells'], [230, 12, 'the arena'], [252, 10, 'the torture chamber'], [298, 10, 'mars'], [332, 12, 'syrtis major'], [362, 2, 'olympus mons'], [412, 10, 'the face'], [440, 12, 'queen tarantula\'s lair'], [518, 8, 'attract mode']]; this.names = [['choose your level - escape the throne room!', 'the throne room'], ['the chamber of the crystal sceptre', 'the crystal chamber'], ['the ball room - an impromptu get-together', 'the ball room'], ['the royal bath house - don\'t get too wet!', 'the royal bath house'], ['the royal chapel - a place of atonement', 'the chapel'], ['on the battlements of the martian palace', 'the castle walls'], ['a watch tower high above the castle', 'the watch tower'], ['the armory is missing a few weapons', 'the armory'], ['a winding stairway to the castle dungeon', 'the stairwells'], ['the dungeon - watch for sharp objects!', 'the dungeons'], ['these cells are in need of re-stocking', 'the cells'], ['the arena - where gladiators are trained', 'the arena'], ['the torture chamber is fully equipped', 'the torture chamber'], ['the martian no-man\'s-land is dangerous', 'mars'], ['syrtis major - the dark spot of mars', 'syrtis major'], ['olympus mars - the martian mountain', 'olympus mons'], ['the face - a celebrated monument of mars', 'the face'], ['tarantula\'s lair - zap her from behind!', 'queen tarantula\'s lair'], ['only a true queen can make them submit!', 'attract mode']]; }; v2.setupMazes = function () { return [[[2, 3, 1, 3, 3, 3, 3, 1, 2, 2], [2, 2, 2, 2, 2, 2, 2, 2, 2, 2], [2, 0, 2, 3, 0, 1, 2, 2, 0, 2], [3, 1, 0, 0, 3, 2, 0, 1, 1, 2], [3, 1, 2, 2, 0, 0, 2, 3, 1, 2], [2, 2, 2, 3, 2, 3, 2, 2, 2, 2], [2, 2, 0, 2, 2, 2, 2, 0, 2, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [26, 4, 3], [27, 4, 6], [28, 0, 3], [30, 8, 3], [31, 3, 0], [32, 5, 0], [33, 3, 5], [34, 5, 5], ['warp', 1, 4, 6, 0], ['warp', 2, 0, 3, 0], ['warp', 2, 8, 3, 0]], [[2, 1, 3, 1, 1, 1, 1, 3, 0, 2], [2, 2, 2, 1, 2, 3, 0, 2, 2, 2], [2, 2, 1, 0, 0, 0, 1, 0, 2, 2], [2, 1, 0, 1, 1, 1, 0, 1, 0, 2], [2, 3, 0, 1, 1, 1, 0, 1, 2, 2], [2, 2, 3, 0, 2, 2, 1, 2, 2, 2], [2, 0, 2, 1, 0, 1, 0, 2, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0]], [[2, 1, 1, 3, 1, 1, 3, 1, 0, 2], [2, 1, 0, 0, 2, 2, 0, 1, 0, 2], [2, 1, 1, 2, 2, 2, 3, 1, 0, 2], [3, 2, 2, 0, 2, 2, 0, 2, 3, 2], [3, 0, 0, 2, 2, 2, 2, 0, 1, 2], [2, 1, 1, 0, 2, 2, 1, 1, 0, 2], [2, 1, 0, 2, 0, 0, 2, 1, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [5, 0, 3], [6, 8, 3]], [[2, 1, 3, 1, 1, 1, 1, 3, 0, 2], [3, 2, 0, 1, 0, 1, 0, 0, 3, 2], [3, 0, 2, 1, 1, 1, 0, 2, 1, 2], [2, 1, 1, 0, 2, 2, 1, 1, 0, 2], [2, 1, 3, 0, 0, 0, 1, 3, 0, 2], [3, 2, 0, 1, 1, 1, 0, 0, 3, 2], [3, 0, 2, 1, 0, 1, 0, 2, 1, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [1, 0, 1], [1, 0, 5], [2, 8, 1], [2, 8, 5]], [[2, 1, 3, 1, 1, 1, 1, 3, 0, 2], [2, 2, 0, 2, 2, 2, 2, 0, 2, 2], [2, 0, 3, 0, 2, 2, 1, 2, 0, 2], [3, 2, 2, 1, 0, 1, 0, 2, 3, 2], [3, 0, 2, 1, 2, 3, 0, 2, 1, 2], [2, 2, 1, 2, 2, 2, 3, 0, 2, 2], [2, 0, 2, 0, 0, 0, 0, 2, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [3, 0, 3], [4, 8, 3]], [[2, 1, 1, 1, 3, 3, 1, 1, 0, 2], [3, 2, 1, 2, 1, 0, 3, 0, 3, 2], [3, 0, 2, 3, 0, 1, 2, 2, 1, 2], [2, 3, 2, 0, 1, 0, 0, 3, 2, 2], [2, 1, 2, 2, 1, 0, 2, 3, 0, 2], [3, 2, 0, 3, 0, 1, 2, 0, 3, 2], [3, 0, 1, 0, 3, 2, 1, 0, 1, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [7, 0, 1], [7, 0, 5], [7, 1, 3], [7, 4, 0], [7, 4, 6], [7, 7, 3], [7, 8, 1], [7, 8, 5]], [[2, 1, 1, 1, 3, 3, 1, 1, 0, 2], [2, 3, 0, 2, 1, 0, 2, 1, 2, 2], [2, 0, 1, 3, 0, 1, 3, 0, 0, 2], [3, 2, 2, 0, 2, 2, 0, 2, 3, 2], [3, 0, 0, 2, 0, 0, 2, 0, 1, 2], [2, 2, 1, 3, 0, 1, 3, 0, 2, 2], [2, 1, 0, 0, 3, 2, 0, 1, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [10, 0, 3], [12, 4, 0], [11, 4, 6], [13, 8, 3]], [[2, 3, 1, 3, 1, 1, 3, 1, 0, 2], [2, 0, 2, 2, 3, 2, 0, 2, 1, 2], [2, 1, 0, 0, 3, 0, 2, 1, 0, 2], [3, 2, 3, 0, 0, 1, 0, 2, 3, 2], [3, 0, 0, 3, 0, 2, 1, 0, 1, 2], [2, 1, 2, 0, 3, 2, 2, 3, 0, 2], [3, 0, 0, 2, 1, 0, 2, 0, 2, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [9, 0, 3], [8, 4, 1], [8, 4, 5], [9, 8, 3]], [[2, 1, 1, 3, 3, 1, 1, 1, 0, 2], [2, 3, 0, 1, 2, 2, 1, 1, 2, 2], [2, 2, 3, 0, 0, 1, 1, 2, 0, 2], [2, 0, 0, 2, 1, 1, 2, 0, 1, 2], [3, 0, 2, 1, 1, 0, 0, 2, 2, 2], [2, 2, 1, 1, 2, 2, 1, 0, 2, 2], [2, 1, 1, 0, 0, 3, 2, 1, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [14, 3, 0], [15, 5, 6]], [[2, 1, 1, 1, 1, 1, 1, 1, 0, 2], [2, 1, 0, 2, 3, 2, 1, 1, 2, 2], [2, 1, 1, 2, 1, 0, 1, 2, 2, 2], [2, 1, 0, 3, 1, 0, 2, 0, 0, 2], [2, 2, 2, 0, 1, 1, 2, 1, 0, 2], [2, 2, 1, 0, 3, 2, 3, 1, 0, 2], [2, 1, 1, 0, 1, 0, 0, 1, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [20, 4, 1], [22, 4, 5], ['spike', 'right', 'out', 0, 3], ['spike', 'down', 'hidden', 5, 0], ['spike', 'up', 'hidden', 4, 6], ['spike', 'left', 'out', 8, 4]], [[2, 1, 3, 1, 3, 3, 1, 3, 0, 2], [2, 2, 0, 2, 1, 0, 2, 0, 2, 2], [2, 0, 2, 0, 1, 0, 0, 2, 0, 2], [3, 2, 0, 1, 2, 2, 1, 0, 3, 2], [3, 0, 3, 0, 0, 1, 0, 2, 1, 2], [2, 2, 0, 2, 1, 0, 2, 0, 2, 2], [2, 0, 2, 0, 3, 2, 0, 2, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [16, 0, 3], [23, 4, 0], [24, 4, 6], [17, 8, 3], ['spike', 'right', 'out', 1, 2], ['spike', 'left', 'hidden', 3, 2], ['spike', 'right', 'out', 5, 2], ['spike', 'left', 'hidden', 7, 2], ['spike', 'left', 'hidden', 1, 5], ['spike', 'right', 'out', 3, 5], ['spike', 'left', 'hidden', 5, 5], ['spike', 'right', 'out', 7, 5]], [[2, 1, 1, 3, 1, 1, 3, 1, 0, 2], [2, 3, 0, 0, 2, 2, 0, 1, 2, 2], [2, 0, 1, 2, 0, 0, 3, 0, 0, 2], [3, 2, 2, 0, 1, 0, 0, 2, 3, 2], [3, 0, 0, 2, 1, 0, 2, 0, 1, 2], [2, 2, 1, 0, 2, 2, 1, 0, 2, 2], [2, 1, 0, 2, 0, 0, 2, 1, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [18, 0, 3], [19, 8, 3], ['spike', 'right', 'hidden', 0, 1], ['spike', 'right', 'hidden', 0, 6], ['spike', 'down', 'out', 1, 0], ['spike', 'up', 'out', 1, 6], ['spike', 'down', 'out', 8, 0], ['spike', 'up', 'out', 8, 6], ['spike', 'left', 'hidden', 8, 1], ['spike', 'left', 'hidden', 8, 6], ['spike', 'right', 'out', 3, 2], ['spike', 'left', 'out', 5, 2], ['spike', 'right', 'hidden', 3, 5], ['spike', 'left', 'hidden', 5, 5]], [[2, 1, 1, 3, 1, 3, 1, 1, 0, 2], [2, 1, 0, 0, 2, 2, 1, 1, 0, 2], [2, 1, 2, 3, 0, 0, 3, 2, 2, 2], [3, 0, 0, 0, 1, 0, 1, 0, 0, 2], [2, 2, 3, 2, 1, 0, 2, 2, 1, 2], [2, 0, 1, 0, 2, 3, 0, 1, 0, 2], [2, 1, 1, 0, 2, 0, 2, 1, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [25, 2, 4], [21, 6, 2], ['spike', 'left', 'out', 1, 5], ['spike', 'up', 'hidden', 2, 3], ['spike', 'right', 'out', 3, 4], ['spike', 'down', 'hidden', 3, 5], ['spike', 'left', 'out', 5, 3], ['spike', 'up', 'hidden', 6, 1], ['spike', 'right', 'out', 7, 2], ['spike', 'down', 'hidden', 7, 3]], [[2, 1, 1, 3, 1, 1, 3, 1, 0, 2], [2, 1, 0, 0, 2, 2, 0, 1, 0, 2], [2, 3, 1, 0, 2, 2, 1, 1, 2, 2], [2, 0, 2, 1, 0, 1, 0, 2, 0, 2], [3, 0, 0, 1, 2, 3, 0, 0, 1, 2], [2, 2, 1, 2, 0, 0, 3, 0, 2, 2], [2, 0, 2, 0, 1, 0, 0, 2, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0]], [[2, 1, 1, 3, 1, 1, 3, 1, 0, 2], [2, 1, 2, 0, 1, 0, 0, 3, 0, 2], [3, 0, 2, 1, 2, 3, 0, 2, 1, 2], [2, 2, 0, 2, 0, 0, 2, 0, 2, 2], [2, 1, 3, 0, 1, 0, 1, 3, 0, 2], [2, 2, 0, 1, 0, 1, 0, 0, 2, 2], [2, 1, 0, 2, 1, 0, 2, 1, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0]], [[2, 1, 1, 3, 1, 1, 3, 1, 0, 2], [2, 1, 2, 0, 1, 0, 0, 3, 0, 2], [3, 0, 2, 1, 0, 1, 0, 2, 1, 2], [2, 1, 1, 2, 1, 0, 3, 1, 0, 2], [3, 1, 0, 0, 2, 2, 0, 1, 1, 2], [2, 2, 1, 1, 0, 1, 1, 0, 2, 2], [2, 1, 0, 2, 1, 0, 2, 1, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0]], [[2, 1, 1, 3, 1, 1, 3, 1, 0, 2], [2, 1, 0, 0, 2, 2, 0, 1, 0, 2], [2, 1, 1, 2, 0, 0, 3, 1, 0, 2], [3, 1, 0, 0, 2, 2, 0, 1, 1, 2], [2, 1, 2, 1, 0, 1, 0, 3, 0, 2], [2, 2, 2, 1, 1, 1, 0, 2, 2, 2], [2, 0, 0, 2, 1, 0, 2, 0, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0]], [[2, 1, 3, 1, 1, 1, 1, 3, 0, 2], [2, 2, 0, 1, 2, 3, 0, 0, 2, 2], [2, 0, 3, 0, 0, 0, 1, 2, 0, 2], [3, 0, 2, 3, 1, 1, 2, 2, 1, 2], [2, 1, 0, 0, 2, 2, 0, 1, 0, 2], [2, 3, 1, 0, 2, 2, 1, 1, 2, 2], [2, 0, 2, 1, 0, 1, 0, 2, 0, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0]], [[2, 3, 1, 3, 1, 1, 3, 1, 2, 2], [2, 0, 2, 0, 3, 2, 0, 2, 0, 2], [3, 0, 3, 1, 0, 1, 1, 2, 1, 2], [2, 3, 0, 0, 0, 0, 0, 1, 2, 2], [2, 1, 2, 0, 0, 0, 0, 3, 0, 2], [3, 0, 3, 1, 2, 3, 1, 2, 1, 2], [2, 2, 0, 2, 1, 0, 2, 0, 2, 2], [0, 1, 1, 1, 1, 1, 1, 1, 0, 0], [35, 1, 1]]]; }; ASSetPropFlags(_global.Maze.prototype, null, 1); } #endinitclip } movieClip 2150 __Packages.Messages { #initclip if (!_global.Messages) { var v1 = function () { super(); }; _global.Messages = v1; _global.Messages extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.message_font = new TextFormat(); this.message_font.font = 'MessageFont'; this.message_font.embedFonts = true; this.message_font.size = 16; this.message_font.align = 'center'; this.status_font = new TextFormat(); this.status_font.font = 'MessageFont'; this.status_font.embedFonts = true; this.status_font.size = 16; this.status_font.align = 'left'; this.title_message = this.createText(82, -2); this.title_message.align = 'center'; this.title_message._visible = false; this.title_message.text = 'lesbian spider-queens of mars'; this.title_message.setTextFormat(this.message_font); this.special_message = this.createText(82, 464); this.special_message.align = 'center'; this.special_message._visible = false; if (this.game.demo) { this.special_message.text = 'press the spacebar to play!'; } else { this.special_message.text = 'use the arrow keys to move'; } this.special_message.setTextFormat(this.message_font); this.pause_message = this.createText(82, -2); this.pause_message.align = 'center'; this.pause_message._visible = false; this.pause_message.text = '< < < press p to unpause the game! > > >'; this.pause_message.setTextFormat(this.message_font); this.room_message = this.createText(82, 464); this.score_message = this.createText(164, 464); this.high_message = this.createText(294, 464); this.lives_message = this.createText(394, 464); this.lives = []; this.makeLife(1, 512); this.makeLife(2, 498); this.makeLife(3, 484); this.makeLife(4, 470); this.makeLife(5, 456); this.map_pieces = []; this.makeMap(); this.mapInvisible(); this.special_bottom = true; this.special_timer = 0; this.special_speed = 130; this.flash_color = true; if (this.one_timers == null) { this.one_timers = []; this.no_specials = false; } }; v2.createText = function (where_x, where_y) { var v3 = _root.createTextField('Textbox', _root.getNextHighestDepth(), where_x, where_y, 444, 14); v3.embedFonts = true; v3.textColor = 14012672; v3.text = ''; v3.setTextFormat(this.status_font); return v3; }; v2.makeLife = function (number, position) { var v3 = _root.attachMovie('Life', 'Life' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.game = this.game; v3.number = number; v3._x = position; v3._y = 468; this.lives.push(v3); }; v2.makeMap = function () { this.map_bg = _root.attachMovie('Map', 'Map' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.map_bg._x = 82; this.map_bg.identity = 'bg'; this.map_bg.game = this.game; var v5 = 246; var v6 = 8; var v4 = 0; while (v4 < 14) { var v3 = _root.attachMovie('Map', 'Map' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3._x = v5 + v4 * v6; v3.place = v4; switch (v4) { case 0: v3.identity = 'palace'; break; case 1: case 2: case 3: v3.identity = 'blue'; break; case 4: case 5: case 6: v3.identity = 'pink'; break; case 7: case 8: case 9: v3.identity = 'purple'; break; case 10: case 11: case 12: v3.identity = 'red'; break; case 13: v3.identity = 'lair'; } v3.game = this.game; this.map_pieces.push(v3); ++v4; } }; v2.onEnterFrame = function () { this.flashColors(); if (this.game.unpaused) { this.pause_message._visible = false; this.showSpecial(); this.updateScore(); } else { if (!this.game.mid_cutscene) { this.special_message._visible = false; this.pause_message._visible = true; if (!this.special_bottom) { this.mapInvisible(); } } } if (this.game.mid_cutscene) { this.statusInvisible(); this.special_message._visible = false; this.pause_message._visible = false; this.mapInvisible(); } }; v2.flashColors = function () { if (this.flash_color) { this.flash_color = false; this.pause_message.textColor = 16777215; this.special_message.textColor = 16777215; } else { this.flash_color = true; this.pause_message.textColor = 65280; this.special_message.textColor = 65280; } }; v2.showSpecial = function () { if (this.special_timer > 0 or this.game.first_stage or this.game.demo) { this.special_message._visible = true; if (this.special_bottom) { this.statusInvisible(); this.mapVisible(); } else { this.mapInvisible(); this.statusVisible(); } if (!this.game.end_of_level and this.special_timer > 0) { --this.special_timer; } } else { this.special_message._visible = false; if (this.special_bottom) { this.statusVisible(); } else { this.mapVisible(); } } }; v2.statusVisible = function () { this.room_message._visible = true; this.score_message._visible = true; this.high_message._visible = true; this.lives_message._visible = true; for (var v2 in this.lives) { this.lives[v2]._visible = true; } }; v2.statusInvisible = function () { this.room_message._visible = false; this.score_message._visible = false; this.high_message._visible = false; this.lives_message._visible = false; for (var v2 in this.lives) { this.lives[v2]._visible = false; } }; v2.mapVisible = function () { this.map_bg._visible = true; for (var v2 in this.map_pieces) { this.map_pieces[v2]._visible = true; } }; v2.mapInvisible = function () { this.map_bg._visible = false; for (var v2 in this.map_pieces) { this.map_pieces[v2]._visible = false; } }; v2.specialReset = function () { this.special_timer = 0; }; v2.updateScore = function () { this.room_message.text = 'room ' + this.game.level; if (this.game.continued) { this.score_message.text = 'score>loser'; } else { this.score_message.text = 'score>' + this.game.score; } this.high_message.text = 'hi>' + this.game.high; this.lives_message.text = 'lives>'; this.room_message.setTextFormat(this.status_font); this.score_message.setTextFormat(this.status_font); this.high_message.setTextFormat(this.status_font); this.lives_message.setTextFormat(this.status_font); }; v2.updateTitle = function () { this.title_message.text = this.game.maze.names[this.game.room][0]; this.title_message.setTextFormat(this.message_font); switch (this.game.area) { case 1: this.title_message.textColor = 4023295; break; case 2: this.title_message.textColor = 14483550; break; case 3: this.title_message.textColor = 6881446; break; case 4: this.title_message.textColor = 16125711; break; case 5: this.title_message.textColor = 16125711; } if (this.game.demo or this.game.first_stage) { this.special_bottom = true; } else { this.special_bottom = false; } if (this.special_bottom) { this.special_message._y = 464; this.pause_message._y = 464; } else { this.special_message._y = -2; this.pause_message._y = -2; } }; v2.updateMap = function () { for (var v2 in this.map_pieces) { this.map_pieces[v2].refreshMe(); } }; v2.flashMessage = function (message, only_once) { var v2 = true; if (this.no_specials) { v2 = false; } else { if (only_once) { for (var v4 in this.one_timers) { if (this.one_timers[v4] == message) { v2 = false; } } if (v2) { this.one_timers.push(message); } } } if (v2) { this.special_message.text = message; this.special_message.setTextFormat(this.message_font); this.special_timer = this.special_speed; } }; v2.removeMe = function () { this.special_message.removeTextField(); this.pause_message.removeTextField(); this.title_message.removeTextField(); this.room_message.removeTextField(); this.score_message.removeTextField(); this.high_message.removeTextField(); this.lives_message.removeTextField(); this.map_bg.removeMovieClip(); for (var v2 in this.map_pieces) { this.map_pieces[v2].removeMovieClip(); } for (v2 in this.lives) { this.lives[v2].removeMovieClip(); } this.removeMovieClip(); }; ASSetPropFlags(_global.Messages.prototype, null, 1); } #endinitclip } movieClip 2151 __Packages.Points { #initclip if (!_global.Points) { var v1 = function () { super(); }; _global.Points = v1; _global.Points extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.rise_speed = 2; this.rise_timer = 0; this.vanish_speed = 40; this.vanish_timer = 0; this.font = new TextFormat(); this.font.font = 'MessageFont'; this.font.embedFonts = true; this.font.size = 16; this.font.align = 'center'; this.font_color = this.game.hexColor(this.color); this.number = _root.createTextField('Number' + _root.getNextHighestDepth(), _root.getNextHighestDepth(), this._x - 200 - 1, this._y - 20, 400, 40); this.number.embedFonts = true; this.number.text = String(this.amount); this.setText(); this.game.objs.push(this.number); this.removeme = true; }; v2.setText = function () { this.number.textColor = this.font_color; this.number.setTextFormat(this.font); }; v2.onEnterFrame = function () { if (this.game.unpaused) { this.riseMe(); if (this.vanish_timer >= this.vanish_speed * 0.75) { this.blinkNumber(); } } }; v2.riseMe = function () { if (this.vanish_timer < this.vanish_speed) { ++this.vanish_timer; } else { this.removeMe(); } if (this.rise_timer < this.rise_speed) { ++this.rise_timer; } else { this.rise_timer = 0; this.number._y -= 2; } if (this.color_2 != null) { if (this.font_color == this.game.hexColor(this.color)) { this.font_color = this.game.hexColor(this.color_2); } else { this.font_color = this.game.hexColor(this.color); } } this.setText(); }; v2.blinkNumber = function () { if (this.number._visible) { this.number._visible = false; } else { this.number._visible = true; } }; v2.removeMe = function () { this.number.removeTextField(); this.removeMovieClip(); }; ASSetPropFlags(_global.Points.prototype, null, 1); } #endinitclip } movieClip 2152 __Packages.Puff { #initclip if (!_global.Puff) { var v1 = function () { super(); }; _global.Puff = v1; _global.Puff extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.dissolve_timer = 0; this.gotoAndStop(this.frame); }; v2.onEnterFrame = function () { if (this.game.unpaused) { this.driftMe(); this.animateMe(); } }; v2.driftMe = function () { this._x += this.x_drift * this.drift_speed; this._y += this.y_drift * this.drift_speed; }; v2.animateMe = function () { if (this.dissolve_timer < this.dissolve_speed) { ++this.dissolve_timer; } else { ++this.frame; } if (this.frame > 6) { this.removeMe(); } else { this.gotoAndStop(this.frame); } }; v2.removeMe = function () { this.removeMovieClip(); }; ASSetPropFlags(_global.Puff.prototype, null, 1); } #endinitclip } movieClip 2153 __Packages.Queen { #initclip if (!_global.Queen) { var v1 = function () { super(); }; _global.Queen = v1; _global.Queen extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.collide_me = this.attachCollision(5); this.collide_left = this.attachCollision(2); this.collide_right = this.attachCollision(2); this.collide_up = this.attachCollision(1); this.collide_down = this.attachCollision(1); this.updateCollision(); this.room_top = this.game.origin_y; this.room_bottom = this.game.room_height - this.game.origin_y - 64; this.facing = 'right'; this.last_facing = this.facing; this.turn_direction = 'none'; this.frame = 1; this.gotoAndStop(1); this.key_left = false; this.key_up = false; this.key_right = false; this.key_down = false; this.was_key_left = false; this.was_key_up = false; this.was_key_right = false; this.was_key_down = false; this.x_adjust = 'right'; this.y_adjust = 'up'; this.move_timer = 0; this.move_speed = 1; this.step_length = 8; this.turn_delay = -1; this.moved = false; if (this.queen_state != 'struggling') { this.queen_state = 'scuttling'; } this.boom_timer = 0; this.boom_speed = 1; this.struggle_timer = 0; this.struggle_speed = 2; this.dead_timer = 0; this.dead_speed = 30; this.flash_timer = 0; this.flash_speed = 100; this.flash_laser_speed = 20; this.start_x = this._x; this.start_y = this._y; this.scuttle_timer = 0; this.scuttle_delay = 4; this.scuttle_count = 1; this.invincible = false; this.laser_active = false; }; v2.onEnterFrame = function () { if (this.game.unpaused) { this.laser_active = false; if (this.queen_state == 'scuttling' or this.queen_state == 'flashing') { if (this._y <= this.room_top - 64 - 16 or this._y >= 480) { this.nextLevel(); } else { this.getInput(); this.checkCollision(); this.faceMe(); this.moveMe(); this.updateCollision(); this.scuttleSound(); this.animateMe(); if (!this.game.laser_off and (this.queen_state == 'scuttling' or this.queen_state == 'flashing' and this.flash_timer >= this.flash_laser_speed) and !this.game.end_of_level and !this.game.first_stage) { this.laser.drawLaser(this.facing); this.laser_active = true; } if (this.game.first_stage) { this.bubble.followQueen(); } this.debugMe(); } } if (this.queen_state == 'dying' or this.queen_state == 'cocooned') { this.animateMe(); } if (this.queen_state == 'flashing') { if (this.flash_timer < this.flash_speed) { ++this.flash_timer; if (this._visible) { this._visible = false; } else { this._visible = true; } } else { this.flash_timer = 0; this._visible = true; this.queen_state = 'scuttling'; } } if (this.queen_state == 'dead') { if (this.dead_timer < this.dead_speed) { ++this.dead_timer; } else { this.dead_timer = 0; this._x = this.start_x; this._y = this.start_y; this.updateCollision(); this.facing = 'right'; this.frame = 1; this.gotoAndStop(this.frame); this._visible = true; this.flash_timer = 0; this.queen_state = 'flashing'; this.game.sounds.reboot.start(); this.game.vocals.saySomething('rebirth'); } } } else { if (this.queen_state == 'flashing') { this._visible = true; } } if (this.queen_state == 'struggling') { this.getInput(); this.moveMe(); this.animateMe(); } }; v2.attachCollision = function (shape) { var v3 = _root.attachMovie('Collision', 'Collision' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.gotoAndStop(shape); v3._visible = false; this.game.objs.push(v3); return v3; }; v2.makeArrows = function () { this.arrow_left = _root.attachMovie('Arrow', 'Arrow' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.arrow_left.facing = 'left'; this.arrow_right = _root.attachMovie('Arrow', 'Arrow' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.arrow_right.facing = 'right'; this.arrow_down = _root.attachMovie('Arrow', 'Arrow' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.arrow_down.facing = 'down'; this.arrow_up = _root.attachMovie('Arrow', 'Arrow' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.arrow_up.facing = 'up'; this.updateArrows(); }; v2.getInput = function () { this.was_key_left = this.key_left; this.was_key_up = this.key_up; this.was_key_right = this.key_right; this.was_key_down = this.key_down; this.key_left = false; this.key_up = false; this.key_right = false; this.key_down = false; if (Key.isDown(37)) { this.key_left = true; } if (Key.isDown(38)) { this.key_up = true; } if (Key.isDown(39)) { this.key_right = true; } if (Key.isDown(40)) { this.key_down = true; } }; v2.checkCollision = function () { this.blocked_left = false; this.blocked_right = false; this.blocked_up = false; this.blocked_down = false; for (var v2 in this.game.walls) { if (!(this.game.walls[v2].wall_type == 'spike' and this.game.walls[v2].spike_phase != 'out')) { if (this.collide_left.hitTest(this.game.walls[v2].collision)) { this.blocked_left = true; } if (this.collide_right.hitTest(this.game.walls[v2].collision)) { this.blocked_right = true; } if (this.collide_up.hitTest(this.game.walls[v2].collision)) { this.blocked_up = true; } if (this.collide_down.hitTest(this.game.walls[v2].collision)) { this.blocked_down = true; } } } }; v2.faceMe = function () { var v5 = this.game.origin_x; var v4 = this.game.origin_y; var v2 = (this._x - v5) % 64; var v3 = (this._y - v4) % 64; if (v2 > 0) { if (v2 == 32) { this.x_adjust = this.facing; } else { if (v2 >= 32) { this.x_adjust = 'right'; } else { this.x_adjust = 'left'; } } } if (v3 > 0) { if (v3 == 32) { this.y_adjust = this.facing; } else { if (v3 > 32) { this.y_adjust = 'down'; } else { this.y_adjust = 'up'; } } } this.grid_x = Math.floor(this._x / 64); if (v2 >= 32) { this.grid_x += 1; } this.grid_y = Math.floor(this._y / 64); if (v3 >= 32) { this.grid_y += 1; } this.last_facing = this.facing; if (this._y < this.room_top or this._y > this.room_bottom) { ++this.move_timer; } else { if (this.key_up and (!this.key_left and !this.key_right and !this.key_down or this.facing == 'up')) { this.faceCheck('up'); } if (this.key_down and (!this.key_left and !this.key_right and !this.key_up or this.facing == 'down')) { this.faceCheck('down'); } if (this.key_left and (!this.key_right and !this.key_up and !this.key_down or this.facing == 'left')) { this.faceCheck('left'); } if (this.key_right and (!this.key_left and !this.key_up and !this.key_down or this.facing == 'right')) { this.faceCheck('right'); } if (!this.key_up and !this.key_down and !this.key_left and !this.key_right) { this.move_timer = 0; } } }; v2.faceCheck = function (where) { if (where == this.facing) { if (!this.blockCheck(where)) { ++this.move_timer; } } else { if (this.blockCheck(where)) { if (!this.wasCheck(where)) { this.turnCheck(where); if (this.turn_direction == 'none') { if (where == 'up' || where == 'down') { this.facing = this.x_adjust; } else { this.facing = this.y_adjust; } } else { this.facing = this.turn_direction; } } if (!this.blockCheck(this.facing)) { ++this.move_timer; } } else { this.facing = where; this.move_timer = this.turn_delay; } } }; v2.blockCheck = function (where) { switch (where) { return false; case 'left': if (this.blocked_left) { return true; } return false; case 'right': if (this.blocked_right) { return true; } return false; case 'up': if (this.blocked_up) { return true; } return false; case 'down': if (this.blocked_down) { return true; } return false; } return false; }; v2.wasCheck = function (where) { switch (where) { return false; case 'left': if (this.was_key_left) { return true; } return false; case 'right': if (this.was_key_right) { return true; } return false; case 'up': if (this.was_key_up) { return true; } return false; case 'down': if (this.was_key_down) { return true; } return false; } return false; }; v2.turnCheck = function (where) { this.turn_direction = 'none'; var v11 = this.game.origin_x; var v10 = this.game.origin_y; if (where == 'up' || where == 'down') { var v5 = false; var v8 = false; var v4 = Math.floor((this._x + v11 + 32) / 64); var v2 = 0; if (where == 'down') { v2 = 1; } if (this.game.maze.mazes[this.game.layout][this.grid_y + v2][v4 - 1] == 2 || this.game.maze.mazes[this.game.layout][this.grid_y + v2][v4 - 1] == 0) { v5 = true; } if (this.game.maze.mazes[this.game.layout][this.grid_y + v2][v4] == 2 || this.game.maze.mazes[this.game.layout][this.grid_y + v2][v4] == 0) { v8 = true; } if (v5 and !v8) { this.turn_direction = 'left'; } else { if (!v5 and v8) { this.turn_direction = 'right'; } } } else { var v7 = false; var v6 = false; var v3 = Math.floor((this._y + v10 + 32) / 64); var v2 = 0; if (where == 'right') { v2 = 1; } if (this.game.maze.mazes[this.game.layout][v3 - 1][this.grid_x + v2] == 1 || this.game.maze.mazes[this.game.layout][v3 - 1][this.grid_x + v2] == 0) { v7 = true; } if (this.game.maze.mazes[this.game.layout][v3][this.grid_x + v2] == 1 || this.game.maze.mazes[this.game.layout][v3][this.grid_x + v2] == 0) { v6 = true; } if (v7 and !v6) { this.turn_direction = 'up'; } else { if (!v7 and v6) { this.turn_direction = 'down'; } } } }; v2.moveMe = function () { var v3 = this.move_speed; var v2 = this.step_length; if (this.queen_state == 'struggling') { v3 *= 2; v2 /= 2; if (this.key_left and !this.key_right) { this.facing = 'left'; ++this.move_timer; } if (this.key_right and !this.key_left) { this.facing = 'right'; ++this.move_timer; } } if (this.move_timer == v3) { this.move_timer = 0; switch (this.facing) { case 'right': this._x += v2; break; case 'left': this._x -= v2; break; case 'down': this._y += v2; break; case 'up': this._y -= v2; } this.moved = true; } else { this.moved = false; } }; v2.updateCollision = function () { this.collide_me._x = this._x + 30; this.collide_me._y = this._y + 30; this.collide_left._x = this._x; this.collide_left._y = this._y + 4; this.collide_right._x = this._x + 62; this.collide_right._y = this._y + 4; this.collide_up._x = this._x + 4; this.collide_up._y = this._y; this.collide_down._x = this._x + 4; this.collide_down._y = this._y + 62; }; v2.updateArrows = function () { this.arrow_left._x = this._x - 20; this.arrow_left._y = this._y + 18; this.arrow_up._x = this._x + 20; this.arrow_up._y = this._y - 20; this.arrow_right._x = this._x + 68; this.arrow_right._y = this._y + 18; this.arrow_down._x = this._x + 20; this.arrow_down._y = this._y + 68; }; v2.scuttleSound = function () { if (this.scuttle_timer > 0) { --this.scuttle_timer; } if (this.moved and this.scuttle_timer == 0) { this.scuttle_timer = this.scuttle_delay; ++this.scuttle_count; if (this.scuttle_count > 4) { this.scuttle_count = 1; } switch (this.scuttle_count) { case 1: this.game.sounds.scuttle1.start(); break; case 2: case 3: this.game.sounds.scuttle2.start(); break; case 4: this.game.sounds.scuttle3.start(); } } }; v2.animateMe = function () { if (this.queen_state == 'scuttling' or this.queen_state == 'flashing') { if (this.moved) { ++this.frame; if (this.frame == 5) { this.frame = 1; } else { if (this.frame == 9) { this.frame = 5; } else { if (this.frame == 13) { this.frame = 9; } else { if (this.frame == 17) { this.frame = 13; } } } } } if (this.last_facing != this.facing) { switch (this.facing) { case 'right': this.frame = 1; break; case 'left': this.frame = 5; break; case 'down': this.frame = 9; break; case 'up': this.frame = 13; } } } if (this.queen_state == 'cocooned') { if (this.frame < 29) { switch (this.facing) { case 'right': this.frame = 29; break; case 'left': this.frame = 33; break; case 'down': this.frame = 37; break; case 'up': this.frame = 41; } this.struggle_timer = 0; } else { if (this.struggle_timer < this.struggle_speed) { ++this.struggle_timer; } else { this.struggle_timer = 0; ++this.frame; if (this.frame == 33) { this.frame = 29; } else { if (this.frame == 37) { this.frame = 33; } else { if (this.frame == 41) { this.frame = 37; } else { if (this.frame == 45) { this.frame = 41; } } } } } } } if (this.queen_state == 'dying') { if (this.frame < 17 or this.frame > 28) { this.frame = 17; } else { if (this.boom_timer < this.boom_speed) { ++this.boom_timer; } else { this.boom_timer = 0; ++this.frame; if (this.frame > 28) { this._visible = false; if (this.game.lives > -1 and !this.game.first_stage) { this.queen_state = 'dead'; this.dead_timer = 0; } else { this.queen_state = 'done'; this.game.gameover = true; } } } } } if (this.queen_state == 'struggling') { if (this.facing == 'right' and (this.frame < 29 or this.frame > 32)) { this.frame = 29; } if (this.facing == 'left' and (this.frame < 33 or this.frame > 38)) { this.frame = 33; } if (this.moved) { ++this.frame; if (this.frame == 33) { this.frame = 29; } else { if (this.frame == 37) { this.frame = 33; } } } } if (this.game.first_stage and this.queen_state != 'dying' and this.queen_state != 'struggling') { this.gotoAndStop(this.frame + 44); } else { this.gotoAndStop(this.frame); } }; v2.getKilled = function () { if ((this.queen_state == 'scuttling' or this.queen_state == 'cocooned') and !this.invincible) { this.queen_state = 'dying'; this.swapDepths(_root.getNextHighestDepth()); this.game.addFlash('red', 100); this.game.addFlash('red', 80); this.game.addFlash('red', 60); --this.game.lives; this.boom_timer = 0; this.game.sounds.melt.start(); if (this.game.lives > 0) { this.tarantula.queenDead(); } if (this.game.lives < 0 and this.game.last_stage) { this.game.vocals.saySomething('lose'); } } }; v2.getZapped = function (tarantula, where) { if (this.queen_state == 'scuttling') { this.game.addFlash('red', 80); this.queen_state = 'cocooned'; if (where == 'left' or where == 'right') { this._y = tarantula._y; } else { this._x = tarantula._x; } this.game.sounds.spring.start(); } }; v2.nextLevel = function () { if (this.game.area_room == 3) { this.game.area_room = 1; ++this.game.area; this.game.room = this.game.rooms[this.game.area][0]; } else { ++this.game.area_room; if (this._x < 304) { this.game.room = this.game.rooms[this.game.area][0]; this.game.exit_direction = 'left'; } else { this.game.room = this.game.rooms[this.game.area][1]; this.game.exit_direction = 'right'; } } ++this.game.level; this.game.nextLevel(); }; v2.debugMe = function () {}; v2.onMouseDown = function () { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { trace(this.queen_state); } }; ASSetPropFlags(_global.Queen.prototype, null, 1); } #endinitclip } movieClip 2154 __Packages.Secret { #initclip if (!_global.Secret) { var v1 = function () { super(); }; _global.Secret = v1; _global.Secret extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () {}; v2.onEnterFrame = function () { if (this.game.queen._y < 144 and this.hitTest(this.game.queen)) { this.revealSecret(); } }; v2.revealSecret = function () { this.game.buildWall(256 + this.game.origin_x - 2, this.game.origin_y, 'vertical', false); this.game.buildWall(320 + this.game.origin_x - 2, this.game.origin_y, 'vertical', false); this.game.buildDecor(29, 4, 0); this.game.buildWarp(3, 4, 0, 0); this.game.queen.swapDepths(_root.getNextHighestDepth()); this.game.maze.mazes[0][2][4] = 0; this.game.addFlash('blue', 50); this.game.sounds.block.start(); this.removeMe(); }; v2.removeMe = function () { this.removeMovieClip(); }; ASSetPropFlags(_global.Secret.prototype, null, 1); } #endinitclip } movieClip 2155 __Packages.Sounds { #initclip if (!_global.Sounds) { var v1 = function () { super(); }; _global.Sounds = v1; _global.Sounds extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.alarm = new Sound(); this.alarm.attachSound('alarm.wav'); this.alien = new Sound(); this.alien.attachSound('alarm.wav'); this.block = new Sound(); this.block.attachSound('block.wav'); this.bumper = new Sound(); this.bumper.attachSound('bumper.wav'); this.chitter = new Sound(); this.chitter.attachSound('chitter.wav'); this.coin = new Sound(); this.coin.attachSound('coin.wav'); this.computer = new Sound(); this.computer.attachSound('computer.wav'); this.confusion = new Sound(); this.confusion.attachSound('confusion.wav'); this.crumble = new Sound(); this.crumble.attachSound('crumble.wav'); this.crystal = new Sound(); this.crystal.attachSound('crystal.wav'); this.diamonds = new Sound(); this.diamonds.attachSound('diamonds.wav'); this.dizzy = new Sound(); this.dizzy.attachSound('dizzy.wav'); this.dump = new Sound(); this.dump.attachSound('dump.wav'); this.elephant = new Sound(); this.elephant.attachSound('elephant.wav'); this.extend = new Sound(); this.extend.attachSound('extend.wav'); this.falldown = new Sound(); this.falldown.attachSound('falldown.wav'); this.fire = new Sound(); this.fire.attachSound('fire.wav'); this.footsteps = new Sound(); this.footsteps.attachSound('footsteps.wav'); this.ghost = new Sound(); this.ghost.attachSound('ghost.wav'); this.gremlin = new Sound(); this.gremlin.attachSound('gremlin.wav'); this.guffaw = new Sound(); this.guffaw.attachSound('guffaw.wav'); this.hahaha = new Sound(); this.hahaha.attachSound('hahaha.wav'); this.hallway = new Sound(); this.hallway.attachSound('hallway.wav'); this.haunted = new Sound(); this.haunted.attachSound('haunted.wav'); this.huh = new Sound(); this.huh.attachSound('huh.wav'); this.landing = new Sound(); this.landing.attachSound('landing.wav'); this.laser = new Sound(); this.laser.attachSound('laser.wav'); this.laugh = new Sound(); this.laugh.attachSound('laugh.wav'); this.melody = new Sound(); this.melody.attachSound('melody.wav'); this.melt = new Sound(); this.melt.attachSound('melt.wav'); this.mystery = new Sound(); this.mystery.attachSound('mystery.wav'); this.no = new Sound(); this.no.attachSound('no.wav'); this.ominous = new Sound(); this.ominous.attachSound('ominous.wav'); this.phase = new Sound(); this.phase.attachSound('phase.wav'); this.raygun = new Sound(); this.raygun.attachSound('raygun.wav'); this.reboot = new Sound(); this.reboot.attachSound('reboot.wav'); this.sack = new Sound(); this.sack.attachSound('sack.wav'); this.scuttle1 = new Sound(); this.scuttle1.attachSound('scuttle1.wav'); this.scuttle2 = new Sound(); this.scuttle2.attachSound('scuttle2.wav'); this.scuttle3 = new Sound(); this.scuttle3.attachSound('scuttle3.wav'); this.shriek = new Sound(); this.shriek.attachSound('shriek.wav'); this.spacebirds = new Sound(); this.spacebirds.attachSound('spacebirds.wav'); this.spinner = new Sound(); this.spinner.attachSound('spinner.wav'); this.spring = new Sound(); this.spring.attachSound('spring.wav'); this.stairs = new Sound(); this.stairs.attachSound('stairs.wav'); this.takeoff = new Sound(); this.takeoff.attachSound('toughguy.wav'); this.tink = new Sound(); this.tink.attachSound('tink.wav'); this.toughguy = new Sound(); this.toughguy.attachSound('toughguy.wav'); this.ufo = new Sound(); this.ufo.attachSound('ufo.wav'); this.victory = new Sound(); this.victory.attachSound('victory.wav'); this.wakeup = new Sound(); this.wakeup.attachSound('wakeup.wav'); this.well = new Sound(); this.well.attachSound('well.wav'); this.zappo = new Sound(); this.zappo.attachSound('zappo.wav'); this.title_loop = new Sound(); this.title_loop.attachSound('title_loop.mp3'); this.opening_loop = new Sound(); this.opening_loop.attachSound('opening_loop.wav'); this.cutscene_loop = new Sound(); this.cutscene_loop.attachSound('cutscene_loop.wav'); this.victory_loop = new Sound(); this.victory_loop.attachSound('victory_loop.wav'); this.closing = new Sound(); this.closing.attachSound('closing.mp3'); this.sound_bank = [['gremlin', this.gremlin, 0], ['toughguy', this.toughguy, 0], ['no', this.no, 0], ['laugh', this.laugh, 0], ['guffaw', this.guffaw, 0], ['spinner', this.spinner, 0], ['crumble', this.crumble, 0], ['elephant', this.elephant, 0], ['alarm', this.alarm, 0], ['phase', this.phase, 0], ['spacebirds', this.spacebirds, 0], ['coin', this.coin, 0], ['tink', this.tink, 0]]; }; v2.onEnterFrame = function () { for (var v2 in this.sound_bank) { if (this.sound_bank[v2][2] > 0) { --this.sound_bank[v2][2]; } } }; v2.playSound = function (which) { for (var v3 in this.sound_bank) { if (this.sound_bank[v3][0] == which and this.sound_bank[v3][2] == 0) { this.sound_bank[v3][2] = 4; this.sound_bank[v3][1].start(); } } }; ASSetPropFlags(_global.Sounds.prototype, null, 1); } #endinitclip } movieClip 2156 __Packages.Sparkle { #initclip if (!_global.Sparkle) { var v1 = function () { super(); }; _global.Sparkle = v1; _global.Sparkle extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.sparkle_state = 'appearing'; this.frame = 1; this.gotoAndStop(1); this.hori_direction = this.randomDirection(); this.vert_direction = this.randomDirection(); }; v2.randomDirection = function () { var v1 = 2; var v2 = Math.ceil(Math.random() * 3); switch (v2) { case 1: return -v1; break; case 2: return 0; break; case 3: return v1; } }; v2.onEnterFrame = function () { if (this.game.unpaused) { this.driftMe(); this.animateMe(); } }; v2.driftMe = function () { this._x += this.hori_direction; this._y += this.vert_direction; }; v2.animateMe = function () { if (this.sparkle_state == 'appearing') { ++this.frame; if (this.frame == 5) { this.sparkle_state = 'disappearing'; } } else { --this.frame; if (this.frame < 1) { this.removeMe(); } } this.gotoAndStop(this.frame); }; v2.removeMe = function () { this.removeMovieClip(); }; ASSetPropFlags(_global.Sparkle.prototype, null, 1); } #endinitclip } movieClip 2157 __Packages.Spike { #initclip if (!_global.Spike) { var v1 = function () { super(); }; _global.Spike = v1; _global.Spike extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.grid_x = (this._x - this.game.origin_x) / 64; this.grid_y = (this._y - this.game.origin_y) / 64; if (this.facing == 'left' or this.facing == 'right') { this.hori = true; } else { this.hori = false; } if (this.hori) { this.collision = this.attachCollision(6); } else { this.collision = this.attachCollision(7); } this.collision._x = this._x - 2; this.collision._y = this._y - 2; if (this.facing == 'left' or this.facing == 'right') { this._y -= 32; } else { this._x -= 32; } if (this.hori) { this.collision_bump = this.attachCollision(10); this.collision_bump._x = this._x + 30; this.collision_bump._y = this._y; } else { this.collision_bump = this.attachCollision(9); this.collision_bump._x = this._x; this.collision_bump._y = this._y + 30; } this.collision_stab = this.attachCollision(4); this.collision_stab._x = this._x + 22; this.collision_stab._y = this._y + 22; this.last_phase = 'none'; this.hidden_speed = 75; this.in_speed = 25; this.out_speed = 100; this.hidden_timer = 0; this.in_timer = 0; this.out_timer = 0; this.animation_speed = 4; this.animation_timer = 0; switch (this.facing) { case 'right': this.modifier = 0; break; case 'left': this.modifier = 4; break; case 'down': this.modifier = 8; break; case 'up': this.modifier = 12; } this.frame = 5; if (this.spike_phase == 'hidden') { this._visible = false; } this.wall_type = 'spike'; }; v2.attachCollision = function (shape) { var v3 = _root.attachMovie('Collision', 'Collision' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.gotoAndStop(shape); v3._visible = false; this.game.objs.push(v3); return v3; }; v2.onEnterFrame = function () { if (this.game.unpaused) { this.tickTimer(); this.animateMe(); this.changeGrid(); } }; v2.tickTimer = function () { if (this.spike_phase == 'hidden' and !this.game.end_of_level) { if (this.hidden_timer < this.hidden_speed) { ++this.hidden_timer; } else { this.hidden_timer = 0; this.spike_phase = 'in'; this.game.sounds.playSound('tink'); } } else { if (this.spike_phase == 'in') { if (this.in_timer < this.in_speed) { ++this.in_timer; } else { this.in_timer = 0; this.spike_phase = 'out'; this.game.sounds.playSound('no'); } } else { if (this.spike_phase == 'out') { if (this.out_timer < this.out_speed) { ++this.out_timer; } else { this.out_timer = 0; this.spike_phase = 'hidden'; } } } } }; v2.animateMe = function () { var v2 = []; switch (this.spike_phase) { case 'in': v2 = [1 + this.modifier, 2 + this.modifier]; break; case 'out': v2 = [1 + this.modifier, 3 + this.modifier, 4 + this.modifier]; break; case 'hidden': v2 = [2 + this.modifier, 1 + this.modifier, 3 + this.modifier]; } if (this.spike_phase != this.last_phase) { this.frame = 0; this._visible = true; } else { if (this.animation_timer < this.animation_speed) { ++this.animation_timer; } else { if (this.frame < v2.length - 1) { this.animation_timer = 0; ++this.frame; if (this.spike_phase == 'hidden' and this.frame == 2) { this._visible = false; } if (this.spike_phase == 'out') { this.checkPlayer(); } } } } if (this.spike_phase == 'out' and this.out_timer >= this.out_speed * 0.75) { this.gotoAndStop(3 + this.modifier); } else { this.gotoAndStop(v2[this.frame]); } this.last_phase = this.spike_phase; }; v2.checkPlayer = function () { var v2 = this.game.queen; var v4 = Math.floor((v2._x - this.game.origin_x + 32) / 64); var v5 = Math.floor((v2._y - this.game.origin_y + 32) / 64); if (this.collision_stab.hitTest(v2.collide_me)) { v2.getKilled(); } else { if (this.collision_bump.hitTest(v2.collide_me)) { if (!this.hori) { if (v5 == this.grid_y) { v2._x = Math.floor(v4 * 64 + this.game.origin_x); } } else { if (v4 == this.grid_x) { v2._y = Math.floor(v5 * 64 + this.game.origin_y); } } } } for (var v3 in this.game.enemies) { if (this.game.enemies[v3].slave_state == 'cocooned') { if (this.collision_bump.hitTest(this.game.enemies[v3].collide_me)) { this.game.enemies[v3]._x = this.game.enemies[v3].grid_x * 64 + this.game.origin_x; this.game.enemies[v3]._y = this.game.enemies[v3].grid_y * 64 + this.game.origin_y; } } } }; v2.changeGrid = function () { if (this.spike_phase == 'out') { if (!this.hori) { if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 0) { this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] = 2; } else { if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 1) { this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] = 3; } } } else { if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 0) { this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] = 1; } else { if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 2) { this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] = 3; } } } } else { if (!this.hori) { if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 2) { this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] = 0; } else { if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 3) { this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] = 1; } } } else { if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 1) { this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] = 0; } else { if (this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] == 3) { this.game.maze.mazes[this.game.layout][this.grid_y][this.grid_x] = 2; } } } } }; ASSetPropFlags(_global.Spike.prototype, null, 1); } #endinitclip } movieClip 2158 __Packages.Star { #initclip if (!_global.Star) { var v1 = function () { super(); }; _global.Star = v1; _global.Star extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.drift_timer = 0; this.drift_speed = Math.ceil(Math.random() * 50); }; v2.onEnterFrame = function () { this.driftMe(); }; v2.driftMe = function () { if (this.drift_timer < this.drift_speed) { ++this.drift_timer; } else { this.drift_timer = 0; this._x -= 2; if (this._x == -2) { this._x = 606; } } }; ASSetPropFlags(_global.Star.prototype, null, 1); } #endinitclip } movieClip 2159 __Packages.Title { #initclip if (!_global.Title) { var v1 = function () { super(); }; _global.Title = v1; _global.Title extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.room_width = 608; this.room_height = 480; this.bg = this.createEmptyMovieClip('bg', _root.getNextHighestDepth()); this.flash_timer = 0; this.flash_speed = 0; this.last_flash = 0; this.art_title = _root.attachMovie('Art', 'Art' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.art_title.gotoAndStop(15); this.title_timer = 0; this.art_speed = 50; this.game_speed = 210; this.sounds = _root.attachMovie('Sounds', 'Sounds', _root.getNextHighestDepth()); this.vocals = _root.attachMovie('Vocals', 'Vocals', _root.getNextHighestDepth()); this.message_font = new TextFormat(); this.message_font.font = 'MessageFont'; this.message_font.embedFonts = true; this.message_font.size = 16; this.message_font.align = 'center'; this.key_clear = false; }; v2.onEnterFrame = function () { ++this.title_timer; if (this.title_timer == 1) { this.flashBackground(); this.sounds.ufo.start(); } if (this.title_timer == 5) { this.art_title.gotoAndStop(16); } if (this.title_timer == 10) { this.art_title.gotoAndStop(17); } if (this.title_timer == 15) { this.art_title.gotoAndStop(18); } if (this.title_timer == 20) { this.art_title._visible = true; this.art_title.gotoAndStop(1); } if (this.title_timer < this.art_speed) { if (this.flash_timer < this.flash_speed) { ++this.flash_timer; } else { this.flash_timer = 0; this.flashBackground(); } } if (this.title_timer == this.art_speed - 1) { this.art_title._visible = false; } if (this.title_timer == this.art_speed) { this.bg.removeMovieClip(); this.art_title.gotoAndStop(2); this.art_title._visible = true; this.art_queen = _root.attachMovie('Art', 'Art', _root.getNextHighestDepth()); this.art_queen.gotoAndStop(3); this.art_queen.box_pattern = 3; this.sounds.alien.start(); if (!this.no_music) { this.sounds.title_loop.start(0, 10000); } } if (this.title_timer > this.art_speed) { if (this.message_text._visible) { this.message_text._visible = false; } else { this.message_text._visible = true; } } if (this.title_timer == this.game_speed) { this.showCast(); } if (Key.isDown(32) and this.key_clear) { if (this.title_timer < this.art_speed and !this.no_music) { this.key_clear = false; this.sounds.ufo.stop(); this.art_title.gotoAndStop(1); this.title_timer = this.art_speed - 2; } else { this.startGame(); } } if (!Key.isDown(32)) { this.key_clear = true; } }; v2.makeStarfield = function () { var v5 = 100; var v4 = 0; while (v4 < v5) { var v3 = _root.attachMovie('Star', 'Star' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3._x = Math.ceil(Math.random() * 304) * 2; v3._y = Math.ceil(Math.random() * 240) * 2; this.starfield.push(v3); ++v4; } }; v2.printText = function () { this.message_text = _root.createTextField('Textbox', _root.getNextHighestDepth(), 0, 26, this.room_width, 12); this.message_text.embedFonts = true; this.message_text.textColor = this.hexColor('green'); this.message_text.text = 'press the spacebar to play!'; this.message_text.setTextFormat(this.message_font); }; v2.flashBackground = function () { var v3 = this.randomColor(); this.last_flash = v3; this.bg.removeMovieClip(); this.bg = this.createEmptyMovieClip('bg', _root.getNextHighestDepth()); this.bg.beginFill(v3); this.bg.moveTo(0, 0); this.bg.lineTo(this.room_width, 0); this.bg.lineTo(this.room_width, this.room_height); this.bg.lineTo(0, this.room_height); this.bg.lineTo(0, 0); this.bg.endFill(); this.art_title.swapDepths(_root.getNextHighestDepth()); }; v2.randomColor = function () { var v2 = this.last_flash; while (v2 == this.last_flash) { var v3 = Math.ceil(Math.random() * 7); switch (v3) { case 1: v2 = this.hexColor('white'); break; case 2: v2 = this.hexColor('cyan'); break; case 3: v2 = this.hexColor('purple'); break; case 4: v2 = this.hexColor('yellow'); break; case 5: v2 = this.hexColor('red'); break; case 6: v2 = this.hexColor('green'); break; case 7: v2 = this.hexColor('blue'); } } return v2; }; v2.hexColor = function (color) { switch (color) { case 'white': return 16579836; break; case 'cyan': return 64764; break; case 'pink': return 14483550; break; case 'purple': return 6881446; break; case 'yellow': return 14012672; break; case 'red': return 16125711; break; case 'green': return 64512; break; case 'blue': return 4023295; } }; v2.onMouseDown = function () {}; v2.startGame = function () { this.sounds.title_loop.stop(); var v3 = _root.attachMovie('Game', 'Game', _root.getNextHighestDepth()); v3.starfield = this.starfield; v3.sounds = this.sounds; v3.vocals = this.vocals; v3.demo = false; this.removeMe(); }; v2.showCast = function () { var v3 = _root.attachMovie('Cast', 'Cast', _root.getNextHighestDepth()); v3.starfield = this.starfield; v3.sounds = this.sounds; v3.vocals = this.vocals; this.removeMe(); }; v2.removeMe = function () { this.message_text.removeTextField(); this.bg.removeMovieClip(); this.art_title.removeMe(); this.art_queen.removeMe(); this.removeMovieClip(); }; ASSetPropFlags(_global.Title.prototype, null, 1); } #endinitclip } movieClip 2160 __Packages.Trap { #initclip if (!_global.Trap) { var v1 = function () { super(); }; _global.Trap = v1; _global.Trap extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.collision = _root.attachMovie('Collision', 'Collision' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.collision.gotoAndStop(4); this.collision._x = this._x + 22; this.collision._y = this._y + 22; this.collision._visible = false; this.game.objs.push(this.collision); this.sprout_speed = 1; this.sprout_timer = 0; this.sprout_state = 'appearing'; this.out_speed = 40; this.out_timer = 0; this.frame = 1; this.gotoAndStop(this.frame); }; v2.onEnterFrame = function () { if (this.game.unpaused) { this.animateMe(); if (this.sprout_state == 'out') { this.checkPlayer(); } if (this.game.end_of_level) { this.removeMe(); } } }; v2.animateMe = function () { if (this.sprout_state != 'out') { if (this.sprout_timer < this.sprout_speed) { ++this.sprout_timer; } else { this.sprout_timer = 0; if (this.sprout_state == 'appearing') { ++this.frame; } else { --this.frame; } if (this.frame == 8) { this.sprout_state = 'out'; } if (this.frame == 0) { this.removeMe(); } } } else { if (this.out_timer < this.out_speed) { if (this.sprout_timer < this.sprout_speed) { ++this.sprout_timer; } else { this.sprout_timer = 0; if (this.frame == 10) { this.frame = 8; } else { ++this.frame; } } var v2 = 0; switch (this.speed) { case 2: v2 = 0.5; break; case 3: v2 = 1; break; case 4: v2 = 1.5; } this.out_timer += 1 + v2; } else { this.sprout_state = 'disappearing'; } } this.gotoAndStop(this.frame); }; v2.checkPlayer = function () { if (this.collision.hitTest(this.game.queen.collide_me)) { this.game.queen.getKilled(); } }; v2.removeMe = function () { this.collision.removeMovieClip(); this.removeMovieClip(); }; ASSetPropFlags(_global.Trap.prototype, null, 1); } #endinitclip } movieClip 2161 __Packages.Twinkle { #initclip if (!_global.Twinkle) { var v1 = function () { super(); }; _global.Twinkle = v1; _global.Twinkle extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.frequency = 1; this.gotoAndStop(1); }; v2.onEnterFrame = function () { if (this.twinkle_type == 'location') { switch (this.frequency) { case 1: case 2: case 5: case 6: this.gotoAndStop(1); break; case 3: case 4: case 7: case 8: this.gotoAndStop(2); } } else { switch (this.frequency) { case 1: case 2: case 3: this._visible = true; break; case 4: case 5: case 6: case 7: case 8: this._visible = false; } } ++this.frequency; if (this.frequency > 8) { this.frequency = 1; } }; ASSetPropFlags(_global.Twinkle.prototype, null, 1); } #endinitclip } movieClip 2162 __Packages.Vocals { #initclip if (!_global.Vocals) { var v1 = function () { super(); }; _global.Vocals = v1; _global.Vocals extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.amidnightsnack = new Sound(); this.amidnightsnack.attachSound('amidnightsnack.wav'); this.backwhereyoubelong = new Sound(); this.backwhereyoubelong.attachSound('backwhereyoubelong.wav'); this.delicious = new Sound(); this.delicious.attachSound('delicious.wav'); this.evillaugh = new Sound(); this.evillaugh.attachSound('evillaugh.wav'); this.getoverhere = new Sound(); this.getoverhere.attachSound('getoverhere.wav'); this.iamthespiderqueen = new Sound(); this.iamthespiderqueen.attachSound('iamthespiderqueen.wav'); this.ihaveyounow = new Sound(); this.ihaveyounow.attachSound('ihaveyounow.wav'); this.ihaveacageforyou = new Sound(); this.ihaveacageforyou.attachSound('ihaveacageforyou.wav'); this.imnotfinishedyet = new Sound(); this.imnotfinishedyet.attachSound('imnotfinishedyet.wav'); this.iseeyou = new Sound(); this.iseeyou.attachSound('iseeyou.wav'); this.isntthiscozy = new Sound(); this.isntthiscozy.attachSound('isntthiscozy.wav'); this.kneelbeforeyourqueen = new Sound(); this.kneelbeforeyourqueen.attachSound('kneelbeforeyourqueen.wav'); this.slavesarealwaysgettingunderfoot = new Sound(); this.slavesarealwaysgettingunderfoot.attachSound('slavesarealwaysgettingunderfoot.wav'); this.struggleallyoulike = new Sound(); this.struggleallyoulike.attachSound('struggleallyoulike.wav'); this.youalwaysdidtopfromthebottom = new Sound(); this.youalwaysdidtopfromthebottom.attachSound('youalwaysdidtopfromthebottom.wav'); this.youcantescapeme = new Sound(); this.youcantescapeme.attachSound('youcantescapeme.wav'); this.youcantsneakuponaspider = new Sound(); this.youcantsneakuponaspider.attachSound('youcantsneakuponaspider.wav'); this.youregoingtobepunished = new Sound(); this.youregoingtobepunished.attachSound('youregoingtobepunished.wav'); this.catchmeifyoucan = new Sound(); this.catchmeifyoucan.attachSound('catchmeifyoucan.wav'); this.gotyou = new Sound(); this.gotyou.attachSound('gotyou.wav'); this.hereicome = new Sound(); this.hereicome.attachSound('hereicome.wav'); this.icantwaittoeatthis = new Sound(); this.icantwaittoeatthis.attachSound('icantwaittoeatthis.wav'); this.ilikeyouonaleash = new Sound(); this.ilikeyouonaleash.attachSound('ilikeyouonaleash.wav'); this.imgonnagetyou = new Sound(); this.imgonnagetyou.attachSound('imgonnagetyou.wav'); this.ithinkillkeepyou = new Sound(); this.ithinkillkeepyou.attachSound('ithinkillkeepyou.wav'); this.iwin = new Sound(); this.iwin.attachSound('iwin.wav'); this.makethemtighternexttime = new Sound(); this.makethemtighternexttime.attachSound('makethemtighternexttime.wav'); this.punishmenttime = new Sound(); this.punishmenttime.attachSound('punishmenttime.wav'); this.snootylaugh = new Sound(); this.snootylaugh.attachSound('snootylaugh.wav'); this.submittome = new Sound(); this.submittome.attachSound('submittome.wav'); this.youalwayssubmitintheend = new Sound(); this.youalwayssubmitintheend.attachSound('youalwayssubmitintheend.wav'); this.youcantrybegging = new Sound(); this.youcantrybegging.attachSound('youcantrybegging.wav'); this.youlookgoodinrope = new Sound(); this.youlookgoodinrope.attachSound('youlookgoodinrope.wav'); this.youneedtobetaughtalesson = new Sound(); this.youneedtobetaughtalesson.attachSound('youneedtobetaughtalesson.wav'); this.youreit = new Sound(); this.youreit.attachSound('youreit.wav'); this.youremine = new Sound(); this.youremine.attachSound('youremine.wav'); this.youstillcantresistme = new Sound(); this.youstillcantresistme.attachSound('youstillcantresistme.wav'); this.triggers = []; this.setupVocals(); this.pause_timer = 0; this.pause_speed = 500; this.retort_timer = 0; this.retort_speed = 50; this.taunting = false; this.tarantula_tied = false; this.taunt_timer = 0; this.taunt_speed = 200; }; v2.onEnterFrame = function () { if (this.game.unpaused) { if (this.pause_timer > 0) { --this.pause_timer; } if (this.retort_timer > 0) { --this.retort_timer; if (this.retort_timer == 0) { this.pause_timer = this.pause_speed; this.youalwaysdidtopfromthebottom.start(); } } if (this.taunting) { if (this.taunt_timer < this.taunt_speed) { ++this.taunt_timer; } else { this.taunt_timer = 0; if (!this.tarantula_tied and this.game.queen.queen_state == 'scuttling') { this.saySomething('taunt'); } } } } }; v2.saySomething = function (trigger, absolutely) { if (this.pause_timer == 0) { for (var v6 in this.triggers) { if (trigger == this.triggers[v6][0]) { var v3 = this.triggers[v6][1]; if (Math.ceil(Math.random() * v3) == v3 or absolutely) { var v2 = this.triggers[v6][3]; while (v2 == this.triggers[v6][3]) { v2 = Math.floor(Math.random() * this.triggers[v6][2].length); } if (this.triggers[v6][2].length > 1) { this.triggers[v6][3] = v2; } this.triggers[v6][2][v2].start(); this.pause_timer = this.pause_speed; } } } } }; v2.queenTarantula = function () { this.pause_timer = 0; this.pause_speed = 100; this.saySomething('taunt', true); this.retort_timer = this.retort_speed; this.taunting = true; }; v2.setupVocals = function () { this.triggers = [['zap', 10, [this.getoverhere, this.iseeyou, this.ihaveyounow, this.struggleallyoulike, this.youcantescapeme, this.youcantsneakuponaspider], 10000], ['collect', 10, [this.backwhereyoubelong, this.delicious, this.ihaveacageforyou, this.kneelbeforeyourqueen, this.youregoingtobepunished], 10000], ['assassin', 3, [this.iseeyou, this.youcantsneakuponaspider], 10000], ['rebirth', 3, [this.imnotfinishedyet], 10000], ['endoflevel', 2, [this.evillaugh, this.iamthespiderqueen, this.slavesarealwaysgettingunderfoot], 10000], ['taunt', 2, [this.catchmeifyoucan, this.hereicome, this.imgonnagetyou, this.submittome, this.youneedtobetaughtalesson], 10000], ['captured', 2, [this.gotyou, this.ilikeyouonaleash, this.youlookgoodinrope, this.youremine, this.youstillcantresistme], 10000], ['escaped', 1, [this.makethemtighternexttime], 10000], ['lose', 1, [this.ithinkillkeepyou, this.iwin, this.punishmenttime, this.snootylaugh, this.youalwayssubmitintheend], 10000]]; }; ASSetPropFlags(_global.Vocals.prototype, null, 1); } #endinitclip } movieClip 2163 __Packages.Walker { #initclip if (!_global.Walker) { var v1 = function () { super(); }; _global.Walker = v1; _global.Walker extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { trace(this.identity); if (this.identity == null) { var v2 = 10; if (Math.ceil(Math.random() * v2) == v2) { this.identity = 'slave'; } else { this.identity = 'queen'; } if (this.identity == 'slave' and Math.ceil(Math.random() * 2) == 2) { this.identity = 'princess'; } } this.done = false; this.adjustSpeed(); this.frame = 10000; this.animateMe(); }; v2.onEnterFrame = function () { this.adjustSpeed(); this.hustleMe(); this.animateMe(); }; v2.adjustSpeed = function () { this.walk_speed = 4; var v2 = 16; if (Key.isDown(37) or Key.isDown(38) or Key.isDown(39) or Key.isDown(40)) { this.walk_speed = v2; } }; v2.hustleMe = function () { if (this.facing == 'left') { this._x -= this.walk_speed; if (this._x < -64) { this.done = true; } } else { this._x += this.walk_speed; if (this._x > this.mom.game.room_width) { this.done = true; } } }; v2.animateMe = function () { var v2 = 0; var v3 = 0; if (this.facing == 'right') { if (this.identity == 'queen') { v2 = 1; v3 = 4; } else { if (this.identity == 'princess') { v2 = 25; v3 = 28; } else { if (this.identity == 'shield') { v2 = 33; v3 = 40; } else { if (this.identity == 'gladiator') { v2 = 49; v3 = 56; } else { v2 = 9; v3 = 16; } } } } } else { if (this.identity == 'queen') { v2 = 5; v3 = 8; } else { if (this.identity == 'princess') { v2 = 29; v3 = 32; } else { if (this.identity == 'shield') { v2 = 41; v3 = 48; } else { if (this.identity == 'gladiator') { v2 = 57; v3 = 64; } else { v2 = 17; v3 = 24; } } } } } ++this.frame; if (this.frame > v3) { this.frame = v2; } this.gotoAndStop(this.frame); }; ASSetPropFlags(_global.Walker.prototype, null, 1); } #endinitclip } movieClip 2164 __Packages.Wall { #initclip if (!_global.Wall) { var v1 = function () { super(); }; _global.Wall = v1; _global.Wall extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.wall_type = 'wall'; this.collision = this; }; ASSetPropFlags(_global.Wall.prototype, null, 1); } #endinitclip } movieClip 2165 __Packages.Warp { #initclip if (!_global.Warp) { var v1 = function () { super(); }; _global.Warp = v1; _global.Warp extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this._x += 30; this._y += 30; }; v2.onEnterFrame = function () { this.checkPlayer(); }; v2.checkPlayer = function () { if (this.hitTest(this.game.queen.collide_me)) { this.adjustScore(); if (this.area > 1) { this.game.messages.no_specials = true; } this.game.area = this.area; this.game.level = (this.area - 1) * 3 + 1; this.game.room = this.game.rooms[this.area][0]; this.game.first_stage = false; this.game.messages.showStatus(); this.game.nextLevel(); } }; v2.adjustScore = function () { this.game.score += this.amount; while (this.game.score >= this.game.next_extend) { this.game.next_extend = this.game.score + this.game.extend_score; } }; ASSetPropFlags(_global.Warp.prototype, null, 1); } #endinitclip } movieClip 2166 __Packages.Tab { #initclip if (!_global.Tab) { var v1 = function () { super(); }; _global.Tab = v1; _global.Tab extends MovieClip; var v2 = v1.prototype; ASSetPropFlags(_global.Tab.prototype, null, 1); } #endinitclip } movieClip 2167 __Packages.Continues { #initclip if (!_global.Continues) { var v1 = function () { super(); }; _global.Continues = v1; _global.Continues extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.objs = []; this.frame = 37; this.art = _root.attachMovie('Art', 'Art' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); this.art.gotoAndStop(this.frame); this.objs.push(this.art); this.animation_timer = 0; this.animation_speed = 4; var v3 = _root.attachMovie('Character', 'Character' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.identity = 'traitor'; v3.area = this.game.area; v3._x = 384; v3._y = 256; this.objs.push(v3); this.words = []; this.message_font = new TextFormat(); this.message_font.font = 'MessageFont'; this.message_font.embedFonts = true; this.message_font.size = 16; this.message_font.align = 'center'; if (this.game.continued) { this.printText('back so soon?', 'yellow', 192, 128, 224); this.printText('i\'ll free you again,', 'yellow', 192, 144, 224); this.printText('but you have to live', 'yellow', 192, 160, 224); this.printText('with the humiliation!', 'yellow', 192, 176, 224); } else { this.printText('your former majesty,', 'yellow', 192, 128, 224); this.printText('i can cut you free', 'yellow', 192, 144, 224); this.printText('but it will cost', 'yellow', 192, 160, 224); this.printText('you your dignity!', 'yellow', 192, 176, 224); } this.printText('accept your', 'blue', 96, 320, 128); this.printText('final score', 'blue', 96, 336, 128); this.printText('continue game', 'blue', 352, 320, 128); this.printText('with no score', 'blue', 352, 336, 128); this.game.makeQueen(true); this.game.sounds.falldown.start(); }; v2.printText = function (text_dump, text_color, where_x, where_y, text_width) { var v3 = _root.createTextField('Textbox', _root.getNextHighestDepth(), where_x, where_y, text_width, 120); v3.embedFonts = true; v3.textColor = this.game.hexColor(text_color); v3.text = text_dump; v3.setTextFormat(this.message_font); this.words.push(v3); }; v2.onEnterFrame = function () { this.animateBackground(); this.checkPlayer(); }; v2.animateBackground = function () { if (this.animation_timer < this.animation_speed) { ++this.animation_timer; } else { this.animation_timer = 0; if (this.frame == 37) { this.frame = 38; } else { this.frame = 37; } this.art.gotoAndStop(this.frame); } }; v2.checkPlayer = function () { if (this.game.queen._x <= 192) { this.game.highScore(); this.removeMe(); } if (this.game.queen._x >= 352) { this.game.continueGame(); this.removeMe(); } }; v2.removeMe = function () { for (var v2 in this.objs) { this.objs[v2].removeMovieClip(); } for (v2 in this.words) { this.words[v2].removeTextField(); } this.game.queen.removeMovieClip(); this.removeMovieClip(); }; ASSetPropFlags(_global.Continues.prototype, null, 1); } #endinitclip } movieClip 2168 __Packages.Map { #initclip if (!_global.Map) { var v1 = function () { super(); }; _global.Map = v1; _global.Map extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { if (this.identity == 'bg') { this.gotoAndStop(1); } else { this.refreshMe(); } this.flash_timer = 0; this.flash_speed = 10; this.flashed_out = false; }; v2.refreshMe = function () { var v2 = 0; switch (this.identity) { case 'palace': v2 = 2; break; case 'blue': v2 = 5; break; case 'pink': v2 = 8; break; case 'purple': v2 = 11; break; case 'red': v2 = 14; break; case 'lair': v2 = 17; } var v3 = 0; this.flashing = false; if (!this.game.demo) { if (this.game.level == this.place) { v3 = 1; this.flashing = true; } if (this.game.level > this.place) { v3 = 2; } } this.frame = v2 + v3; this.gotoAndStop(this.frame); }; v2.onEnterFrame = function () { if (this.game.unpaused) { if (this.flashing) { this.flashMe(); } } }; v2.flashMe = function () { if (this.flash_timer < this.flash_speed) { ++this.flash_timer; } else { this.flash_timer = 0; if (this.flashed_out) { this.gotoAndStop(this.frame); this.flashed_out = false; } else { this.gotoAndStop(this.frame - 1); this.flashed_out = true; } } }; ASSetPropFlags(_global.Map.prototype, null, 1); } #endinitclip } movieClip 2169 __Packages.Glitch { #initclip if (!_global.Glitch) { var v1 = function () { super(); }; _global.Glitch = v1; _global.Glitch extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.colors = [16125711, 12261154, 4023295, 2238665, 14483550, 11796546, 6881446, 3868742, 65280]; this.color = 16125711; this.textures = ['assassin.gif', 'check.gif', 'colors_1.gif', 'colors_2.gif', 'dots_1.gif', 'dots_2.gif', 'eyes.gif', 'fire.gif', 'grid_1.gif', 'mars.gif', 'redder.gif', 'slave_1.gif', 'slave_2.gif', 'spike.gif', 'stripes_1.gif', 'stripes_2.gif', 'stripes_3.gif', 'tits.gif', 'wall_1.gif', 'wall_2.gif', 'wall_3.gif']; this.texture = 'none'; this.chooseTexture(); if (!this.logo) { this.gotoAndStop(1); } else { this._x = 136; this._y = 236; this.gotoAndStop(2); } this.createBox(); }; v2.onEnterFrame = function () { this.createBox(); }; v2.createBox = function () { if (this.logo) { var v2 = 4; } else { var v2 = 2; } var v3 = Math.ceil(Math.random() * v2); if (v3 == v2) { if (this.logo) { this.chooseLogo(); } else { this.chooseTexture(); } } if (!this.logo) { this.drawBox(); } }; v2.chooseLogo = function () { var v2 = Math.ceil(Math.random() * 8) + 1; this.gotoAndStop(v2); }; v2.chooseTexture = function () { var v2 = 3; var v3 = Math.ceil(Math.random() * v2); this.is_texture = false; if (v3 == v2) { this.is_texture = true; } this.color = this.colors[Math.floor(Math.random() * this.colors.length)]; this.texture = this.textures[Math.floor(Math.random() * this.textures.length)]; this.x_start_var = this.varyBox(this.x_start); this.y_start_var = this.varyBox(this.y_start); this.x_end_var = this.varyBox(this.x_end); this.y_end_var = this.varyBox(this.y_end); }; v2.drawBox = function () { this.box.removeMovieClip(); this.box = this.createEmptyMovieClip('box', _root.getNextHighestDepth()); if (this.is_texture) { var v3 = flash.display.BitmapData.loadBitmap(this.texture); this.box.beginBitmapFill(v3); this.box.moveTo(this.x_start_var, this.y_start_var); this.box.lineTo(this.x_end_var, this.y_start_var); this.box.lineTo(this.x_end_var, this.y_end_var); this.box.lineTo(this.x_start_var, this.y_end_var); this.box.lineTo(this.x_start_var, this.y_start_var); this.box.endFill(); } else { this.box.beginFill(this.color); this.box.moveTo(this.x_start_var, this.y_start_var); this.box.lineTo(this.x_end_var, this.y_start_var); this.box.lineTo(this.x_end_var, this.y_end_var); this.box.lineTo(this.x_start_var, this.y_end_var); this.box.lineTo(this.x_start_var, this.y_start_var); this.box.endFill(); } }; v2.varyBox = function (originumber) { var v1 = 2; return originumber + Math.ceil(Math.random() * (v1 * 2) - v1) * 2; }; v2.removeMe = function () { this.box.removeMovieClip(); this.removeMovieClip(); }; ASSetPropFlags(_global.Glitch.prototype, null, 1); } #endinitclip } movieClip 2170 __Packages.Thoughtbubble { #initclip if (!_global.Thoughtbubble) { var v1 = function () { super(); }; _global.Thoughtbubble = v1; _global.Thoughtbubble extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () {}; v2.onEnterFrame = function () { this.flashMe(); }; v2.flashMe = function () { if (this._visible) { this._visible = false; } else { this._visible = true; } }; v2.followQueen = function () { this._x = this.queen._x + 56; this._y = this.queen._y - 56; }; ASSetPropFlags(_global.Thoughtbubble.prototype, null, 1); } #endinitclip } movieClip 2171 __Packages.Art { #initclip if (!_global.Art) { var v1 = function () { super(); }; _global.Art = v1; _global.Art extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.animation = 'none'; this.animation_timer = 0; this.animation_speed = 1; this.frame = 1; this.boxes = []; if (this.box_pattern != null) { switch (this.box_pattern) { case 3: this.makeBox(0, 0, 0, 0, true); break; case 4: this.makeBox(90, 66, 134, 84, false); this.makeBox(378, 98, 428, 116, false); break; case 6: this.makeBox(356, 294, 484, 332, false); this.makeBox(118, 110, 138, 122, false); this.makeBox(140, 98, 160, 110, false); break; case 13: this.makeBox(208, 268, 286, 318, false); this.makeBox(242, 214, 322, 258, false); this.makeBox(496, 398, 532, 420, false); } } }; v2.onEnterFrame = function () { if (this.animation != 'none') { this.animateMe(); } }; v2.makeBox = function (x_start, y_start, x_end, y_end, logo) { var v3 = _root.attachMovie('Glitch', 'Glitch' + _root.getNextHighestDepth(), _root.getNextHighestDepth()); v3.x_start = x_start; v3.y_start = y_start; v3.x_end = x_end; v3.y_end = y_end; v3.logo = logo; this.boxes.push(v3); }; v2.animateMe = function () { if (this.animation_timer < this.animation_speed) { ++this.animation_timer; } else { this.animation_timer = 0; ++this.frame; if (this.animation == 'crystal' and this.frame > 3) { this.frame = 1; } if (this.animation == 'tarantula' and this.frame > 4) { this.frame = 1; } if (this.animation == 'crystal') { switch (this.frame) { case 1: this.gotoAndStop(29); break; case 2: this.gotoAndStop(30); break; case 3: this.gotoAndStop(31); } } if (this.animation == 'tarantula') { switch (this.frame) { case 1: case 3: this.gotoAndStop(32); break; case 2: this.gotoAndStop(33); break; case 4: this.gotoAndStop(34); } } } }; v2.removeMe = function () { this.removeBoxes(); this.removeMovieClip(); }; v2.removeBoxes = function () { for (var v2 in this.boxes) { this.boxes[v2].removeMe(); } }; ASSetPropFlags(_global.Art.prototype, null, 1); } #endinitclip } movieClip 2172 __Packages.Facade { #initclip if (!_global.Facade) { var v1 = function () { super(); }; _global.Facade = v1; _global.Facade extends MovieClip; var v2 = v1.prototype; ASSetPropFlags(_global.Facade.prototype, null, 1); } #endinitclip } movieClip 2173 __Packages.Arrow { #initclip if (!_global.Arrow) { var v1 = function () { super(); }; _global.Arrow = v1; _global.Arrow extends MovieClip; var v2 = v1.prototype; v2.onLoad = function () { this.move_timer = 0; this.move_speed = 1; this.move_phase = 1; this.position_1 = this._y; this.position_2 = this.position_1 + 34; this.position_3 = this.position_2 + 34; this.repeats = 15; }; v2.onEnterFrame = function () { if (this.game.unpaused) { this.moveMe(); } }; v2.moveMe = function () { if (this.move_timer < this.move_speed) { ++this.move_timer; } else { this.move_timer = 0; ++this.move_phase; if (this.move_phase > 3) { this.move_phase = 1; } if (this.repeats == 0) { this.removeMe(); } else { if (this.move_phase == 1) { this._y = this.position_1; } if (this.move_phase == 2) { this._y = this.position_2; } if (this.move_phase == 3) { this._y = this.position_3; } } } }; v2.animateMe = function () { if (this.pointing == 'down') { if (this.frame != 1) { this.frame = 1; } else { this.frame = 2; } } if (this.pointing == 'left') { if (this.frame != 3) { this.frame = 3; } else { this.frame = 4; } } if (this.pointing == 'right') { if (this.frame != 5) { this.frame = 5; } else { this.frame = 6; } } this.gotoAndStop(this.frame); }; v2.removeMe = function () { this.removeMovieClip(); }; ASSetPropFlags(_global.Arrow.prototype, null, 1); } #endinitclip } movieClip 2174 __Packages.as2md5 { #initclip if (!_global.as2md5) { var v1 = function (b64pad, chrsz) { if (b64pad != undefined) { this.b64pad = b64pad; } if (chrsz != undefined && chrsz == 8 || chrsz == 16) { this.chrsz = chrsz; } }; _global.as2md5 = v1; var v2 = v1.prototype; v2.hash = function (s) { return this.hex_md5(s); }; v2.hex_md5 = function (s) { return this.binl2hex(this.core_md5(this.str2binl(s), s.length * this.chrsz)); }; v2.b64_md5 = function (s) { return this.binl2b64(this.core_md5(this.str2binl(s), s.length * this.chrsz)); }; v2.str_md5 = function (s) { return this.binl2str(this.core_md5(this.str2binl(s), s.length * this.chrsz)); }; v2.hex_hmac_md5 = function (key, data) { return this.binl2hex(this.core_hmac_md5(key, data)); }; v2.b64_hmac_md5 = function (key, data) { return this.binl2b64(this.core_hmac_md5(key, data)); }; v2.str_hmac_md5 = function (key, data) { return this.binl2str(this.core_hmac_md5(key, data)); }; v2.md5_cmn = function (q, a, b, x, s, t) { return this.safe_add(this.bit_rol(this.safe_add(this.safe_add(a, q), this.safe_add(x, t)), s), b); }; v2.md5_ff = function (a, b, c, d, x, s, t) { return this.md5_cmn(b & c | ~b & d, a, b, x, s, t); }; v2.md5_gg = function (a, b, c, d, x, s, t) { return this.md5_cmn(b & d | c & ~d, a, b, x, s, t); }; v2.md5_hh = function (a, b, c, d, x, s, t) { return this.md5_cmn(b ^ c ^ d, a, b, x, s, t); }; v2.md5_ii = function (a, b, c, d, x, s, t) { return this.md5_cmn(c ^ (b | ~d), a, b, x, s, t); }; v2.core_md5 = function (x, len) { x[len >> 5] |= 128 << len % 32; x[(len + 64 >>> 9 << 4) + 14] = len; var v5 = 1732584193; var v4 = -271733879; var v3 = -1732584194; var v2 = 271733878; var v6 = 0; while (v6 < x.length) { var v11 = v5; var v10 = v4; var v9 = v3; var v8 = v2; v5 = this.md5_ff(v5, v4, v3, v2, x[v6 + 0], 7, -680876936); v2 = this.md5_ff(v2, v5, v4, v3, x[v6 + 1], 12, -389564586); v3 = this.md5_ff(v3, v2, v5, v4, x[v6 + 2], 17, 606105819); v4 = this.md5_ff(v4, v3, v2, v5, x[v6 + 3], 22, -1044525330); v5 = this.md5_ff(v5, v4, v3, v2, x[v6 + 4], 7, -176418897); v2 = this.md5_ff(v2, v5, v4, v3, x[v6 + 5], 12, 1200080426); v3 = this.md5_ff(v3, v2, v5, v4, x[v6 + 6], 17, -1473231341); v4 = this.md5_ff(v4, v3, v2, v5, x[v6 + 7], 22, -45705983); v5 = this.md5_ff(v5, v4, v3, v2, x[v6 + 8], 7, 1770035416); v2 = this.md5_ff(v2, v5, v4, v3, x[v6 + 9], 12, -1958414417); v3 = this.md5_ff(v3, v2, v5, v4, x[v6 + 10], 17, -42063); v4 = this.md5_ff(v4, v3, v2, v5, x[v6 + 11], 22, -1990404162); v5 = this.md5_ff(v5, v4, v3, v2, x[v6 + 12], 7, 1804603682); v2 = this.md5_ff(v2, v5, v4, v3, x[v6 + 13], 12, -40341101); v3 = this.md5_ff(v3, v2, v5, v4, x[v6 + 14], 17, -1502002290); v4 = this.md5_ff(v4, v3, v2, v5, x[v6 + 15], 22, 1236535329); v5 = this.md5_gg(v5, v4, v3, v2, x[v6 + 1], 5, -165796510); v2 = this.md5_gg(v2, v5, v4, v3, x[v6 + 6], 9, -1069501632); v3 = this.md5_gg(v3, v2, v5, v4, x[v6 + 11], 14, 643717713); v4 = this.md5_gg(v4, v3, v2, v5, x[v6 + 0], 20, -373897302); v5 = this.md5_gg(v5, v4, v3, v2, x[v6 + 5], 5, -701558691); v2 = this.md5_gg(v2, v5, v4, v3, x[v6 + 10], 9, 38016083); v3 = this.md5_gg(v3, v2, v5, v4, x[v6 + 15], 14, -660478335); v4 = this.md5_gg(v4, v3, v2, v5, x[v6 + 4], 20, -405537848); v5 = this.md5_gg(v5, v4, v3, v2, x[v6 + 9], 5, 568446438); v2 = this.md5_gg(v2, v5, v4, v3, x[v6 + 14], 9, -1019803690); v3 = this.md5_gg(v3, v2, v5, v4, x[v6 + 3], 14, -187363961); v4 = this.md5_gg(v4, v3, v2, v5, x[v6 + 8], 20, 1163531501); v5 = this.md5_gg(v5, v4, v3, v2, x[v6 + 13], 5, -1444681467); v2 = this.md5_gg(v2, v5, v4, v3, x[v6 + 2], 9, -51403784); v3 = this.md5_gg(v3, v2, v5, v4, x[v6 + 7], 14, 1735328473); v4 = this.md5_gg(v4, v3, v2, v5, x[v6 + 12], 20, -1926607734); v5 = this.md5_hh(v5, v4, v3, v2, x[v6 + 5], 4, -378558); v2 = this.md5_hh(v2, v5, v4, v3, x[v6 + 8], 11, -2022574463); v3 = this.md5_hh(v3, v2, v5, v4, x[v6 + 11], 16, 1839030562); v4 = this.md5_hh(v4, v3, v2, v5, x[v6 + 14], 23, -35309556); v5 = this.md5_hh(v5, v4, v3, v2, x[v6 + 1], 4, -1530992060); v2 = this.md5_hh(v2, v5, v4, v3, x[v6 + 4], 11, 1272893353); v3 = this.md5_hh(v3, v2, v5, v4, x[v6 + 7], 16, -155497632); v4 = this.md5_hh(v4, v3, v2, v5, x[v6 + 10], 23, -1094730640); v5 = this.md5_hh(v5, v4, v3, v2, x[v6 + 13], 4, 681279174); v2 = this.md5_hh(v2, v5, v4, v3, x[v6 + 0], 11, -358537222); v3 = this.md5_hh(v3, v2, v5, v4, x[v6 + 3], 16, -722521979); v4 = this.md5_hh(v4, v3, v2, v5, x[v6 + 6], 23, 76029189); v5 = this.md5_hh(v5, v4, v3, v2, x[v6 + 9], 4, -640364487); v2 = this.md5_hh(v2, v5, v4, v3, x[v6 + 12], 11, -421815835); v3 = this.md5_hh(v3, v2, v5, v4, x[v6 + 15], 16, 530742520); v4 = this.md5_hh(v4, v3, v2, v5, x[v6 + 2], 23, -995338651); v5 = this.md5_ii(v5, v4, v3, v2, x[v6 + 0], 6, -198630844); v2 = this.md5_ii(v2, v5, v4, v3, x[v6 + 7], 10, 1126891415); v3 = this.md5_ii(v3, v2, v5, v4, x[v6 + 14], 15, -1416354905); v4 = this.md5_ii(v4, v3, v2, v5, x[v6 + 5], 21, -57434055); v5 = this.md5_ii(v5, v4, v3, v2, x[v6 + 12], 6, 1700485571); v2 = this.md5_ii(v2, v5, v4, v3, x[v6 + 3], 10, -1894986606); v3 = this.md5_ii(v3, v2, v5, v4, x[v6 + 10], 15, -1051523); v4 = this.md5_ii(v4, v3, v2, v5, x[v6 + 1], 21, -2054922799); v5 = this.md5_ii(v5, v4, v3, v2, x[v6 + 8], 6, 1873313359); v2 = this.md5_ii(v2, v5, v4, v3, x[v6 + 15], 10, -30611744); v3 = this.md5_ii(v3, v2, v5, v4, x[v6 + 6], 15, -1560198380); v4 = this.md5_ii(v4, v3, v2, v5, x[v6 + 13], 21, 1309151649); v5 = this.md5_ii(v5, v4, v3, v2, x[v6 + 4], 6, -145523070); v2 = this.md5_ii(v2, v5, v4, v3, x[v6 + 11], 10, -1120210379); v3 = this.md5_ii(v3, v2, v5, v4, x[v6 + 2], 15, 718787259); v4 = this.md5_ii(v4, v3, v2, v5, x[v6 + 9], 21, -343485551); v5 = this.safe_add(v5, v11); v4 = this.safe_add(v4, v10); v3 = this.safe_add(v3, v9); v2 = this.safe_add(v2, v8); v6 += 16; } return Array(v5, v4, v3, v2); }; v2.core_hmac_md5 = function (key, data) { var v3 = new Array(this.str2binl(key)); if (v3.length > 16) { v3 = this.core_md5(v3, key.length * this.chrsz); } var v4 = new Array(16); var v5 = new Array(16); var v2 = 0; while (v2 < 16) { v4[v2] = v3[v2] ^ 909522486; v5[v2] = v3[v2] ^ 1549556828; ++v2; } var v6 = new Array(this.core_md5(v4.concat(this.str2binl(data)), 512 + data.length * this.chrsz)); return this.core_md5(v5.concat(v6), 640); }; v2.safe_add = function (x, y) { var v1 = new Number((x & 65535) + (y & 65535)); var v2 = new Number((x >> 16) + (y >> 16) + (v1 >> 16)); return v2 << 16 | v1 & 65535; }; v2.bit_rol = function (num, cnt) { return num << cnt | num >>> 32 - cnt; }; v2.str2binl = function (str) { var v4 = new Array(); var v5 = (1 << this.chrsz) - 1; var v2 = 0; while (v2 < str.length * this.chrsz) { v4[v2 >> 5] |= (str.charCodeAt(v2 / this.chrsz) & v5) << v2 % 32; v2 += this.chrsz; } return v4; }; v2.binl2str = function (bin) { var v4 = new String(''); var v5 = (1 << this.chrsz) - 1; var v2 = 0; while (v2 < bin.length * 32) { v4 += String.fromCharCode(bin[v2 >> 5] >>> v2 % 32 & v5); v2 += this.chrsz; } return v4; }; v2.binl2hex = function (binarray) { var v3 = '0123456789abcdef'; var v4 = new String(''); var v1 = 0; while (v1 < binarray.length * 4) { v4 += v3.charAt(binarray[v1 >> 2] >> (v1 % 4) * 8 + 4 & 15) + v3.charAt(binarray[v1 >> 2] >> (v1 % 4) * 8 & 15); ++v1; } return v4; }; v2.binl2b64 = function (binarray) { var v7 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; var v5 = new String(''); var v3 = 0; while (v3 < binarray.length * 4) { var v6 = (binarray[v3 >> 2] >> 8 * (v3 % 4) & 255) << 16 | (binarray[v3 + 1 >> 2] >> 8 * ((v3 + 1) % 4) & 255) << 8 | binarray[v3 + 2 >> 2] >> 8 * ((v3 + 2) % 4) & 255; var v2 = 0; while (v2 < 4) { if (v3 * 8 + v2 * 6 > binarray.length * 32) { v5 += this.b64pad; } else { v5 += v7.charAt(v6 >> 6 * (3 - v2) & 63); } ++v2; } v3 += 3; } return v5; }; v2.b64pad = new String(''); v2.chrsz = new Number(8); ASSetPropFlags(_global.as2md5.prototype, null, 1); } #endinitclip } // unknown tag 88 length 140 movieClip 1659 Arrow { #initclip Object.registerClass('Arrow', Arrow); #endinitclip } movieClip 1788 Assassin { #initclip Object.registerClass('Assassin', Assassin); #endinitclip } movieClip 1789 Cast { #initclip Object.registerClass('Cast', Cast); #endinitclip } movieClip 1808 Character { #initclip Object.registerClass('Character', Character); #endinitclip } movieClip 1819 Collision { #initclip Object.registerClass('Collision', Collision); #endinitclip } movieClip 1820 Credits { #initclip Object.registerClass('Credits', Credits); #endinitclip } movieClip 1821 Cutscene { #initclip Object.registerClass('Cutscene', Cutscene); #endinitclip } movieClip 1838 Dagger { #initclip Object.registerClass('Dagger', Dagger); #endinitclip } movieClip 1874 Decor { #initclip Object.registerClass('Decor', Decor); #endinitclip } movieClip 1877 Egg { #initclip Object.registerClass('Egg', Egg); #endinitclip } movieClip 1895 Exit { #initclip Object.registerClass('Exit', Exit); #endinitclip } movieClip 1896 Game { #initclip Object.registerClass('Game', Game); #endinitclip } movieClip 1902 Gem { #initclip Object.registerClass('Gem', Gem); #endinitclip } movieClip 1903 Highscore { #initclip Object.registerClass('Highscore', Highscore); #endinitclip } movieClip 1904 Laser { #initclip Object.registerClass('Laser', Laser); #endinitclip } movieClip 1911 Life { #initclip Object.registerClass('Life', Life); #endinitclip } movieClip 1912 Logo { #initclip Object.registerClass('Logo', Logo); #endinitclip } movieClip 1913 Maze { #initclip Object.registerClass('Maze', Maze); #endinitclip } movieClip 1914 Messages { #initclip Object.registerClass('Messages', Messages); #endinitclip } movieClip 1915 Points { #initclip Object.registerClass('Points', Points); #endinitclip } movieClip 1922 Puff { #initclip Object.registerClass('Puff', Puff); #endinitclip } movieClip 1983 Queen { #initclip Object.registerClass('Queen', Queen); #endinitclip } movieClip 1985 Secret { #initclip Object.registerClass('Secret', Secret); #endinitclip } movieClip 1986 Sounds { #initclip Object.registerClass('Sounds', Sounds); #endinitclip } movieClip 1992 Sparkle { #initclip Object.registerClass('Sparkle', Sparkle); #endinitclip } movieClip 2009 Spike { #initclip Object.registerClass('Spike', Spike); #endinitclip } movieClip 2011 Star { #initclip Object.registerClass('Star', Star); #endinitclip } movieClip 2012 Title { #initclip Object.registerClass('Title', Title); #endinitclip } movieClip 2023 Trap { #initclip Object.registerClass('Trap', Trap); #endinitclip } movieClip 2026 Twinkle { #initclip Object.registerClass('Twinkle', Twinkle); #endinitclip } movieClip 2027 Vocals { #initclip Object.registerClass('Vocals', Vocals); #endinitclip } movieClip 2028 Walker { #initclip Object.registerClass('Walker', Walker); #endinitclip } movieClip 2035 Wall { #initclip Object.registerClass('Wall', Wall); #endinitclip } movieClip 2036 Warp { #initclip Object.registerClass('Warp', Warp); #endinitclip } movieClip 2039 Tab { #initclip Object.registerClass('Tab', Tab); #endinitclip } movieClip 2040 Continues { #initclip Object.registerClass('Continues', Continues); #endinitclip } movieClip 2060 Map { #initclip Object.registerClass('Map', Map); #endinitclip } movieClip 2069 Glitch { #initclip Object.registerClass('Glitch', Glitch); #endinitclip } movieClip 2071 Thoughtbubble { #initclip Object.registerClass('Thoughtbubble', Thoughtbubble); #endinitclip } movieClip 2113 Art { #initclip Object.registerClass('Art', Art); #endinitclip } movieClip 2118 Facade { #initclip Object.registerClass('Facade', Facade); #endinitclip } movieClip 2119 { frame 1 { stop(); } } frame 3 { stop(); } // unknown tag 88 length 144 movieClip 2123 { frame 1 { function clearListeners() { trace('rrr'); var v3 = Number(this.var3); var v2 = Number(this.var1); trace('!1! ' + v3 + ' :: ' + v2); try { var v9 = flash.external.ExternalInterface.call('getLittleServer'); } catch (v0) { if (Error(v0) != null) { var oErr = Error(v0); v9 = 'http://highscores.adultswim.com/highscores/SubmitScoreServlet.do?'; trace('err 1: ' + oErr + ' :: ' + oErr.message); } else { throw v0; } } try { var v4 = flash.external.ExternalInterface.call('getSrvrTime'); } catch (v0) { if (Error(v0) != null) { var oErr = Error(v0); v4 = (new Date()).getTime(); trace('err 2: ' + oErr + ' :: ' + oErr.message); } else { throw v0; } } var v7 = v4.toString(); var v13 = v7.substr(-3, 3); var v12 = v7.substr(-4, 3); var v11 = parseInt(v13); var v10 = parseInt(v12); var v8 = v11 * v10 * v2 + v2; trace('nAlgo ' + v8); var v5 = v3 + ',' + v2 + ',' + v4 + ',' + v8; trace('strToPass ' + v5); var v6 = m.hash(v5); trace(v9 + 'attr1=score=' + v2 + '|gameId=' + v3 + '|timestamp=' + v4 + '|key=' + v6); getURL(v9 + 'attr1=score=' + v2 + '|gameId=' + v3 + '|timestamp=' + v4 + '|key=' + v6, '_self'); } try { var m = new as2md5(); } catch (v0) { if (Error(v0) != null) { var oErr = Error(v0); var m; trace('err 0: ' + oErr + ' :: ' + oErr.message); } else { throw v0; } } } frame 1 { } }




http://swfchan.com/20/95122/info.shtml
Created: 25/3 -2019 16:48:27 Last modified: 25/3 -2019 16:48:27 Server time: 28/04 -2024 10:45:52