Symbol 884 MovieClip Frame 1
onEnterFrame = function () {
var _local1 = int((getTimer() * 15) / 1000);
gotoAndStop((_local1 % 7) + 1);
};
Symbol 889 MovieClip Frame 1
onEnterFrame = function () {
var _local1 = int((getTimer() * 15) / 1000);
gotoAndStop((_local1 % 7) + 1);
};
Symbol 890 MovieClip Frame 1
stop();
Symbol 911 MovieClip Frame 1
stop();
Symbol 911 MovieClip Frame 11
stop();
Symbol 1014 MovieClip [Popup] Frame 1
#initclip 23
Object.registerClass("Popup", com.midasplayer.carnivalshootout.Popup);
#endinitclip
Symbol 1016 MovieClip [Blast] Frame 1
#initclip 18
Object.registerClass("Blast", com.midasplayer.carnivalshootout.Blast);
#endinitclip
Symbol 1031 MovieClip [ScorePopup] Frame 1
#initclip 19
Object.registerClass("ScorePopup", com.midasplayer.carnivalshootout.ScorePopup);
#endinitclip
Symbol 1033 MovieClip [BloodSplat] Frame 1
#initclip 20
Object.registerClass("BloodSplat", com.midasplayer.carnivalshootout.BloodSplat);
#endinitclip
Symbol 1037 MovieClip [Layer] Frame 1
#initclip 21
Object.registerClass("Layer", com.midasplayer.carnivalshootout.Layer);
#endinitclip
Symbol 1105 MovieClip [GameArea] Frame 1
#initclip 22
Object.registerClass("GameArea", com.midasplayer.carnivalshootout.CarnivalShootoutGameArea);
#endinitclip
Symbol 1150 MovieClip Frame 1
stop();
Symbol 1159 MovieClip Frame 1
gotoAndStop (4);
this.onMouseDown = function () {
if ((((_xmouse >= 2) && (_ymouse >= 2)) && (_xmouse <= 6)) && (_ymouse <= 6)) {
gotoAndStop (5);
}
};
Symbol 1171 Button
on (press) {
_root.gamePanel.toggleSoundPressed();
}
on (rollOver) {
Mouse.show();
}
on (rollOut) {
Mouse.hide();
}
Symbol 1176 Button
on (press) {
_root.gamePanel.endGamePressed();
}
on (rollOver) {
Mouse.show();
}
on (rollOut) {
Mouse.hide();
}
Symbol 1199 MovieClip [__Packages.com.midasplayer.carnivalshootout.Blast] Frame 0
class com.midasplayer.carnivalshootout.Blast extends MovieClip
{
var age, clipContainer, _xscale, _yscale, _alpha;
function Blast () {
super();
}
function init(newClipContainer) {
age = new com.midasplayer.timing.IFloat();
scale = 2;
clipContainer = newClipContainer;
}
function tick(tick) {
var _local2 = age.get(1);
_local2++;
age.set(_local2);
}
function isAlive() {
return(age.get(1) < 5);
}
function render(tick, alpha) {
var _local2 = age.get(alpha);
_xscale = 150 - (_local2 * 20);
_yscale = 150 - (_local2 * 20);
_alpha = ((5 - ((_local2 * _local2) / 5)) * 100) / 5;
}
var scale = 1;
}
Symbol 1200 MovieClip [__Packages.com.midasplayer.timing.IFloat] Frame 0
class com.midasplayer.timing.IFloat
{
function IFloat () {
}
function set(newValue) {
lastValue = value;
value = newValue;
}
function get(alpha) {
return(lastValue + ((value - lastValue) * alpha));
}
var value = 0;
var lastValue = 0;
}
Symbol 1201 MovieClip [__Packages.com.midasplayer.carnivalshootout.ScorePopup] Frame 0
class com.midasplayer.carnivalshootout.ScorePopup extends MovieClip
{
var age, clipContainer, _xscale, _yscale, _alpha, star0, star1, star2, gotoAndStop;
function ScorePopup () {
super();
}
function init(newClipContainer) {
age = new com.midasplayer.timing.IFloat();
scale = 2;
clipContainer = newClipContainer;
_xscale = 10;
_yscale = 10;
_alpha = 0;
}
function setScore(score, multiplier) {
if (score > 0) {
if (multiplier == 0) {
star0._visible = false;
star1._visible = false;
star2._visible = false;
} else if (multiplier == 1) {
star1._visible = false;
star2._visible = false;
} else if (multiplier == 2) {
star0._visible = false;
}
gotoAndStop(1);
} else {
score = -score;
gotoAndStop(2);
}
var _local3 = score << 0;
var _local2 = 0;
while (_local2 < 4) {
if (_local3 == 0) {
this["scoreNum" + _local2].gotoAndStop(11);
} else {
this["scoreNum" + _local2].gotoAndStop((_local3 % 10) + 1);
}
_local3 = (_local3 / 10) << 0;
_local2++;
}
}
function tick(tick) {
var _local2 = age.get(1);
_local2++;
age.set(_local2);
}
function isAlive() {
return(age.get(1) < 20);
}
function render(tick, alpha) {
var _local3 = age.get(alpha);
_xscale = (_local3 * 15) + 10;
_yscale = (_local3 * 15) + 10;
var _local2 = _local3 / 20;
_alpha = (1 - ((_local2 * _local2) * _local2)) * 100;
}
var scale = 1;
}
Symbol 1202 MovieClip [__Packages.com.midasplayer.carnivalshootout.BloodSplat] Frame 0
class com.midasplayer.carnivalshootout.BloodSplat extends MovieClip
{
var age, x, y, xa2, ya2, xa, ya, _x, _y, lifeSpan, clipContainer, _alpha, _xscale, _yscale, _rotation;
function BloodSplat () {
super();
}
function init(newClipContainer) {
age = new com.midasplayer.timing.IFloat();
x = new com.midasplayer.timing.IFloat();
y = new com.midasplayer.timing.IFloat();
xa2 = new com.midasplayer.timing.IFloat();
ya2 = new com.midasplayer.timing.IFloat();
var _local4 = (Math.random() * Math.PI) * 2;
var _local3 = Math.random() * 20;
xa = Math.cos(_local4) * _local3;
ya = Math.sin(_local4) * _local3;
_x = _x + (xa * 2);
_y = _y + (ya * 2);
x.set(_x);
x.set(_x);
y.set(_y);
y.set(_y);
xa2.set(xa);
ya2.set(ya);
lifeSpan = ((Math.random() * 30) + 10) << 0;
scale = 2;
clipContainer = newClipContainer;
_alpha = 100;
var _local2 = (Math.random() * 3) + 1;
_xscale = (20 + (Math.random() * 5)) * _local2;
_yscale = (20 + (Math.random() * 10)) * _local2;
}
function tick(tick) {
x.set(x.get(1) + xa);
y.set(y.get(1) + ya);
ya = ya + 1;
xa2.set(xa);
ya2.set(ya);
var _local2 = age.get(1);
_local2++;
age.set(_local2);
}
function isAlive() {
return(age.get(1) < lifeSpan);
}
function render(tick, alpha) {
var _local3 = age.get(alpha);
var _local4 = (Math.atan2(-xa2.get(alpha), ya2.get(alpha)) * 180) / Math.PI;
_rotation = _local4;
_x = x.get(alpha);
_y = y.get(alpha);
_local3 = 200 - ((_local3 * 200) / lifeSpan);
if (_local3 < 100) {
_alpha = _local3;
}
}
var scale = 1;
}
Symbol 1203 MovieClip [__Packages.com.midasplayer.carnivalshootout.Layer] Frame 0
class com.midasplayer.carnivalshootout.Layer extends MovieClip
{
function Layer () {
super();
}
}
Symbol 1204 MovieClip [__Packages.com.midasplayer.carnivalshootout.ClipContainer] Frame 0
class com.midasplayer.carnivalshootout.ClipContainer extends MovieClip
{
var entities, survivingEntities;
function ClipContainer () {
super();
}
function tick(tick) {
if ((entities == null) || (entities == undefined)) {
entities = new Array();
}
survivingEntities = new Array();
var _local2 = 0;
while (_local2 < entities.length) {
entities[_local2].tick(tick);
if (entities[_local2].isAlive() != false) {
survivingEntities.push(entities[_local2]);
} else {
entities[_local2].removeMovieClip();
}
_local2++;
}
entities = survivingEntities;
}
function render(tick, alpha) {
this.alpha = alpha;
if ((entities == null) || (entities == undefined)) {
entities = new Array();
}
var _local2 = 0;
while (_local2 < entities.length) {
entities[_local2].render(tick, alpha);
_local2++;
}
}
function addEntity(entity) {
if ((entities == null) || (entities == undefined)) {
entities = new Array();
}
survivingEntities = new Array();
var _local2 = 0;
while (_local2 < entities.length) {
if (entities[_local2] != entity) {
survivingEntities.push(entities[_local2]);
}
_local2++;
}
entities = survivingEntities;
entities.push(entity);
entity.init(this);
}
function removeEntity(entity) {
if ((entities == null) || (entities == undefined)) {
entities = new Array();
}
survivingEntities = new Array();
var _local2 = 0;
while (_local2 < entities.length) {
if (entities[_local2] != entity) {
survivingEntities.push(entities[_local2]);
} else {
entities[_local2].removeMovieClip();
}
_local2++;
}
entities = survivingEntities;
}
var alpha = 0;
}
Symbol 1205 MovieClip [__Packages.com.midasplayer.timing.Timeable] Frame 0
interface com.midasplayer.timing.Timeable
{
}
Symbol 1206 MovieClip [__Packages.com.midasplayer.carnivalshootout.CarnivalShootoutGameArea] Frame 0
#initclip
if (!_global.com) {
_global.com = new Object();
}
if (!_global.com.midasplayer) {
_global.com.midasplayer = new Object();
}
if (!_global.com.midasplayer.carnivalshootout) {
_global.com.midasplayer.carnivalshootout = new Object();
}
if (!_global.com.midasplayer.carnivalshootout.CarnivalShootoutGameArea) {
var _local1 = function () {
super();
};
_global.com.midasplayer.carnivalshootout.CarnivalShootoutGameArea = _local1;
//_global.com.midasplayer.carnivalshootout.CarnivalShootoutGameArea extends com.midasplayer.carnivalshootout.ClipContainer
var _local2 = _local1.prototype;
//_global.com.midasplayer.carnivalshootout.CarnivalShootoutGameArea implements _global.com.midasplayer.timing.Timeable
_local2.init = function () {
this.lastQuality = "MEDIUM";
this.endGameIsPressed = false;
_root.debugWarning._visible = this.DEBUG_MODE;
_root.debugWarningText._visible = this.DEBUG_MODE;
this.round = -1;
if (this.DEBUG_MODE) {
this.round = this.DEBUG_ROUND - 1;
}
_root.roundMeter.gotoAndStop(this.round + 2);
this.currentCreature = 0;
this.roundTick = 0;
this.nextRoundInTicks = -1;
this.musicIn = -1;
this.communicator = new com.midasplayer.carnivalshootout.Communicator();
this.communicator.parseGameData(_root.gameData);
this.ammoMeter = _root.ammoMeter;
this.startInTicks = this.TICKS_PER_SECOND * 10;
_root.scorePanel.gotoAndStop(1);
this.encoder = new com.midasplayer.carnivalshootout.Encoder();
this.recoil = new com.midasplayer.timing.IFloat();
this.recoil.set(0);
this.timer = new com.midasplayer.timing.Timer(this, this.TICKS_PER_SECOND);
this.setTimeMeter(0);
this.autoStartTime = this.TICKS_PER_SECOND * 5;
this.ammo = this.CLIP_SIZE;
this.startTime = getTimer();
this.lastShootTime = -1;
this.ammoMeterStartPosY = this.ammoMeter._y;
this.remainingTicks = this.TICKS_PER_SECOND * this.SECONDS_PER_ROUND;
Key.addListener(this);
this.speedBonus = 0;
this.layer0.xstart = this.layer0._x;
this.layer1.xstart = this.layer1._x;
this.layer0.ystart = this.layer0._y;
this.layer1.ystart = this.layer1._y;
var _local4 = this.communicator.levelData[this.round + 1];
this.bg.gotoAndStop(1 + _local4.level);
this.overlayBg._visible = false;
this.bg.pos = new com.midasplayer.timing.IFloat();
this.bg.target = (_local4.level + 1) * 490;
this.layer0.gotoAndStop(1 + _local4.level);
this.layer1.gotoAndStop(1 + _local4.level);
this.layer2.gotoAndStop(1 + _local4.level);
this.layer3.gotoAndStop(1 + _local4.level);
this.setScoreMeter(0);
this.communicator.gameStarted();
com.midasplayer.carnivalshootout.SoundHolder.get("StartupSound").stopAndPlay();
Mouse.hide();
_root.aim._alpha = 100;
_root.aim._visible = true;
_root.aim._x = -100;
_root.aim._y = -100;
_root.scorePanel.instructionHeaderText.text = _global.textMappings.instruction_header;
_root.scorePanel.instructionText.text = _global.textMappings.instructions;
_root.aim.reloadReminder0.text = _global.textMappings.reload;
_root.aim.reloadReminder1.text = _global.textMappings.reload;
this.scorePanelXStart = _root.scorePanel._x;
this.scorePanelYStart = _root.scorePanel._y;
this.scorePanelRot = new com.midasplayer.timing.IFloat();
this.scorePanelPos = new com.midasplayer.timing.IFloat();
this.scorePanelPosA = 0;
this.scorePanelTarget = 0;
this.performance = new com.midasplayer.timing.Performance(20);
this.performance.addQualityFeedbackListener(mx.utils.Delegate.create(this, this.onLowQualityWarning));
};
_local2.onLowQualityWarning = function () {
if (this._quality != "HIGH") {
this.lastQuality = "LOW";
if (this._quality == "MEDIUM") {
this._quality = "LOW";
}
}
};
_local2.tick = function (tick) {
this.scorePanelPosA = this.scorePanelPosA + ((this.scorePanelTarget - this.scorePanelPos.get(1)) * 0.05);
this.scorePanelPos.set(this.scorePanelPos.get(1) + this.scorePanelPosA);
this.scorePanelRot.set((this.scorePanelRot.get(1) + (this.scorePanelPosA * 0.3)) * 0.3);
this.scorePanelPosA = this.scorePanelPosA * 0.75;
_root.scorePanel._visible = this.scorePanelPos.get(1) < 500;
if (this.musicIn > 0) {
this.musicIn = this.musicIn - 1;
if (this.musicIn == 0) {
com.midasplayer.carnivalshootout.SoundHolder.get("GameMusic").playLooping();
}
}
if (this.nextRoundInTicks > 0) {
this.nextRoundInTicks = this.nextRoundInTicks - 1;
if (this.gameIsOver) {
_root.scorePanel.quitsInLabel.text = _global.textMappings.time_to_end;
} else {
_root.scorePanel.quitsInLabel.text = _global.textMappings.time_to_start;
}
_root.scorePanel.timeCountDown.text = "" + (((this.nextRoundInTicks / this.TICKS_PER_SECOND) << 0) + 1);
if (this.nextRoundInTicks == 0) {
if (this.gameIsOver) {
this.communicator.gameQuit();
} else {
this.startRound();
}
}
}
if (this.speedBonus > 0) {
this.speedBonus = this.speedBonus - 1;
}
if (!this.gameStarted) {
this.startInTicks = this.startInTicks - 1;
if (this.startInTicks > 0) {
_root.scorePanel.quitsInLabel.text = _global.textMappings.time_to_start;
_root.scorePanel.timeCountDown.text = "" + (((this.startInTicks / this.TICKS_PER_SECOND) << 0) + 1);
} else {
this.startRound();
}
}
if ((!this.roundOver) && (this.gameStarted)) {
this.remainingTicks = this.remainingTicks - 1;
var _local6 = ((this.remainingTicks / this.TICKS_PER_SECOND) << 0) + 1;
if (_local6 <= 0) {
_local6 = 0;
this.doRoundOver();
}
this.setTimeMeter(_local6);
var _local7 = this.communicator.levelData[this.round];
if (_local7.creatureCount > this.currentCreature) {
if (_local7.times[this.currentCreature] <= this.roundTick) {
var _local8 = _local7.types[this.currentCreature] + (_local7.level * 20);
var _local9 = _local7.flags[this.currentCreature];
var _local10 = _local7.goldFlags[this.currentCreature];
var _local11 = _local7.offsets[this.currentCreature];
this.addCreature(this.creatureId++, _local8, _local9, _local10, _local11);
this.currentCreature = this.currentCreature + 1;
}
}
this.roundTick = Math.round(this.roundTick + 1);
this.encoder.tick(this._xmouse, this._ymouse - Math.floor(this.recoil.get(this.alpha)));
}
this.recoil.set(this.recoil.get(1) * 0.9);
super.tick(tick);
};
_local2.doRoundOver = function () {
this.killAllPopups();
_root.scorePanel.gotoAndStop(2);
this.scorePanelTarget = 0;
var _local4 = this.hits + this.misses;
var _local5 = ((_local4 > 0) ? (this.hits / _local4) : 0);
var _local6 = Math.floor((1000 * _local5) * _local5);
this.score = this.score + _local6;
this.setScoreMeter(this.score);
this.communicator.roundOver(_local6);
var _local7 = ((this.round == 0) ? 4000 : 15000);
if ((this.round == 2) || (_global.shortGameMode)) {
_root.scorePanel.targetText.text = "";
} else {
_root.scorePanel.targetText.text = _global.textMappings.target_score;
}
_root.scorePanel.accText.text = _global.textMappings.accuracy;
_root.scorePanel.scoreText.text = _global.textMappings.score;
_root.scorePanel.accBonText.text = _global.textMappings.accuracy_bonus;
_root.scorePanel.totScoreText.text = _global.textMappings.total_score;
if ((this.round == 2) || (_global.shortGameMode)) {
_root.scorePanel.targetNum.text = "";
} else {
_root.scorePanel.targetNum.text = "" + _local7;
}
_root.scorePanel.accNum.text = ("" + ((_local5 * 100) << 0)) + "%";
_root.scorePanel.scoreNum.text = "" + (this.score - _local6);
_root.scorePanel.accBonNum.text = "" + _local6;
_root.scorePanel.totScoreNum.text = "" + this.score;
if ((this.round == 2) || (_global.shortGameMode)) {
_root.scorePanel.infoLabel.text = "";
this.gameIsOver = true;
} else if (this.score < _local7) {
this.gameIsOver = true;
}
_root.scorePanel.headerLabel.text = _global.textMappings.level_completed.split("{0}").join(this.round + 1);
if (this.endGameIsPressed) {
this.communicator.gameEnd(this.score);
_root.scorePanel.qualifyLabel.text = "";
_root.scorePanel.targetText.text = "";
_root.scorePanel.targetNum.text = "";
_root.scorePanel.headerLabel.text = _global.textMappings.end_game;
} else if (this.gameIsOver) {
this.communicator.gameEnd(this.score);
_root.scorePanel.qualifyLabel.text = "";
if (this.round < 2) {
_root.scorePanel.qualifyLabel.text = _global.textMappings.not_qualify;
}
} else {
_root.scorePanel.qualifyLabel.text = _global.textMappings.qualify;
}
com.midasplayer.carnivalshootout.SoundHolder.get("LevelStartSound").stop();
com.midasplayer.carnivalshootout.SoundHolder.get("StartupSound").stop();
com.midasplayer.carnivalshootout.SoundHolder.get("GameMusic").stop();
com.midasplayer.carnivalshootout.SoundHolder.get("GameOverMusic").stopAndPlay();
this.roundOver = true;
this.nextRoundInTicks = this.TICKS_PER_SECOND * 7;
};
_local2.addCreature = function (id, type, hasFlag, hasGoldFlag, timeOffset) {
var _local7 = null;
var _local8 = 0;
switch (type) {
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_ARCTIC_WATER_BIRD :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_ARCTIC_FLY_BIRD :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_ARCTIC_FISH :
_local8 = 3;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_ARCTIC_SNOWHEN :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_ARCTIC_ORCA :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_ARCTIC_PENGUIN :
_local8 = 0;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_ARCTIC_SEAL :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_FOREST_RED_FISH :
_local8 = 3;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_FOREST_FOX :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_FOREST_RACOON :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_FOREST_CROW :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_FOREST_GREEN_BIRD :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_FOREST_OWL :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_FOREST_SKUNK :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_FOREST_OWL_REVERSED :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_FOREST_BEAR :
_local8 = 0;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_JUNGLE_GREEN_FISH :
_local8 = 3;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_JUNGLE_RED_BIRD :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_JUNGLE_BEAVER :
_local8 = 0;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_JUNGLE_PARROT :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_JUNGLE_MONKEY :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_JUNGLE_SEA_BIRD :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_JUNGLE_ALLIGATOR :
_local8 = 3;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_JUNGLE_PARROT_REVERSED :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_WATER_BOOT :
_local8 = 3;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_WATER_CRAB :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_WATER_FISH_0 :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_WATER_FISH_1 :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_WATER_SEAHORSE_RIGHT :
_local8 = 3;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_WATER_SHELL :
_local8 = 0;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_WATER_JELLYFISH :
_local8 = 0;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_WATER_STARFISH :
_local8 = 3;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_WATER_SEAHORSE_LEFT :
_local8 = 3;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_CITY_BEERCAN_0 :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_CITY_BEERCAN_1 :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_CITY_CAT :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_CITY_COCKROACH :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_CITY_DEAD_FISH :
_local8 = 3;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_CITY_DOG :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_CITY_ZILLA :
_local8 = 0;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_CITY_DOVE :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_CITY_PLASTIC_BAG :
_local8 = 3;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_CITY_RAT :
_local8 = 0;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_LALA_ABC :
_local8 = 2;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_LALA_EGGMAN :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_LALA_GINGERBREAD_MAN :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_LALA_MOON :
_local8 = 0;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_LALA_TEAPOT :
_local8 = 3;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_LALA_TURTLE :
_local8 = 0;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_LALA_ELEPHANT :
_local8 = 3;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_LALA_RABBIT :
_local8 = 1;
break;
case com.midasplayer.carnivalshootout.AnimalRules.TYPE_LALA_SUN :
_local8 = 0;
}
_local7 = this["popups" + _local8].attachMovie("Popup", "popup" + this.popupId, 1000 + this.popupId);
_local7.setType(id, type);
_local7.setFlag(hasFlag, hasGoldFlag);
_local7.offset = timeOffset;
_local7.bonusHit = false;
this.addEntity(_local7);
this.popupId = this.popupId + 1;
};
_local2.render = function (tick, alpha) {
_root.scorePanel._x = this.scorePanelXStart + this.scorePanelPos.get(alpha);
_root.scorePanel._y = this.scorePanelYStart - 10;
_root.scorePanel._rotation = this.scorePanelRot.get(alpha);
_root.scorePanel.pinne0._rotation = -_root.scorePanel._rotation;
_root.scorePanel.pinne1._rotation = -_root.scorePanel._rotation;
super.render(tick, alpha);
if ((this.nextRoundInTicks > 0) && (this.nextRoundInTicks < (5 * this.TICKS_PER_SECOND))) {
if (this._quality == "LOW") {
this.lastQuality = "LOW";
this._quality = "HIGH";
} else if (this._quality == "MEDIUM") {
this.lastQuality = "MEDIUM";
this._quality = "HIGH";
}
}
if ((this.nextRoundInTicks > (5 * this.TICKS_PER_SECOND)) && (!this.gameIsOver)) {
this.bg._x = -this.bg.pos.get(alpha);
var _local6 = (this.nextRoundInTicks - (5 * this.TICKS_PER_SECOND)) - alpha;
var _local7 = this.communicator.levelData[this.round + 1];
this.overlayBg.gotoAndStop(_local7.level + 1);
if (_local6 > this.TICKS_PER_SECOND) {
this.overlayBg._visible = true;
var _local8 = ((_local6 / this.TICKS_PER_SECOND) - 1) * 500;
if (_local8 > 500) {
_local8 = 500;
}
if (_local8 < 0) {
_local8 = 0;
}
this.overlayBg._y = -_local8;
} else {
this.overlayBg._visible = false;
this.bg.gotoAndStop(_local7.level + 1);
this.layer0.gotoAndStop(_local7.level + 1);
this.layer1.gotoAndStop(_local7.level + 1);
this.layer2.gotoAndStop(_local7.level + 1);
this.layer3.gotoAndStop(_local7.level + 1);
var _local9 = 0;
var _local10 = 0;
var _local11 = (_local6 / this.TICKS_PER_SECOND) * 600;
if (_local11 > 600) {
_local11 = 600;
}
if (_local11 < 0) {
_local11 = 0;
}
var _local12 = ((_local6 / this.TICKS_PER_SECOND) * 600) - 150;
if (_local12 > 600) {
_local12 = 600;
}
if (_local12 < 0) {
_local12 = 0;
}
if (_local7.level == 4) {
_local12 = 0;
_local10 = (((-_local6) / this.TICKS_PER_SECOND) * 600) + 150;
if (_local10 < -600) {
_local10 = -600;
}
if (_local10 > 0) {
_local10 = 0;
}
}
var _local13 = ((_local6 / this.TICKS_PER_SECOND) * 600) - 250;
if (_local13 > 600) {
_local13 = 600;
}
if (_local13 < 0) {
_local13 = 0;
}
var _local14 = ((_local6 / this.TICKS_PER_SECOND) * 600) - 100;
if (_local14 > 600) {
_local14 = 600;
}
if (_local14 < 0) {
_local14 = 0;
}
this.layer0._x = this.layer0.xstart - _local9;
this.layer1._x = this.layer1.xstart - _local10;
this.layer0._y = this.layer0.ystart - _local11;
this.layer1._y = this.layer1.ystart - _local12;
this.layer2._x = -120 + (Math.sin(((tick + alpha) * 0.04) + Math.PI) * 40);
this.layer2._y = (341 + (Math.sin(((tick + alpha) * 0.09) + 2.0943951023932) * 6)) + (_local13 / 4);
this.layer3._x = -80 + (Math.sin((tick + alpha) * 0.04) * 40);
this.layer3._y = (376 + (Math.sin(((tick + alpha) * 0.09) + 4.18879020478639) * 6)) + (_local14 / 4);
}
} else {
this.overlayBg._visible = false;
this.layer2._x = -120 + (Math.sin(((tick + alpha) * 0.04) + Math.PI) * 40);
this.layer2._y = 341 + (Math.sin(((tick + alpha) * 0.09) + 2.0943951023932) * 6);
this.layer3._x = -80 + (Math.sin((tick + alpha) * 0.04) * 40);
this.layer3._y = 376 + (Math.sin(((tick + alpha) * 0.09) + 4.18879020478639) * 6);
this.layer0._y = this.layer0.ystart;
this.layer1._y = this.layer1.ystart;
}
_root.aim._x = this._xmouse + this._x;
_root.aim._y = (this._ymouse - Math.floor(this.recoil.get(alpha))) + this._y;
if ((this.ammo > 0) && (!this.reloading)) {
_root.aim.gotoAndStop(1);
} else {
_root.aim.gotoAndStop((tick % 25) + 2);
}
var _local6 = getTimer() - this.reloadTime;
if (_local6 < 500) {
this.ammoMeter.colt.gotoAndStop((((this.CLIP_SIZE - ((_local6 * this.CLIP_SIZE) / 500)) << 0) * 2) + 4);
this.ammoMeter._rotation = 0;
} else {
this.reloading = false;
_local6 = getTimer() - this.lastShootTime;
if (_local6 < 100) {
_local6 = (_local6 * (_local6 + 100)) / 200;
if (_local6 < 50) {
this.ammoMeter._rotation = ((_local6 * 360) / this.CLIP_SIZE) / 100;
this.ammoMeter.colt.gotoAndStop((this.CLIP_SIZE - this.ammo) * 2);
} else {
this.ammoMeter._rotation = (((_local6 * 360) / this.CLIP_SIZE) / 100) - 30;
this.ammoMeter.colt.gotoAndStop(((this.CLIP_SIZE - this.ammo) * 2) + 1);
}
} else {
this.ammoMeter._rotation = 0;
this.ammoMeter.colt.gotoAndStop(((this.CLIP_SIZE - this.ammo) * 2) + 2);
}
}
this.performance.frameUpdated();
};
_local2.onDragOut = function () {
if (!this.initialized) {
return(undefined);
}
this.onRollOut();
};
_local2.onDragOver = function () {
if (!this.initialized) {
return(undefined);
}
this.onRollOver();
};
_local2.onEnterFrame = function () {
if (this.firstOutOfAmmo && (this.ammo == 0)) {
_root.aim.reloadReminder0._alpha = 100;
_root.aim.reloadReminder0._visible = true;
_root.aim.reloadReminder1._alpha = 100;
_root.aim.reloadReminder1._visible = true;
} else {
_root.aim.reloadReminder0._alpha = 0;
_root.aim.reloadReminder0._visible = false;
_root.aim.reloadReminder1._alpha = 0;
_root.aim.reloadReminder1._visible = false;
}
if (this.DEBUG_MODE && (_root.gameData == undefined)) {
_root.gameData = ((((((((("<gamedata randomseed=\"566730670\" timelimit=\"270\"> <level num=\"0\" level=\"0\" data=\"003i,04DA09sQ04UI03sX00na1F8R053P01kL0B6E04pA05nG00f411D7124E0zKI04QK0EXT01g915Fv091O013c19UA01Kc1zES0VbK08.31Oc\"/> <level num=\"1\" level=\"2\" data=\"004u113Tr00II09FC02yo0xcS02Ww08.112iD08PV0FN113im01tz0F3Y0zLL007I01NN00WF05Tv0ySn01ns08bx057p0Ojx08BY0aTR04Fw0xs.090S04Bx0UOw05ZM09Vu03B\"/> <level num=\"2\" level=\"3\" data=\"0022x05IE00vz02Xe01nk00CT02Dh00FS04vc00Zy01Ri08RB03Ga09zk059z0FVD00Vk08MT0yfR00Wt03wS024O05Zq018i005r04ov0zZg02CK0Fsz0ADx05bB08wb04dd0MOt0xwl0AMd08es0OyK03Yo0VGJ05fO02Ji09BN0ALS08f\"/> <text id=\"level\">LEVEL</text> <text id=\"reload\">RELOAD</text> <text id=\"time_to_end\">TIME TO END:</text> <text id=\"time_to_start\">TIME TO START:</text> <text id=\"instructions\">WELCOME TO THE CARNIVAL! AIM AND SHOOT THE MOVING ANIMAL TARGETS. HITTING AN ANIMAL'S TARGET ZONE INCREASES THE SCORE. AVOID ANIMALS WITH A WHITE FLAG AND GET AN ANIMAL WITH A GOLD FLAG TO TRIGGER A SECRET ANIMAL WITH A GOLDEN BALL TARGET.</text> <text id=\"target_score\">TARGET SCORE</text> <text id=\"instruction_header\">INSTRUCTIONS</text> <text id=\"toggle_sound\">TOGGLE SOUND</text>" + " <text id=\"level_completed\">LEVEL {0} COMPLETED</text>") + " <text id=\"total_score\">TOTAL SCORE</text>") + " <text id=\"not_qualify\">YOU DID NOT QUALIFY FOR THE NEXT LEVEL</text>") + " <text id=\"accuracy\">ACCURACY</text>") + " <text id=\"score\">SCORE</text>") + " <text id=\"qualify\">YOU QUALIFIED FOR THE NEXT LEVEL</text>") + " <text id=\"time_left\">TIME LEFT</text>") + " <text id=\"end_game\">END GAME</text>") + " <text id=\"accuracy_bonus\">ACCURACY BONUS</text>") + "</gamedata>";
}
if (_root.gameData == undefined) {
return(undefined);
}
if (!this.initialized) {
this.init();
Mouse.hide();
this.initialized = true;
_root.hider._visible = false;
}
this.timer.advanceTime();
};
_local2.onRollOver = function () {
if (!this.initialized) {
return(undefined);
}
Mouse.hide();
this.encoder.rollOver();
_root.aim._alpha = 100;
_root.aim._visible = true;
_root.aim._x = this._xmouse + this._x;
_root.aim._y = (this._ymouse - Math.floor(this.recoil.get(this.alpha))) + this._y;
};
_local2.onRollOut = function () {
if (!this.initialized) {
return(undefined);
}
this.encoder.rollOut();
_root.aim._alpha = 0;
_root.aim._visible = false;
};
_local2.startRound = function () {
this.performance.begin();
if (this._quality == "LOW") {
this.lastQuality = "LOW";
}
this._quality = this.lastQuality;
this.round = this.round + 1;
this.communicator.roundStarted(this.round);
this.creatureId = 0;
this.bonusCreatureId = 0;
_root.roundMeter.gotoAndStop(this.round + 1);
_root.roundDigit.target = this.round + 1;
this.hits = 0;
this.misses = 0;
this.reloadTime = -1;
this.ammo = 6;
this.gameStarted = true;
this.scorePanelTarget = this.SCORE_PANEL_OFFSCREEN_POS;
this.roundOver = false;
this.currentCreature = 0;
this.roundTick = 0;
this.remainingTicks = this.TICKS_PER_SECOND * this.SECONDS_PER_ROUND;
this.nextRoundInTicks = -1;
this.musicIn = -1;
this.lastShootTime = -1;
com.midasplayer.carnivalshootout.SoundHolder.get("StartupSound").stop();
com.midasplayer.carnivalshootout.SoundHolder.get("GameOverMusic").stop();
com.midasplayer.carnivalshootout.SoundHolder.get("LevelStartSound").play();
this.musicIn = this.TICKS_PER_SECOND * 2;
};
_local2.onMouseDown = function () {
if ((!this.initialized) && (!this.gameIsOver)) {
return(undefined);
}
if ((!this.gameStarted) || ((this.nextRoundInTicks > 0) && (this.nextRoundInTicks < (this.TICKS_PER_SECOND * 5)))) {
if (this.gameIsOver) {
this.communicator.gameQuit();
} else {
this.startRound();
}
this.nextRoundInTicks = 0;
} else if (!this.roundOver) {
if ((((this._xmouse > 0) && (this._ymouse > 0)) && (this._xmouse < 490)) && (this._ymouse < 460)) {
this.encoder.shootAt(this._xmouse, this._ymouse - Math.floor(this.recoil.get(this.alpha)), this.alpha);
this.shootAt(this._xmouse, this._ymouse - Math.floor(this.recoil.get(this.alpha)));
} else if (this.ammo == 0) {
this.reload();
} else {
var _local3 = (_root.ammoMeter._x - this._x) - this._xmouse;
var _local4 = (_root.ammoMeter._y - this._y) - this._ymouse;
var _local5 = (_local3 * _local3) + (_local4 * _local4);
if (((_local5 < 2500) && (this.ammo > 0)) && (!this.reloading)) {
this.ammo = this.ammo - 1;
com.midasplayer.carnivalshootout.SoundHolder.get("ClickSound").playOffs(0.2);
}
}
}
};
_local2.killAllPopups = function () {
this.killAllTargets(this.popups3);
this.killAllTargets(this.popups2);
this.killAllTargets(this.popups1);
this.killAllTargets(this.popups0);
};
_local2.killAllTargets = function (layer) {
for (var _local2 in layer) {
var _local3 = layer[_local2];
if (_local3 instanceof MovieClip) {
if (_local3.isShootable() == true) {
_local3.shoot();
}
}
}
};
_local2.shootAt = function (x, y) {
if (this.reloading) {
return(undefined);
}
var _local5 = (this.alpha * 64) << 0;
this.lastShootTime = getTimer();
if (this.ammo > 0) {
this.recoil.set(25);
this.recoil.set(25);
this.ammo = this.ammo - 1;
var _local6 = this.attachMovie("Blast", "blast" + this.blastId, 6000 + this.blastId);
if ((++this.blastId) == 10) {
this.blastId = 0;
}
_local6._x = x;
_local6._y = y;
_local6._rotation = Math.random() * 360;
this.addEntity(_local6);
var _local7;
if (_local7 == undefined) {
_local7 = this.checkTarget(x, y, this.layer3);
}
if (_local7 == undefined) {
_local7 = this.findTarget(x, y, this.popups3);
}
if (_local7 == undefined) {
_local7 = this.checkTarget(x, y, this.layer2);
}
if (_local7 == undefined) {
_local7 = this.findTarget(x, y, this.popups2);
}
if (_local7 == undefined) {
_local7 = this.checkTarget(x, y, this.layer1);
}
if (_local7 == undefined) {
_local7 = this.findTarget(x, y, this.popups1);
}
if (_local7 == undefined) {
_local7 = this.checkTarget(x, y, this.layer0);
}
if (_local7 == undefined) {
_local7 = this.findTarget(x, y, this.popups0);
}
if ((_local7 != undefined) && (_local7.isShootable() == true)) {
var _local8 = false;
if (!_local7.bonusHit) {
var _local9 = _local7.bonus._xscale;
var _local10 = _local7.bonus._yscale;
_local7.bonus._xscale = 0;
_local7.bonus._yscale = 0;
var _local11 = _local7.stick._xscale;
var _local12 = _local7.stick._yscale;
_local7.stick._xscale = 0;
_local7.stick._yscale = 0;
if (!_local7.hitTest(x + this._x, y + this._y, true)) {
_local8 = true;
_local7.bonusHit = true;
_local7.bonus.gotoAndPlay(2);
}
_local7.bonus._xscale = _local9;
_local7.bonus._yscale = _local10;
_local7.stick._xscale = _local11;
_local7.stick._yscale = _local12;
}
var _local13 = this.attachMovie("ScorePopup", "score" + this.blastId, 5000 + this.blastId);
var _local14 = this.communicator.levelData[this.round].getScore(_local7.id, x, y, this.roundTick + (_local5 / 64));
_root.debugText.text = this.communicator.levelData[this.round].verifyScore(_local7.id, x, y, this.roundTick + (_local5 / 64), _local14);
if (_local8) {
_local14 = (500 + ((this.speedBonus * 10) / (this.TICKS_PER_SECOND * 5))) << 0;
this.speedBonus = this.TICKS_PER_SECOND * 5;
} else {
if (_local7.hasFlag && (!_local7.goldFlag)) {
this.speedBonus = 0;
} else {
_local14 = _local14 + (((this.speedBonus * 10) / (this.TICKS_PER_SECOND * 5)) << 0);
this.speedBonus = this.TICKS_PER_SECOND * 5;
}
if (_local7.goldFlag && (_local7.getLastMultiplier() > 0)) {
var _local15 = this.communicator.levelData[this.round];
var _local16 = 6 + (_local15.level * 20);
var _local17 = false;
var _local18 = false;
var _local19 = _local7.offset;
com.midasplayer.carnivalshootout.SoundHolder.get("BonusAnimalSound").stopAndPlay();
var _local20 = -(++this.bonusCreatureId);
this.addCreature(_local20, _local16, _local17, _local18, _local19);
}
}
_local13._x = x;
_local13._y = y;
if (_local13._x < 50) {
_local13._x = 50;
}
if (_local13._y < 50) {
_local13._y = 50;
}
if (_local13._x > 440) {
_local13._x = 440;
}
if (_local13._y > 440) {
_local13._y = 440;
}
_local13.setScore(_local14, _local7.getLastMultiplier());
_local13._rotation = (Math.random() * 40) - 20;
this.addEntity(_local13);
if (this.bloodEnabled) {
var _local21 = 0;
while (_local21 < 15) {
var _local22 = _local7._parent.attachMovie("BloodSplat", ("blood" + (this.blastId * 15)) + _local21, (8000 + (this.blastId * 15)) + _local21);
_local22._x = x;
_local22._y = y;
this.addEntity(_local22);
_local21 = _local21 + 1;
}
}
this.hits = this.hits + 1;
if (_local14 < 0) {
com.midasplayer.carnivalshootout.SoundHolder.get("DontShootSound").stopAndPlay();
} else if (_local8) {
com.midasplayer.carnivalshootout.SoundHolder.get("SpecialHitSound").stopAndPlay();
} else {
com.midasplayer.carnivalshootout.SoundHolder.get("HitSound").stopAndPlay();
}
if ((this.score + _local14) < 0) {
_local14 = -this.score;
}
if (_local8) {
this.communicator.shootAt(x, y, this.roundTick << 0, _local5, _local7.id + 10000, _local14);
} else {
this.communicator.shootAt(x, y, this.roundTick << 0, _local5, _local7.id, _local14);
}
this.score = this.score + _local14;
this.setScoreMeter(this.score);
if (!_local8) {
_local7.shoot();
}
} else {
this.communicator.shootAt(x, y, this.roundTick << 0, _local5, -99999, 0);
this.speedBonus = 0;
this.misses = this.misses + 1;
com.midasplayer.carnivalshootout.SoundHolder.get("MissSound" + Math.floor(Math.random() * 1)).stopAndPlay();
}
com.midasplayer.carnivalshootout.SoundHolder.get("ShootSound").play();
} else {
this.ammo = -1;
this.reload();
com.midasplayer.carnivalshootout.SoundHolder.get("ClickSound").stopAndPlay();
}
};
_local2.setTimeMeter = function (seconds) {
_root.timeMeter.text = "" + (seconds << 0);
};
_local2.setScoreMeter = function (score) {
_root.scoreMeter.text = "" + (score << 0);
};
_local2.checkTarget = function (x, y, obj) {
var _local5 = obj.hide._xscale;
var _local6 = obj.hide._yscale;
obj.hide._xscale = 0;
obj.hide._yscale = 0;
var _local7;
if (obj.hitTest(x + this._x, y + this._y, true)) {
_local7 = obj;
}
obj.hide._xscale = _local5;
obj.hide._yscale = _local6;
return(_local7);
};
_local2.findTarget = function (x, y, layer) {
var _local5;
var _local6 = -100000000;
for (var _local7 in layer) {
var _local8 = layer[_local7];
if ((_local8 instanceof MovieClip) && (_local8.getDepth() > _local6)) {
var _local9 = _local8.flag._xscale;
var _local10 = _local8.flag._yscale;
_local8.flag._xscale = 0;
_local8.flag._yscale = 0;
if (_local8.hitTest(x + this._x, y + this._y, true)) {
_local5 = _local8;
_local6 = _local8.getDepth();
if (_local8 instanceof com.midasplayer.carnivalshootout.Layer) {
_local5 = this.findTarget(x, y, _local8);
}
}
_local8.flag._xscale = _local9;
_local8.flag._yscale = _local10;
}
}
if (_local5.isShootable() != true) {
_local5 = undefined;
}
return(_local5);
};
_local2.onKeyDown = function () {
if (!this.initialized) {
return(undefined);
}
var _local3 = chr(Key.getAscii());
if (_local3 == "q") {
this.enteredText = "";
} else {
this.enteredText = this.enteredText + _local3;
if (this.enteredText == "blood") {
this.bloodEnabled = !this.bloodEnabled;
}
if (this.enteredText == "notch") {
_root.egoPanel._visible = !_root.egoPanel._visible;
this.enteredText = "";
}
}
if (_local3 == "s") {
this.toggleSoundPressed();
}
};
_local2.reload = function () {
this.firstOutOfAmmo = false;
_root.aim.reloadReminder0._alpha = 0;
_root.aim.reloadReminder0._visible = false;
_root.aim.reloadReminder1._alpha = 0;
_root.aim.reloadReminder1._visible = false;
this.reloading = true;
this.reloadTime = getTimer();
com.midasplayer.carnivalshootout.SoundHolder.get("ReloadSound").stopAndPlay();
this.ammo = this.CLIP_SIZE;
};
_local2.endGamePressed = function () {
if (!this.gameIsOver) {
this.endGameIsPressed = true;
this.roundOver = true;
this.gameIsOver = true;
this.communicator.endGamePressed(0);
this.communicator.gameEnd(this.score);
this.nextRoundInTicks = this.TICKS_PER_SECOND * 1;
this.remainingTicks = 0;
this.doRoundOver();
this.musicIn = 0;
}
};
_local2.toggleSoundPressed = function () {
com.midasplayer.carnivalshootout.SoundHolder.toggleSound();
};
_local2.DEBUG_MODE = true;
_local2.DEBUG_ROUND = 0;
_local2.TICKS_PER_SECOND = 24;
_local2.SECONDS_PER_ROUND = 60;
_local2.CLIP_SIZE = 6;
_local2.SCORE_PANEL_OFFSCREEN_POS = 550;
_local2.initialized = false;
_local2.blastId = 0;
_local2.popupId = 0;
_local2.ammo = 0;
_local2.score = 0;
_local2.hits = 0;
_local2.misses = 0;
_local2.reloadTime = -1;
_local2.reloading = false;
_local2.roundOver = false;
_local2.gameStarted = false;
_local2.autoStartTime = 0;
_local2.gameIsOver = false;
_local2.firstOutOfAmmo = true;
_local2.bloodEnabled = false;
_local2.enteredText = "";
(ASSetPropFlags(_global.com.midasplayer.carnivalshootout.CarnivalShootoutGameArea.prototype, null, 1));// not popped
}
#endinitclip
Symbol 1207 MovieClip [__Packages.com.midasplayer.timing.Timer] Frame 0
class com.midasplayer.timing.Timer
{
var timeable;
function Timer (timeable, gameTicksPerSecond) {
millisPerGameTick = 1000 / gameTicksPerSecond;
this.timeable = timeable;
maxTickTime = 500;
}
function getMillisPerTick() {
return(millisPerGameTick);
}
function setMaxTickTime(millis) {
maxTickTime = millis;
}
function advanceTime2() {
var _local3 = getTimer();
if (startTime < 0) {
startTime = _local3;
unprocessedTime = millisPerGameTick;
}
time = _local3 - startTime;
var _local4 = time - lastTime;
lastTime = time;
unprocessedTime = unprocessedTime + _local4;
if (unprocessedTime >= millisPerGameTick) {
var _local2 = maxTickTime + _local3;
do {
timeable.tick(tick);
tick++;
unprocessedTime = unprocessedTime - millisPerGameTick;
} while ((unprocessedTime >= millisPerGameTick) && (getTimer() < _local2));
}
var _local5 = (unprocessedTime % millisPerGameTick) / millisPerGameTick;
timeable.render(tick, _local5);
}
function advanceTime() {
time = getTimer();
var _local3 = time - lastTime;
lastTime = time;
unprocessedTime = unprocessedTime + _local3;
var _local2 = 0;
while (unprocessedTime > millisPerGameTick) {
unprocessedTime = unprocessedTime - millisPerGameTick;
timeable.tick(tick);
tick++;
_local2++;
if (_local2 >= 10) {
unprocessedTime = 0;
}
}
var _local4 = unprocessedTime / millisPerGameTick;
timeable.render(tick, _local4);
}
var time = 0;
var startTime = -1;
var lastTime = 0;
var unprocessedTime = 0;
var tick = 0;
var millisPerGameTick = 0;
var maxTickTime = -1;
}
Symbol 1208 MovieClip [__Packages.com.midasplayer.carnivalshootout.Encoder] Frame 0
class com.midasplayer.carnivalshootout.Encoder
{
var shortMode, encodeData, lastX, lastY, same;
function Encoder () {
shortMode = false;
encodeData = "";
lastX = -1;
lastY = -1;
same = 0;
}
function rollOver() {
encodeData = encodeData + ENTER_CHAR;
}
function rollOut() {
encodeData = encodeData + EXIT_CHAR;
}
function shootAt(x, y, alpha) {
encodeData = encodeData + SHOOT_CHAR;
encodeShortNumber(Math.floor(alpha * 64));
encodePos(x, y);
}
function tick(x, y) {
encodePos(x, y);
}
function encodePos(x, y) {
x = x >> 2;
y = y >> 2;
if ((x != lastX) || (y != lastY)) {
if (same > 0) {
encodeData = encodeData + SAME_CHAR;
encodeShortNumber(same);
}
if ((((x < (lastX + 32)) && (x >= (lastX - 32))) && (y < (lastY + 32))) && (y >= (lastY - 32))) {
var _local5 = (x - lastX) + 32;
var _local4 = (y - lastY) + 32;
if (!shortMode) {
encodeData = encodeData + SHORT_CHAR;
shortMode = true;
}
encodeShortNumber(_local5);
encodeShortNumber(_local4);
} else {
if (shortMode) {
encodeData = encodeData + SHORT_CHAR;
shortMode = false;
}
encodeLongNumber(x);
encodeLongNumber(y);
}
lastX = x;
lastY = y;
same = 0;
} else {
if (same == 63) {
encodeData = encodeData + SAME_CHAR;
encodeShortNumber(same);
same = 0;
}
same++;
}
}
function encodeShortNumber(v) {
v = Math.floor(v);
var _local3 = v & 63;
encodeData = encodeData + BASE_64_CHARS.charAt(_local3);
}
function encodeLongNumber(v) {
v = Math.floor(v);
var _local4 = v & 63;
var _local3 = (v >> 6) & 63;
encodeData = encodeData + (BASE_64_CHARS.charAt(_local4) + BASE_64_CHARS.charAt(_local3));
}
var BASE_64_CHARS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";
var ENTER_CHAR = ")";
var EXIT_CHAR = "(";
var SHOOT_CHAR = "+";
var SHORT_CHAR = "/";
var SAME_CHAR = "=";
}
Symbol 1209 MovieClip [__Packages.com.midasplayer.carnivalshootout.Communicator] Frame 0
class com.midasplayer.carnivalshootout.Communicator
{
var levelData;
function Communicator () {
levelData = new Array();
}
function gameStarted() {
fscommand ("gameStart");
}
function roundStarted(roundNum) {
fscommand ("playData", ((((CMD_ROUND_START + ",") + roundNum) + " ") + GAME_VERSION) + "=0");
}
function shootAt(x, y, localTime, localTimeFraction, hitCreature, score) {
fscommand ("playData", (((((((((((CMD_SHOOT_AT + ",") + x) + " ") + y) + " ") + localTime) + " ") + localTimeFraction) + " ") + hitCreature) + "=") + score);
}
function reload(localTime) {
fscommand ("playData", ((CMD_RELOAD + ",") + localTime) + "=0");
}
function roundOver(accuracyBonus) {
fscommand ("playData", (CMD_ROUND_OVER + "=") + accuracyBonus);
}
function endGamePressed(localTime) {
fscommand ("playData", ((CMD_END_GAME + ",") + localTime) + "=0");
}
function gameEnd(score) {
fscommand ("gameEnd", score);
}
function gameQuit() {
fscommand ("gameQuit");
}
function parseGameData(gameData) {
var _local8 = new XML(_root.gameData);
_global.shortGameMode = new String(_local8.childNodes[0].attributes.mode) == "short";
_global.textMappings = new Object();
var _local5 = _local8.childNodes[0].childNodes;
var _local4 = 0;
while (_local4 < _local5.length) {
_root.debugText.text = _root.debugText.text + ("\r" + _local5[_local4].nodeName);
if (_local5[_local4].nodeName == "text") {
_global.textMappings[_local5[_local4].attributes.id] = new String(_local5[_local4].firstChild.nodeValue);
}
if (_local5[_local4].nodeName == "level") {
var _local6 = new Number(_local5[_local4].attributes.num);
var _local7 = new Number(_local5[_local4].attributes.level);
levelData[_local6.valueOf()] = new com.midasplayer.carnivalshootout.LevelData(_local7.valueOf(), new String(_local5[_local4].attributes.data));
}
_local4++;
}
_root.scoreText.text = _global.textMappings.score;
_root.timeLeftText.text = _global.textMappings.time_left;
_root.levelText.text = _global.textMappings.level;
_root.endGameText.text = _global.textMappings.end_game;
_root.toggleSoundText.text = _global.textMappings.toggle_sound;
}
static var GAME_VERSION = 1;
static var CMD_ROUND_START = 568;
static var CMD_SHOOT_AT = 164;
static var CMD_RELOAD = 764;
static var CMD_ROUND_OVER = 305;
static var CMD_END_GAME = 231;
}
Symbol 1210 MovieClip [__Packages.com.midasplayer.carnivalshootout.LevelData] Frame 0
class com.midasplayer.carnivalshootout.LevelData
{
var bonusCreatureId, level, creatureCount, times, offsets, types, flags, goldFlags;
function LevelData (level, data) {
bonusCreatureId = 0;
this.level = level;
creatureCount = (data.length / 4) << 0;
times = new Array(creatureCount);
offsets = new Array(creatureCount);
types = new Array(creatureCount);
flags = new Array(creatureCount);
goldFlags = new Array(creatureCount);
var _local8 = 0;
var _local2 = 0;
while (_local2 < creatureCount) {
var _local7 = BASE_64_CHARS.indexOf(data.charAt((_local2 * 4) + 0));
var _local6 = BASE_64_CHARS.indexOf(data.charAt((_local2 * 4) + 1));
var _local3 = BASE_64_CHARS.indexOf(data.charAt((_local2 * 4) + 2));
var _local5 = BASE_64_CHARS.indexOf(data.charAt((_local2 * 4) + 3));
_local8 = _local8 + (_local7 + (_local6 * 64));
times[_local2] = _local8;
offsets[_local2] = _local5 / 64;
types[_local2] = _local3 & 15;
flags[_local2] = (_local3 & 32) > 0;
goldFlags[_local2] = (_local3 & 16) > 0;
_local2++;
}
}
function addBonusCreature(i, type, timeOffset, roundTime) {
times[50 - i] = roundTime;
offsets[50 - i] = timeOffset;
types[50 - i] = type;
flags[50 - i] = false;
goldFlags[50 - i] = false;
}
function getScore(i, x, y, time) {
if (i < 0) {
i = 50 - i;
}
return(com.midasplayer.carnivalshootout.AnimalRules.getScore(types[i] + (level * 20), time - times[i], x, y, offsets[i], flags[i] && (!goldFlags[i]), 1));
}
function verifyScore(i, x, y, time, score) {
if (i < 0) {
i = 50 - i;
}
var _local4 = com.midasplayer.carnivalshootout.AnimalRules.getScore(types[i] + (level * 20), time - times[i], x, y, offsets[i], flags[i] && (!goldFlags[i]), 1.05);
if (goldFlags[i] && (com.midasplayer.carnivalshootout.AnimalRules.lastMultiplier > 0)) {
var _local3 = -(++bonusCreatureId);
addBonusCreature(_local3, 6, offsets[i], time << 0);
}
return(_local4 >= score);
}
static var BASE_64_CHARS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,.";
}
Symbol 1211 MovieClip [__Packages.com.midasplayer.carnivalshootout.AnimalRules] Frame 0
class com.midasplayer.carnivalshootout.AnimalRules
{
function AnimalRules () {
}
static function setPos(type, time, pos, offset) {
var _local3 = (offset * Math.PI) * 2;
switch (type) {
case TYPE_ARCTIC_WATER_BIRD :
pos.x = 640 - (time * 3.8);
pos.y = 387;
pos.rot = (Math.sin((time * 0.16) + _local3) * (Math.sin((time * 0.16) + _local3) + 2)) * 10;
break;
case TYPE_ARCTIC_FLY_BIRD :
pos.x = 640 - (time * 6);
pos.y = 0;
pos.rot = Math.sin((time * 0.13) + _local3) * 40;
break;
case TYPE_ARCTIC_FISH :
pos.x = -150 + (time * 3);
pos.y = 440 + (Math.cos((time * 0.16) + _local3) * 8);
pos.rot = Math.sin((time * 0.08) + _local3) * 10;
break;
case TYPE_ARCTIC_SNOWHEN :
pos.x = 640 - (time * 6);
pos.y = 327;
pos.rot = Math.sin((time * 0.38) + _local3) * 10;
break;
case TYPE_ARCTIC_ORCA :
pos.x = (((offset * 9) << 0) * 50) + 45;
pos.rot = (time * 3) - 90;
pos.y = 387 + ((1 - Math.cos((pos.rot * Math.PI) / 180)) * 75);
break;
case TYPE_ARCTIC_PENGUIN :
pos.x = 640 - (time * 6);
pos.y = 230;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_ARCTIC_SEAL :
pos.x = 640 - (time * 3.8);
pos.y = 327;
pos.rot = Math.sin((time * 0.18) + _local3) * 25;
break;
case TYPE_FOREST_RED_FISH :
pos.x = -150 + (time * 3);
pos.y = 440 + (Math.cos((time * 0.16) + _local3) * 8);
pos.rot = Math.sin((time * 0.08) + _local3) * 10;
break;
case TYPE_FOREST_FOX :
pos.x = -150 + (time * 6);
pos.y = 327;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_FOREST_RACOON :
pos.x = 640 - (time * 6);
pos.y = 327;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_FOREST_CROW :
pos.x = -150 + (time * 6);
pos.y = 230;
pos.rot = Math.sin((time * 0.38) + _local3) * 10;
break;
case TYPE_FOREST_GREEN_BIRD :
pos.x = 640 - (time * 6);
pos.y = 0;
pos.rot = Math.sin((time * 0.13) + _local3) * 40;
break;
case TYPE_FOREST_OWL :
pos.x = (640 - (time * 10)) + ((time * time) / 5.5);
pos.y = (((offset * 9) << 0) * 20) + 85;
pos.rot = -90;
break;
case TYPE_FOREST_OWL_REVERSED :
pos.x = (-150 + (time * 10)) - ((time * time) / 5.5);
pos.y = (((offset * 9) << 0) * 20) + 85;
pos.rot = 90;
break;
case TYPE_FOREST_SKUNK :
pos.x = (640 - (time * 7)) + (Math.sin((time * 0.28) + _local3) * 20);
pos.y = 327;
pos.rot = Math.sin((time * 0.28) + _local3) * 10;
break;
case TYPE_FOREST_BEAR :
var _local8 = (42.2222222222222 + (offset * 30)) + 10;
pos.x = 640 - (time * 9);
if (pos.x < 260) {
pos.x = 260;
}
if (time > _local8) {
pos.x = 260 - ((time - _local8) * 8);
}
pos.y = 230;
pos.rot = 0;
break;
case TYPE_JUNGLE_GREEN_FISH :
pos.x = -150 + (time * 3);
pos.y = 440 + (Math.cos((time * 0.16) + _local3) * 8);
pos.rot = Math.sin((time * 0.08) + _local3) * 10;
break;
case TYPE_JUNGLE_RED_BIRD :
pos.x = -150 + (time * 6);
pos.y = 327;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_JUNGLE_BEAVER :
pos.x = 640 - (time * 6);
pos.y = 230;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_JUNGLE_PARROT :
pos.x = (640 - (time * 10)) + ((time * time) / 5.5);
pos.y = (((offset * 9) << 0) * 20) + 85;
pos.rot = -90;
break;
case TYPE_JUNGLE_MONKEY :
pos.x = -150 + (time * 6);
pos.y = 0;
pos.rot = Math.sin((time * 0.13) + _local3) * 40;
break;
case TYPE_JUNGLE_SEA_BIRD :
pos.x = 640 - (time * 3.8);
pos.y = 387;
pos.rot = (Math.sin((time * 0.16) + _local3) * (Math.sin((time * 0.16) + _local3) + 2)) * 10;
break;
case TYPE_JUNGLE_PARROT_REVERSED :
pos.x = (-150 + (time * 10)) - ((time * time) / 5.5);
pos.y = (((offset * 9) << 0) * 20) + 85;
pos.rot = 90;
break;
case TYPE_JUNGLE_ALLIGATOR :
var _local5 = time * 0.8;
pos.x = (((offset * 9) << 0) * 40) + _local5;
pos.rot = (_local5 * 3) - 90;
pos.y = (687 - (_local5 * 14)) + ((_local5 * _local5) / 5.5);
break;
case TYPE_WATER_BOOT :
pos.x = 640 - (time * 6);
pos.y = 0;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_WATER_CRAB :
var _local6 = 280 + (offset * 80);
var _local7 = 170 + (offset * 80);
_local8 = (((640 - _local6) / 9) + (offset * 15)) + 5;
var _local10 = ((_local8 + ((_local6 - _local7) / 8)) + (offset * 15)) + 5;
pos.x = 640 - (time * 9);
if (pos.x < _local6) {
pos.x = _local6;
}
if (time > _local8) {
pos.x = _local6 - ((time - _local8) * 8);
}
if (pos.x < _local7) {
pos.x = _local7;
}
if (time > _local10) {
pos.x = _local7 - ((time - _local10) * 8);
}
pos.x = -150 + (640 - pos.x);
pos.y = 327;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_WATER_FISH_0 :
pos.x = -150 + (time * 6);
pos.y = 387;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_WATER_FISH_1 :
pos.x = 640 - (time * 6);
pos.y = 230;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_WATER_SEAHORSE_RIGHT :
pos.x = (640 - (time * 10)) + ((time * time) / 5.5);
pos.y = (((offset * 9) << 0) * 20) + 85;
pos.rot = -90;
break;
case TYPE_WATER_SHELL :
pos.x = 640 - (time * 6);
pos.y = 230;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_WATER_JELLYFISH :
pos.x = -150 + (time * 6);
pos.y = 0;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
pos.rot = pos.rot + (Math.sin((time * 0.3) + _local3) * 7);
break;
case TYPE_WATER_STARFISH :
pos.x = 640 - (time * 6);
pos.y = 440;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_WATER_SEAHORSE_LEFT :
pos.x = (-150 + (time * 10)) - ((time * time) / 5.5);
pos.y = (((offset * 9) << 0) * 20) + 85;
pos.rot = 90;
break;
case TYPE_CITY_BEERCAN_0 :
pos.x = 640 - (time * 6);
pos.y = 387;
pos.rot = Math.sin((time * 0.28) + _local3) * 15;
break;
case TYPE_CITY_BEERCAN_1 :
pos.x = -150 + (time * 6);
pos.y = 387;
pos.rot = Math.sin((time * 0.28) + _local3) * 15;
break;
case TYPE_CITY_CAT :
pos.x = 640 - (time * 6);
pos.y = 230;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_CITY_COCKROACH :
pos.x = 50;
pos.y = (270 - (time * 6)) + (Math.sin(time * 0.4) * 15);
pos.rot = 0;
break;
case TYPE_CITY_DEAD_FISH :
pos.x = 640 - (time * 5.2);
pos.y = 440 + (Math.cos((time * 0.16) + _local3) * 8);
pos.rot = Math.sin((time * 0.08) + _local3) * 10;
break;
case TYPE_CITY_DOG :
pos.x = -150 + (time * 7);
pos.y = 327;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_CITY_ZILLA :
pos.x = 640 - (time * 5);
pos.y = 230;
pos.rot = Math.sin((time * 0.18) + _local3) * 20;
break;
case TYPE_CITY_DOVE :
pos.x = -150 + (time * 5);
pos.y = 230;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_CITY_PLASTIC_BAG :
pos.x = (640 - (time * 6)) + (Math.sin((time * 0.16) + _local3) * 16);
pos.y = -16 + (Math.cos((time * 0.16) + _local3) * 16);
pos.rot = Math.sin((time * 0.32) + _local3) * 8;
break;
case TYPE_CITY_RAT :
_local6 = 280 + (offset * 80);
_local7 = 170 + (offset * 80);
_local8 = (((640 - _local6) / 9) + (offset * 15)) + 5;
_local10 = ((_local8 + ((_local6 - _local7) / 8)) + (offset * 15)) + 5;
pos.x = 640 - (time * 9);
if (pos.x < _local6) {
pos.x = _local6;
}
if (time > _local8) {
pos.x = _local6 - ((time - _local8) * 8);
}
if (pos.x < _local7) {
pos.x = _local7;
}
if (time > _local10) {
pos.x = _local7 - ((time - _local10) * 8);
}
pos.y = 230;
pos.rot = 0;
break;
case TYPE_LALA_ABC :
pos.x = (-150 + (time * 5.2)) + (Math.cos((time * 0.16) + _local3) * 8);
pos.y = 440;
pos.rot = Math.sin((time * 0.08) + _local3) * 10;
break;
case TYPE_LALA_EGGMAN :
pos.x = 640 - (time * 5);
pos.y = 327;
pos.rot = Math.sin((time * 0.12) + _local3) * 20;
break;
case TYPE_LALA_GINGERBREAD_MAN :
pos.x = -150 + (time * 5);
pos.y = 230;
pos.rot = Math.sin((time * 0.18) + _local3) * 4;
break;
case TYPE_LALA_MOON :
var _local9 = time * 0.75;
pos.x = (630 - (_local9 * 10)) + ((_local9 * _local9) / 5.5);
pos.y = time * 1.8;
pos.rot = -90;
break;
case TYPE_LALA_TEAPOT :
pos.x = 640 - (time * 6);
pos.y = 440 + (Math.cos((time * 0.16) + _local3) * 8);
pos.rot = Math.sin((time * 0.18) + _local3) * 25;
break;
case TYPE_LALA_TURTLE :
pos.x = 640 - (time * 4);
pos.y = 230;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_LALA_ELEPHANT :
pos.x = 640 - (((time * time) * 0.1) * 1);
pos.y = 0;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_LALA_RABBIT :
pos.x = (-150 + (time * 6)) + (Math.sin((time * 0.18) + _local3) * 20);
pos.y = 327;
pos.rot = Math.sin((time * 0.18) + _local3) * 15;
break;
case TYPE_LALA_SUN :
pos.x = 640 - (time * 6);
pos.y = -24 + (Math.sin((time * 0.07) + _local3) * 16);
pos.rot = Math.sin((time * 0.02) + _local3) * 32;
break;
default :
pos.x = 640 - (time * 6);
pos.y = 227 + (Math.sin(time * 0.8) * 80);
pos.rot = Math.sin((time * 0.08) + _local3) * 10;
}
}
static function getScore(type, time, x, y, offset, hasFlag, scoreRadius) {
if (scoreRadius == undefined) {
scoreRadius = 1;
}
var _local9 = popupInfo[type][0];
var _local10 = popupInfo[type][1];
var _local14 = ((popupInfo[type][2] / 2) * scoreRadius) << 0;
var _local2 = popupInfo[type][3];
if (hasFlag) {
return(-(_local2 << 0));
}
var _local1 = new Object();
setPos(type, time, _local1, offset);
var _local7 = Math.sin((_local1.rot * Math.PI) / 180);
var _local5 = Math.cos((_local1.rot * Math.PI) / 180);
var _local13 = (_local1.x + (_local5 * _local9)) - (_local7 * _local10);
var _local12 = (_local1.y + (_local7 * _local9)) + (_local5 * _local10);
var _local6 = x - _local13;
var _local8 = y - _local12;
var _local3 = (Math.sqrt((_local6 * _local6) + (_local8 * _local8)) * 3) / _local14;
if (_local3 < 1) {
lastMultiplier = 3;
return((_local2 * 2) << 0);
}
if (_local3 < 2) {
lastMultiplier = 2;
return((_local2 * 1.5) << 0);
}
if (_local3 < 3) {
lastMultiplier = 1;
return((_local2 * 1.2) << 0);
}
lastMultiplier = 0;
return(_local2 << 0);
}
static var TYPE_ARCTIC_WATER_BIRD = 0;
static var TYPE_ARCTIC_FLY_BIRD = 1;
static var TYPE_ARCTIC_FISH = 2;
static var TYPE_ARCTIC_SNOWHEN = 3;
static var TYPE_ARCTIC_ORCA = 4;
static var TYPE_ARCTIC_PENGUIN = 5;
static var TYPE_ARCTIC_SEAL = 6;
static var TYPE_FOREST_RED_FISH = 20;
static var TYPE_FOREST_FOX = 21;
static var TYPE_FOREST_RACOON = 22;
static var TYPE_FOREST_CROW = 23;
static var TYPE_FOREST_GREEN_BIRD = 24;
static var TYPE_FOREST_OWL = 25;
static var TYPE_FOREST_SKUNK = 26;
static var TYPE_FOREST_OWL_REVERSED = 28;
static var TYPE_FOREST_BEAR = 29;
static var TYPE_JUNGLE_GREEN_FISH = 40;
static var TYPE_JUNGLE_RED_BIRD = 41;
static var TYPE_JUNGLE_BEAVER = 42;
static var TYPE_JUNGLE_PARROT = 43;
static var TYPE_JUNGLE_MONKEY = 44;
static var TYPE_JUNGLE_SEA_BIRD = 45;
static var TYPE_JUNGLE_ALLIGATOR = 46;
static var TYPE_JUNGLE_PARROT_REVERSED = 48;
static var TYPE_WATER_BOOT = 60;
static var TYPE_WATER_CRAB = 61;
static var TYPE_WATER_FISH_0 = 62;
static var TYPE_WATER_FISH_1 = 63;
static var TYPE_WATER_SEAHORSE_RIGHT = 64;
static var TYPE_WATER_SHELL = 65;
static var TYPE_WATER_JELLYFISH = 66;
static var TYPE_WATER_STARFISH = 68;
static var TYPE_WATER_SEAHORSE_LEFT = 69;
static var TYPE_CITY_BEERCAN_0 = 80;
static var TYPE_CITY_BEERCAN_1 = 81;
static var TYPE_CITY_CAT = 82;
static var TYPE_CITY_COCKROACH = 83;
static var TYPE_CITY_DEAD_FISH = 84;
static var TYPE_CITY_DOG = 85;
static var TYPE_CITY_ZILLA = 86;
static var TYPE_CITY_DOVE = 88;
static var TYPE_CITY_PLASTIC_BAG = 89;
static var TYPE_CITY_RAT = 90;
static var TYPE_LALA_ABC = 100;
static var TYPE_LALA_EGGMAN = 101;
static var TYPE_LALA_GINGERBREAD_MAN = 102;
static var TYPE_LALA_MOON = 103;
static var TYPE_LALA_TEAPOT = 104;
static var TYPE_LALA_TURTLE = 105;
static var TYPE_LALA_ELEPHANT = 106;
static var TYPE_LALA_RABBIT = 108;
static var TYPE_LALA_SUN = 109;
static var SCORE_LOW = 125;
static var SCORE_MEDIUM = 200;
static var SCORE_HIGH = 350;
static var popupInfo = [[8, -65, 32, SCORE_LOW], [-4, 62, 20, SCORE_HIGH], [-6, -88, 20, SCORE_LOW], [2, -32, 22, SCORE_HIGH], [0, -86, 32, SCORE_MEDIUM], [-2, -46, 32, SCORE_MEDIUM], [-8, -54, 32, SCORE_LOW], [-8, -133, 24, SCORE_HIGH], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [-1, -92, 24, SCORE_LOW], [-9, -55, 24, SCORE_MEDIUM], [6, -25, 20, SCORE_MEDIUM], [6, -34, 16, SCORE_HIGH], [-1, 65, 20, SCORE_HIGH], [-28, -64, 28, SCORE_MEDIUM], [0, -23, 20, SCORE_LOW], [0, -133, 24, SCORE_HIGH], [28, -64, 28, SCORE_MEDIUM], [20, -64, 28, SCORE_LOW], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [-5, -94, 20, SCORE_LOW], [-4, -40, 28, SCORE_MEDIUM], [0, -46, 32, SCORE_MEDIUM], [17, -83, 24, SCORE_MEDIUM], [-2, 97, 18, SCORE_HIGH], [-3, -32, 28, SCORE_MEDIUM], [12, -60, 28, SCORE_LOW], [0, -133, 24, SCORE_HIGH], [-17, -83, 24, SCORE_MEDIUM], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [-30, 40, 24, SCORE_HIGH], [1, -42, 24, SCORE_MEDIUM], [-6, -73, 40, SCORE_MEDIUM], [-3, -45, 32, SCORE_LOW], [2, -87, 28, SCORE_MEDIUM], [6, -53, 32, SCORE_LOW], [0, 77, 62, SCORE_LOW], [0, 46, 24, SCORE_HIGH], [0, -78, 26, SCORE_MEDIUM], [-3, -91, 28, SCORE_MEDIUM], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, -58, 30, SCORE_MEDIUM], [0, -58, 30, SCORE_MEDIUM], [-5, -40, 24, SCORE_MEDIUM], [-1, 5, 24, SCORE_HIGH], [0, -85, 32, SCORE_MEDIUM], [-7, -46, 30, SCORE_LOW], [-5, -85, 30, SCORE_LOW], [-12, -167, 24, SCORE_HIGH], [3, -37, 30, SCORE_LOW], [8, 72, 30, SCORE_HIGH], [-1, -38, 24, SCORE_MEDIUM], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [-13, -114, 24, SCORE_MEDIUM], [0, -38, 40, SCORE_LOW], [0, -35, 24, SCORE_MEDIUM], [0, -88, 24, SCORE_HIGH], [5, -70, 36, SCORE_MEDIUM], [2, -32, 32, SCORE_LOW], [17, 107, 40, SCORE_MEDIUM], [-55, 108, 24, SCORE_HIGH], [0, -35, 20, SCORE_MEDIUM], [0, 114, 20, SCORE_HIGH], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]];
static var lastMultiplier = 0;
}
Symbol 1212 MovieClip [__Packages.com.midasplayer.carnivalshootout.SoundHolder] Frame 0
class com.midasplayer.carnivalshootout.SoundHolder
{
static var globalSound;
var soundMc, sound;
function SoundHolder (ownerMc, soundName) {
var _local2 = ownerMc.getNextHighestDepth();
soundMc = ownerMc.createEmptyMovieClip("soundMcc" + _local2, _local2);
sound = new Sound(soundMc);
sound.attachSound(soundName);
}
static function get(resourceName) {
var _local2 = soundMap[resourceName];
if ((_local2 == undefined) || (_local2 == null)) {
_local2 = new com.midasplayer.carnivalshootout.SoundHolder(_root, resourceName);
soundMap[resourceName] = _local2;
}
return(_local2);
}
static function toggleSound() {
if (globalSound == undefined) {
globalSound = new Sound(_root);
}
soundOn = !soundOn;
globalSound.setVolume((soundOn ? 100 : 0));
}
function setVolume(volume) {
sound.setVolume(volume);
}
function playLooping() {
sound.start(0, 9999999);
}
function stopAndPlayOffs(offs) {
sound.stop();
sound.start(offs, 0);
}
function stopAndPlay() {
sound.stop();
sound.start(0);
}
function playOffs(offs) {
sound.start(offs, 0);
}
function play() {
sound.start(0);
}
function stop() {
sound.stop();
}
static var soundMap = new Object();
static var soundOn = true;
}
Symbol 1213 MovieClip [__Packages.com.midasplayer.timing.Performance] Frame 0
class com.midasplayer.timing.Performance
{
var idealFps, measurePeriod, minPeriodFps, listeners, startAt, period, nextFpsUpdate, totalFps, fpsCount, lastFpsCount, periodFps, updates;
function Performance (idealFps) {
this.idealFps = idealFps;
measurePeriod = 5;
minPeriodFps = (idealFps / 2) * measurePeriod;
listeners = [];
begin();
}
function begin() {
startAt = -1;
period = -1;
nextFpsUpdate = getTimer();
totalFps = 0;
fpsCount = 0;
lastFpsCount = -1;
periodFps = 0;
updates = 0;
}
function frameUpdated() {
fpsCount++;
var _local3 = getTimer();
if (startAt < 0) {
startAt = _local3;
}
if (_local3 > nextFpsUpdate) {
if (updates > 0) {
lastFpsCount = fpsCount;
totalFps = totalFps + fpsCount;
}
periodFps = periodFps + fpsCount;
if ((++period) == measurePeriod) {
if (periodFps < minPeriodFps) {
for (var _local2 in listeners) {
listeners[_local2](periodFps / measurePeriod);
}
}
period = 0;
periodFps = 0;
}
nextFpsUpdate = _local3 + 1000;
fpsCount = 0;
updates++;
}
}
function addQualityFeedbackListener(fn) {
listeners.push(fn);
}
function setFpsThreshold(minPeriodFps, measurePeriod) {
this.minPeriodFps = minPeriodFps * measurePeriod;
this.measurePeriod = measurePeriod;
}
function get fps() {
return(lastFpsCount);
}
function get averageFps() {
return(totalFps / ((getTimer() - startAt) / 1000));
}
}
Symbol 1214 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 1215 MovieClip [__Packages.com.midasplayer.carnivalshootout.Popup] Frame 0
class com.midasplayer.carnivalshootout.Popup extends MovieClip
{
var id, type, gotoAndStop, bonusHit, hasFlag, goldFlag, flag, time, pos, deadAnim, shot, clipContainer, deadTime, age, spinSpeed, _xmouse, _xscale, _yscale, offset, _x, _y, _rotation;
function Popup () {
super();
}
function setType(_id, _type) {
id = _id;
type = _type;
gotoAndStop((type * 2) + 1);
bonusHit = false;
}
function setFlag(hasFlag, goldFlag) {
this.hasFlag = hasFlag;
this.goldFlag = goldFlag;
if (goldFlag) {
flag.gotoAndStop(2);
}
if (!hasFlag) {
flag._xscale = 0;
flag._yscale = 0;
}
}
function init(newClipContainer) {
time = 0;
pos = new Object();
deadAnim = new com.midasplayer.timing.IFloat();
shot = false;
clipContainer = newClipContainer;
deadTime = 0;
age = 0;
}
function tick(tick) {
if (shot) {
deadTime++;
}
deadAnim.set(deadTime);
age++;
if (!shot) {
if (pos.x < -150) {
shot = true;
}
if (pos.x > 800) {
shot = true;
}
if (pos.rot > 90) {
shot = true;
}
if (shot) {
deadTime = 1000;
}
}
}
function isAlive() {
return((!shot) || (deadTime < 15));
}
function isShootable() {
return(!shot);
}
function shoot() {
shot = true;
spinSpeed = (Math.abs(_xmouse) / 100) + 0.05;
}
function render(tick, alpha) {
_xscale = Math.cos(314 / ((deadAnim.get(alpha) * spinSpeed) + 10)) * 100;
if (_xscale < 0) {
gotoAndStop((type * 2) + 2);
} else {
gotoAndStop((type * 2) + 1);
}
_yscale = Math.cos((deadAnim.get(alpha) * Math.PI) / 30) * 100;
time = age + alpha;
com.midasplayer.carnivalshootout.AnimalRules.setPos(type, time, pos, offset);
_x = pos.x;
_y = pos.y;
_rotation = pos.rot;
}
function getScore(x, y, alpha) {
return(com.midasplayer.carnivalshootout.AnimalRules.getScore(type, time, x, y, offset, hasFlag && (!goldFlag)));
}
function getLastMultiplier() {
return(com.midasplayer.carnivalshootout.AnimalRules.lastMultiplier);
}
}