Frame 1
function MattelGameAPICall(func, data) {
sendSwf_lc.send("MattelGameAPIConnection_" + phprandid, "MattelGameAPICall", func, data, gid);
trace(" AS1/AS2 game random id : " + phprandid);
trace(" AS1/AS2 game func : " + func);
trace(" AS1/AS2 game data : " + data);
trace(" AS1/AS2 game gid : " + gid);
}
function loadTest() {
loadedBytes = getBytesLoaded();
totalBytes = getBytesTotal();
preloader_mc.bar._xscale = (loadedBytes / totalBytes) * 100;
trace((loadedBytes / totalBytes) * 100);
if (loadedBytes >= totalBytes) {
_root.MattelGameAPICall("game_loaded", "");
gotoAndPlay ("game");
clearInterval(loadInt);
}
}
preloader_mc.preloadBar._xscale = 0;
sendSwf_lc = new LocalConnection();
gid = gameid;
phprandid = randid;
_root.MattelGameAPICall("game_ping", "");
var loadInt = setInterval(loadTest, 50);
stop();
Frame 3
var game1 = new SpinCity(this, difficulty);
_root.MattelGameAPICall("game_play", "difficulty=");
trace("frame 3");
this.onEnterFrame = function () {
game1.Run();
mousex = _xmouse;
mousey = _ymouse;
};
stop();
Symbol 20 MovieClip Frame 1
stop();
Symbol 21 MovieClip Frame 1
stop();
Symbol 21 MovieClip Frame 2
stop();
Symbol 29 MovieClip Frame 1
stop();
Symbol 29 MovieClip Frame 7
stop();
Symbol 33 MovieClip Frame 1
stop();
Symbol 33 MovieClip Frame 5
stop();
Symbol 33 MovieClip Frame 10
stop();
Symbol 35 MovieClip Frame 1
stop();
Symbol 35 MovieClip Frame 5
stop();
Symbol 35 MovieClip Frame 10
stop();
Symbol 37 MovieClip Frame 1
stop();
Symbol 37 MovieClip Frame 6
stop();
Symbol 37 MovieClip Frame 11
stop();
Symbol 37 MovieClip Frame 16
stop();
Symbol 46 MovieClip Frame 1
stop();
Symbol 47 MovieClip Frame 1
stop();
Symbol 47 MovieClip Frame 2
stop();
Symbol 56 MovieClip Frame 1
stop();
Symbol 57 MovieClip Frame 1
stop();
Symbol 57 MovieClip Frame 2
stop();
Symbol 69 MovieClip Frame 1
stop();
Symbol 70 MovieClip Frame 1
stop();
Symbol 70 MovieClip Frame 2
stop();
Symbol 79 MovieClip Frame 1
stop();
Symbol 80 MovieClip Frame 1
stop();
Symbol 80 MovieClip Frame 2
stop();
Symbol 89 MovieClip Frame 1
stop();
Symbol 90 MovieClip Frame 1
stop();
Symbol 90 MovieClip Frame 2
stop();
Symbol 101 MovieClip Frame 1
stop();
Symbol 102 MovieClip Frame 1
stop();
Symbol 102 MovieClip Frame 2
stop();
Symbol 103 MovieClip [FLevelBuilding] Frame 1
#initclip 32
Object.registerClass("FLevelBuilding", LevelBuilding);
#endinitclip
stop();
Symbol 103 MovieClip [FLevelBuilding] Frame 2
stop();
Symbol 103 MovieClip [FLevelBuilding] Frame 3
stop();
Symbol 103 MovieClip [FLevelBuilding] Frame 4
stop();
Symbol 103 MovieClip [FLevelBuilding] Frame 5
stop();
Symbol 103 MovieClip [FLevelBuilding] Frame 6
stop();
Symbol 103 MovieClip [FLevelBuilding] Frame 7
stop();
Symbol 726 MovieClip [__Packages.LevelBuilding] Frame 0
class LevelBuilding extends MovieClip
{
var resource, parent;
function LevelBuilding () {
super();
priceToPay = 0;
resource = 0;
}
function setPriceToPay(num) {
priceToPay = num;
}
function getPriceToPay() {
return(priceToPay);
}
function setResourceType(res) {
resource = res;
}
function getResourceType() {
return(resource);
}
function setParent(par) {
parent = par;
}
function getParent() {
return(parent);
}
var priceToPay = 0;
}
Symbol 727 MovieClip [__Packages.ComponentBase] Frame 0
class ComponentBase extends MovieClip
{
var removeMovieClip, _x, _y;
function ComponentBase () {
super();
mx.events.EventDispatcher.initialize(this);
}
function Destroy() {
removeMovieClip();
}
function SetLocation(x, y) {
_x = x;
_y = y;
}
function addEventListener() {
}
function removeEventListener() {
}
function dispatchEvent() {
}
}
Symbol 728 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
if (queue != undefined) {
var _local4 = queue.length;
var _local1;
_local1 = 0;
while (_local1 < _local4) {
var _local2 = queue[_local1];
if (_local2 == handler) {
queue.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
}
static function initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local7 = "__q_" + eventObj.type;
var _local4 = queueObj[_local7];
if (_local4 != undefined) {
var _local5;
for (_local5 in _local4) {
var _local1 = _local4[_local5];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "movieclip")) {
if (_local1.handleEvent != undefined) {
_local1.handleEvent(eventObj);
}
if (_local1[eventObj.type] != undefined) {
if (exceptions[eventObj.type] == undefined) {
_local1[eventObj.type](eventObj);
}
}
} else {
_local1.apply(queueObj, [eventObj]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
static var _fEventDispatcher = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 729 MovieClip [__Packages.FlyingRep] Frame 0
class FlyingRep extends ComponentBase
{
var finalX, finalY, xunits, yunits, messageText, parent, addEventListener, finalValue, dispatchEvent, removeMovieClip, _x, _y, gotoAndStop, _rotation;
function FlyingRep () {
super();
movedFrames = 0;
finalX = 0;
finalY = 0;
xunits = 0;
yunits = 0;
moving = false;
left = false;
right = false;
up = false;
down = false;
doSpin = false;
degrees = 0;
messageText = "";
}
function setParent(clp) {
parent = clp;
addEventListener(eventThrown, parent);
}
function Terminate() {
trace("Terminate-finalValue:" + finalValue);
dispatchEvent({type:"EventFlyingRepArrival", finalValue:finalValue});
removeMovieClip();
}
function setLocation(x, y) {
_x = x;
_y = y;
}
function setFinalLocation(x, y) {
finalX = x;
finalY = y;
}
function getX() {
return(_x);
}
function getY() {
return(_y);
}
function setDoSpin(tf, deg) {
doSpin = tf;
degrees = deg;
}
function setMessageText(msg) {
messageText = msg;
}
function setColor(clr) {
switch (clr) {
case COLOR_RED :
gotoAndStop("red");
break;
case COLOR_GREEN :
gotoAndStop("green");
break;
default :
gotoAndStop("green");
}
}
function startMoving(fv) {
finalValue = fv;
trace((((((("startx:" + _x) + " starty") + _y) + "finalX:") + finalX) + " finalY:") + finalY);
if (finalX > _x) {
right = true;
xunits = (finalX - _x) / MOVEFRAMES;
trace("Right=true: xunits=" + xunits);
} else {
left = true;
xunits = (_x - finalX) / MOVEFRAMES;
trace("Left=true: xunits=" + xunits);
}
if (finalY > _y) {
down = true;
yunits = (finalY - _y) / MOVEFRAMES;
trace("down=true: yunits=" + yunits);
} else {
up = true;
yunits = (_y - finalY) / MOVEFRAMES;
trace("up=true: yunits=" + yunits);
}
moving = true;
}
function onEnterFrame() {
if (moving) {
movedFrames++;
if (up) {
_y = _y - yunits;
} else {
_y = _y + yunits;
}
if (right) {
_x = _x + xunits;
} else {
_x = _x - xunits;
}
if (doSpin) {
_rotation = _rotation + degrees;
}
if (movedFrames >= MOVEFRAMES) {
Terminate();
}
}
}
var moving = false;
var MOVEFRAMES = 40;
var movedFrames = 0;
var right = false;
var left = false;
var up = false;
var down = false;
var doSpin = false;
var degrees = 0;
static var COLOR_RED = 10;
static var COLOR_GREEN = 20;
var eventThrown = "EventFlyingRepArrival";
}
Symbol 730 MovieClip [__Packages.CarManager] Frame 0
class CarManager extends ComponentBase
{
var spiralPath, circlePath, parentTL, gameManager, lanes, difficulty, soundMgr, cars, availableResources, resourceLottery, rlist, carManager, dispatchEvent;
function CarManager () {
super();
}
function Init(par, dmin1, dmax1, dmin2, dmax2, dmin3, dmax3, ramp0, ramp1, ramp2, ramp3, gm, rpath, cpath) {
spiralPath = rpath;
circlePath = cpath;
parentTL = par;
DEPTHMIN1 = dmin1;
DEPTHMAX1 = dmax1;
DEPTHMIN2 = dmin2;
DEPTHMAX2 = dmax2;
DEPTHMIN3 = dmin3;
DEPTHMAX3 = dmax3;
RAMP0_DEPTH = ramp0;
RAMP1_DEPTH = ramp1;
RAMP2_DEPTH = ramp2;
RAMP3_DEPTH = ramp3;
carArrivalIntervalSecs = 0;
gameManager = gm;
Mouse.addListener(this);
lanes = new Array();
var _local2 = new Lane(275, 31, 4);
lanes.push(_local2);
_local2 = new Lane(305, 31, 4);
lanes.push(_local2);
ramp0 = parentTL.attachMovie("FRamp0", "framp0", RAMP0_DEPTH);
ramp0._x = 228;
ramp0._y = 115;
ramp1 = parentTL.attachMovie("FRamp1", "framp1", RAMP1_DEPTH);
ramp1._x = 258;
ramp1._y = 0;
ramp2 = parentTL.attachMovie("FRamp2", "framp2", RAMP2_DEPTH);
ramp2._x = 134;
ramp2._y = 70;
ramp3 = parentTL.attachMovie("FRamp3", "framp3", RAMP3_DEPTH);
ramp3._x = 98;
ramp3._y = 0;
GAME_PAUSED = false;
}
function newGame(diff) {
difficulty = diff;
}
function setSoundManager(sm) {
soundMgr = sm;
}
function startLevel(lev, ar, rl) {
level = lev;
cars = new Array();
depthCount1 = 0;
depthCount2 = 0;
depthCount3 = 0;
carsthislevel = 0;
availableResources = ar;
resourceLottery = rl;
carArrivalIntervalSecs = gameManager.CUSTOMER_ARRIVAL_INTERVAL - ((gameManager.CUSTOMER_ARRIVAL_LEVEL_MODIFIER * level) - 1);
if (carArrivalIntervalSecs < gameManager.CUSTOMER_ARRIVAL_LOW_LIMIT) {
carArrivalIntervalSecs = gameManager.CUSTOMER_ARRIVAL_LOW_LIMIT;
}
clearLanes();
}
function setGAME_PAUSED(bol) {
GAME_PAUSED = bol;
}
function clearLanes() {
var _local2 = 0;
while (_local2 < lanes.length) {
lanes[_local2].removeAllCars();
_local2++;
}
}
function clearCars() {
var _local2 = cars.length;
while (_local2 >= 0) {
cars[_local2].removeMovieClip();
cars.splice(_local2, 1);
_local2--;
}
rlist.removeMovieClip();
}
function onCarClicked() {
carManager.carClicked(this);
}
function onCarRollOver() {
carManager.showResourceList(this);
}
function onCarRollOut() {
carManager.hideResourceList(this);
}
function showResourceList(rcar) {
if (!GAME_PAUSED) {
rlist = parentTL.attachMovie("FResourceList", "rlist1", 100001);
rlist._x = rcar._x - 25;
rlist._y = rcar._y;
rlist.setNeeds(rcar.getNeeds());
rlist.setCar(rcar);
rlist.setCarManager(this);
var _local4 = 0;
var _local3 = 0;
switch (rcar.anger) {
case Car.ANGER_GREEN :
_local3 = ResourceList.BILL_GREEN;
_local4 = Math.ceil(rcar.getBill() * gameManager.ANGER_GREEN_BILL_VALUE);
break;
case Car.ANGER_NORMAL :
_local3 = ResourceList.BILL_NORMAL;
_local4 = rcar.getBill();
break;
case Car.ANGER_YELLOW :
_local3 = ResourceList.BILL_YELLOW;
_local4 = Math.ceil(rcar.getBill() * gameManager.ANGER_YELLOW_BILL_VALUE);
break;
case Car.ANGER_RED :
_local3 = ResourceList.BILL_RED;
_local4 = Math.ceil(rcar.getBill() * gameManager.ANGER_RED_BILL_VALUE);
break;
default :
_local3 = ResourceList.BILL_NORMAL;
_local4 = rcar.getBill();
}
rlist.setBill(_local4, _local3);
}
}
function hideResourceList(rcar) {
if (!GAME_PAUSED) {
rlist.removeMovieClip();
}
}
function carClicked(clickedCar) {
if (!GAME_PAUSED) {
if ((clickedCar.getWaitingInLine() && (clickedCar.getWaitingPosition() == 1)) || ((!clickedCar.getWaitingInLine()) && (clickedCar.getCarMode() == Car.MODE_STOPPED))) {
var _local2 = 0;
while (_local2 < cars.length) {
if (cars[_local2] == clickedCar) {
cars[_local2].setCarSelected(true);
} else {
cars[_local2].setCarSelected(false);
}
_local2++;
}
}
}
}
function EventClickedBuilding(e) {
if (!GAME_PAUSED) {
moveCar(e.bldg, e.xp, e.yp);
}
}
function moveCar(bldg, xp, yp) {
trace((("MoveCar:" + xp) + ",") + yp);
var _local2 = 0;
while (_local2 < cars.length) {
var _local3 = bldg.getBuildingResource();
if (cars[_local2].getCarSelected()) {
if ((_local3.getResourceType() != Resource.TYPE_PAY) || ((_local3.getResourceType() == Resource.TYPE_PAY) && (cars[_local2].hasNeed(Resource.TYPE_PAY)))) {
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("Engine", 100, 1, 0, false, 0);
}
cars[_local2].setCarSelected(false);
if (_local3.getResourceType() != Resource.TYPE_PAY) {
bldg.setCarEnRoute(cars[_local2]);
}
if (cars[_local2].onRamp) {
cars[_local2].moveCarDownSpiralToBuilding(bldg, xp, yp);
} else if (cars[_local2].onBuilding) {
cars[_local2].moveCarBackOnToCircleFromBuilding(bldg, xp, yp);
dispatchEvent({type:"EventCheckFinishedCarMove", car:cars[_local2]});
} else if (cars[_local2].onRamp) {
cars[_local2].moveCarToBuilding(bldg, xp, yp);
}
if (cars[_local2].getWaitingInLine()) {
updateLanes(cars[_local2]);
}
} else {
trace("dispatching 'Car Not Ready Event'");
dispatchEvent({type:"EventShowMessage", msg:"Customer Not Ready To Pay"});
}
}
_local2++;
}
}
function getNextDepth1() {
depthCount1++;
if ((depthCount1 + DEPTHMIN1) > DEPTHMAX1) {
depthCount1 = 0;
}
return(depthCount1 + DEPTHMIN1);
}
function getNextDepth2() {
depthCount2++;
if ((depthCount2 + DEPTHMIN2) > DEPTHMAX2) {
depthCount2 = 0;
}
return(depthCount2 + DEPTHMIN2);
}
function getNextDepth3() {
depthCount3++;
if ((depthCount3 + DEPTHMIN3) > DEPTHMAX3) {
depthCount3 = 0;
}
return(depthCount3 + DEPTHMIN3);
}
function findOpenLane() {
var _local4 = null;
var _local3 = 100;
var _local2 = 0;
while (_local2 < lanes.length) {
if (lanes[_local2].getCarCount() < _local3) {
if (lanes[_local2].getCarCount() < lanes[_local2].getMaxCars()) {
_local4 = lanes[_local2];
_local3 = lanes[_local2].getCarCount();
}
}
_local2++;
}
return(_local4);
}
function updateLanes(movedCar) {
var _local1 = null;
movedCar.setWaitingInLine(false);
_local1 = movedCar.getWaitingLane();
_local1.removeCar(movedCar);
_local1.moveCarsUpInLine();
}
function createCar() {
var _local7 = null;
_local7 = findOpenLane();
var _local15 = _local7.getCarCount();
if (_local7 == null) {
dispatchEvent({type:"EventCarTurnedAway"});
carsthislevel++;
} else {
var _local2;
var _local13 = getNextDepth1();
_local2 = parentTL.attachMovie("FCar", "car" + _local13, _local13);
_local2.init(_local7.getLaneX(), 0, this, gameManager, spiralPath, circlePath);
_local2.setSoundManager(soundMgr);
_local2.setWaitingInLine(true);
var _local11 = (_local7.getMaxCars() - _local15) * _local7.getLaneYMultiplier();
var _local12 = _local7.getLaneX();
trace((("New Girl starts at:" + _local12) + ",") + _local11);
_local2.onRamp = true;
_local7.addCar(_local2);
_local2.setWaitingPosition(_local7.getCarCount());
_local2.setWaitingLane(_local7);
Mouse.addListener(_local2);
_local2.onRelease = onCarClicked;
_local2.onRollOver = onCarRollOver;
_local2.onRollOut = onCarRollOut;
_local2.addDepth(getNextDepth2());
_local2.addDepth(getNextDepth3());
_local2.moveCarToPoint(_local12, _local11);
_local2.addEventListener("EventAngryDriver", this);
_local2.addEventListener("EventAngryDriver2", this);
_local2.addEventListener("EventHappyDriver", this);
var _local10 = false;
var _local14 = Math.floor(Math.random() * 100) + 1;
if (_local14 < (((level - 1) * gameManager.CUSTOMER_MULTIPLE_NEEDS_CHANCE_LEVEL_MODIFIER) + gameManager.CUSTOMER_MULTIPLE_NEEDS_CHANCE_BASE)) {
_local10 = true;
}
if (_local10) {
var _local9 = 0;
_local9 = gameManager.CUSTOMER_MAX_NEEDS_BASE + Math.floor(level / gameManager.CUSTOMER_MAX_NEEDS_LEVEL_INCREMENT_TRIGGER);
if (_local9 > availableResources.length) {
_local9 = availableResources.length;
}
var _local8 = Math.floor((Math.random() * _local9) + 1);
} else {
var _local8 = 1;
}
var _local6 = 0;
while (_local6 < _local8) {
var _local5 = false;
var _local3;
while (!_local5) {
var _local4 = Math.floor(Math.random() * resourceLottery.length);
_local3 = resourceLottery[_local4];
if (!_local2.hasNeed(_local3.getResourceType())) {
_local2.addNeed(_local3.getResourceType());
_local5 = true;
}
}
_local6++;
}
cars.push(_local2);
carsthislevel++;
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("Arrival", 25, 1, 0, false, 0);
} else {
soundMgr.playSound("Arrival_ff", 25, 1, 0, false, 0);
}
}
}
function checkAvailableResources(need) {
var _local4 = false;
var _local3;
var _local2 = 0;
while (_local2 < availableResources.length) {
_local3 = availableResources[_local2];
if (_local3.getResourceType() == need) {
_local4 = true;
}
_local2++;
}
return(_local4);
}
function updateCars() {
var _local2 = 0;
while (_local2 < cars.length) {
cars[_local2].update();
_local2++;
}
}
function moveCars() {
var _local2 = 0;
while (_local2 < cars.length) {
cars[_local2].render();
_local2++;
}
}
function checkArrivals() {
var _local2 = 0;
while (_local2 < cars.length) {
if (cars[_local2].hasDestination() && (cars[_local2].getCarMode() == Car.MODE_STOPPED)) {
cars[_local2].checkArrival();
}
_local2++;
}
}
function checkForFinishedCars() {
var _local3;
var _local2 = 0;
while (_local2 < cars.length) {
_local3 = cars[_local2].getNeeds();
if (_local3.length <= 0) {
dispatchEvent({type:"EventCarPayBill", bill:cars[_local2].getBill(), startX:cars[_local2]._x, startY:cars[_local2]._y, anger:cars[_local2].anger});
cars[_local2].setForDelete();
}
_local2++;
}
var _local9 = cars.length;
_local2 = _local9 - 1;
while (_local2 >= 0) {
if (cars[_local2].getForDelete()) {
cars[_local2].removeMovieClip();
cars.splice(_local2, 1);
}
_local2--;
}
}
function Run(elapsedSecs) {
if (carsthislevel == 0) {
createCar();
} else if (Math.ceil(elapsedSecs / carArrivalIntervalSecs) > carsthislevel) {
createCar();
}
updateCars();
moveCars();
checkArrivals();
checkForFinishedCars();
}
function EventAngryDriver(e) {
dispatchEvent({type:"EventAngryDriver", car:e.car});
}
function EventAngryDriver2(e) {
dispatchEvent({type:"EventAngryDriver2", car:e.car});
}
function EventHappyDriver(e) {
dispatchEvent({type:"EventHappyDriver", car:e.car});
}
var level = 0;
var DEPTHMIN1 = 0;
var DEPTHMAX1 = 0;
var DEPTHMIN2 = 0;
var DEPTHMAX2 = 0;
var DEPTHMIN3 = 0;
var DEPTHMAX3 = 0;
var RAMP0_DEPTH = 0;
var RAMP1_DEPTH = 0;
var RAMP2_DEPTH = 0;
var RAMP3_DEPTH = 0;
var depthCount1 = 0;
var depthCount2 = 0;
var depthCount3 = 0;
var carArrivalIntervalSecs = 0;
var carsthislevel = 0;
var CAR_START_Y = 0;
var GAME_PAUSED = false;
}
Symbol 731 MovieClip [__Packages.SpinCity] Frame 0
class SpinCity
{
var parentTL, soundMgr, titlescreen, fadescreen, scoreboard, buildingMan, levelscreen, endscreen, sendscreen, highscorescreen, instructionsscreen, bonusscreen, helpscreen, pausescreen, carMan, msgBox, flyingText, gameBack, difficultyscreen, soundClip;
function SpinCity (par) {
trace("constructor");
startLevel = 1;
parentTL = par;
GAMESTATE = STATE_INIT;
}
function setIsNaughtyURL(url) {
isNaughtyURL = url;
}
function getIsNaughtyURL() {
return(isNaughtyURL);
}
function setSendMailURL(url) {
sendMailURL = url;
}
function getSendMailURL() {
return(sendMailURL);
}
function setUserid(id) {
userid = id;
}
function getUserid() {
return(userid);
}
function setSiteid(id) {
siteid = id;
}
function getSiteid() {
return(siteid);
}
function setGameid(id) {
gameid = id;
}
function getGameid() {
return(gameid);
}
function setSitegameid(id) {
sitegameid = id;
}
function getSitegameid() {
return(sitegameid);
}
function playSoundTrack(id, vol) {
if (curSoundTrack != id) {
soundMgr.stopSound(curSoundTrack, true, 5);
soundMgr.playSound(id, vol, 9999, 0, true, 5);
curSoundTrack = id;
}
}
function Run() {
switch (GAMESTATE) {
case STATE_INIT :
fSTATE_INIT();
break;
case STATE_SHOW_TITLE_SCREEN :
fSTATE_SHOW_TITLE_SCREEN();
break;
case STATE_TITLE_SCREEN_WAIT :
fSTATE_TITLE_SCREEN_WAIT();
break;
case STATE_SHOW_SEND_SCREEN :
fSTATE_SHOW_SEND_SCREEN();
break;
case STATE_SEND_SCREEN_WAIT :
fSTATE_SEND_SCREEN_WAIT();
break;
case STATE_SHOW_HIGHSCORE_SCREEN :
fSTATE_SHOW_HIGHSCORE_SCREEN();
break;
case STATE_HIGHSCORE_SCREEN_WAIT :
fSTATE_HIGHSCORE_SCREEN_WAIT();
break;
case STATE_SHOW_DIFFICULTY_SCREEN :
fSTATE_SHOW_DIFFICULTY_SCREEN();
break;
case STATE_DIFFICULTY_SCREEN_WAIT :
fSTATE_DIFFICULTY_SCREEN_WAIT();
break;
case STATE_SHOW_INSTRUCTIONS_SCREEN :
fSTATE_SHOW_INSTRUCTIONS_SCREEN();
break;
case STATE_INSTRUCTIONS_SCREEN_WAIT :
fSTATE_INSTRUCTIONS_SCREEN_WAIT();
break;
case STATE_NEW_GAME :
fSTATE_NEW_GAME();
break;
case STATE_SHOW_LEVEL_SCREEN :
fSTATE_SHOW_LEVEL_SCREEN();
break;
case STATE_LEVEL_SCREEN_WAIT :
fSTATE_LEVEL_SCREEN_WAIT();
break;
case STATE_START_LEVEL :
fSTATE_START_LEVEL();
break;
case STATE_GAME :
fSTATE_GAME();
break;
case STATE_END_LEVEL :
fSTATE_END_LEVEL();
break;
case STATE_END_LEVEL_SCREEN_WAIT :
fSTATE_END_LEVEL_SCREEN_WAIT();
break;
case STATE_END_GAME :
fSTATE_END_GAME();
break;
case STATE_END_GAME_WAIT :
fSTATE_END_GAME_WAIT();
break;
case STATE_SHOW_PAUSE_SCREEN :
fSTATE_SHOW_PAUSE_SCREEN();
break;
case STATE_SHOW_HELP_SCREEN :
fSTATE_SHOW_HELP_SCREEN();
break;
case STATE_PAUSE_SCREEN_WAIT :
fSTATE_PAUSE_SCREEN_WAIT();
break;
case STATE_HELP_SCREEN_WAIT :
fSTATE_HELP_SCREEN_WAIT();
}
}
function fSTATE_INIT() {
titlescreen = parentTL.attachMovie("FTitleScreen", "titlescreen1", TITLE_SCREEN_DEPTH);
titlescreen.setGameManager(this);
titlescreen.addEventListener("EventTitleScreenClosed", this);
titlescreen.cacheAsBitmap = true;
titlescreen.Appear();
fadescreen = parentTL.attachMovie("FFadeScreen", "fadescreen1", FADE_SCREEN_DEPTH);
fadescreen.setGameManager(this);
soundMgr = parentTL.attachMovie("FSoundManager", "soundmanager" + SOUND_MANAGER_DEPTH, SOUND_MANAGER_DEPTH);
soundMgr.init(parentTL);
soundMgr._x = -100;
soundMgr._y = -100;
scoreboard = parentTL.attachMovie("FScoreBoard", "scrbrd", SCOREBOARD_DEPTH);
scoreboard.SetLocation(0, 0);
scoreboard.setSoundManager(soundMgr);
scoreboard.setMaxLevelSeconds(MAXLEVELSECONDS);
scoreboard.cacheAsBitmap = true;
scoreboard._visible = false;
scoreboard.addEventListener("EventHelpButton", this);
scoreboard.addEventListener("EventPauseButton", this);
buildingMan = new BuildingManager(parentTL, BUILDING_DEPTH_MIN, BUILDING_DEPTH_MAX, this);
buildingMan.setSoundManager(soundMgr);
buildingMan.addEventListener("EventShowMessage", this);
levelscreen = parentTL.attachMovie("FLevelScreen", "lvlscreen", LEVEL_SCREEN_DEPTH);
levelscreen.setBuildingManager(buildingMan);
levelscreen.setGameManager(this);
levelscreen.setScoreBoard(scoreboard);
levelscreen.setSoundManager(soundMgr);
levelscreen.cacheAsBitmap = true;
levelscreen.addEventListener("EventLevelScreenClosed", this);
endscreen = parentTL.attachMovie("FEndScreen", "endscreen1", END_SCREEN_DEPTH);
endscreen.setGameManager(this);
endscreen.setScoreBoard(scoreboard);
endscreen.cacheAsBitmap = true;
endscreen.addEventListener("EventEndScreenClosed", this);
endscreen.setSoundMgr(soundMgr);
sendscreen = parentTL.attachMovie("FSendScreen", "sendscreen1", SEND_SCREEN_DEPTH);
sendscreen.setGameManager(this);
sendscreen.addEventListener("EventSendScreenClosed", this);
sendscreen.cacheAsBitmap = true;
highscorescreen = parentTL.attachMovie("FHighScoreScreen", "highscorescreen1", HIGHSCORE_SCREEN_DEPTH);
highscorescreen.setGameManager(this);
highscorescreen.addEventListener("EventHighScoreScreenClosed", this);
highscorescreen.cacheAsBitmap = true;
instructionsscreen = parentTL.attachMovie("FInstructScreen", "instrcutionsscreen1", INSTRUCTIONS_SCREEN_DEPTH);
instructionsscreen.setGameManager(this);
instructionsscreen.addEventListener("EventInstructionsScreenClosed", this);
instructionsscreen.cacheAsBitmap = true;
bonusscreen = parentTL.attachMovie("FBonusScreen", "bonusscreen1", BONUS_SCREEN_DEPTH);
bonusscreen.setGameManager(this);
bonusscreen.setScoreBoard(scoreboard);
bonusscreen.setSoundManager(soundMgr);
bonusscreen.addEventListener("EventBonusScreenClosed", this);
bonusscreen.cacheAsBitmap = true;
helpscreen = parentTL.attachMovie("FHelpScreen", "helpscreen1", HELP_SCREEN_DEPTH);
helpscreen.setGameManager(this);
helpscreen.addEventListener("EventHelpScreenClosed", this);
helpscreen.cacheAsBitmap = true;
pausescreen = parentTL.attachMovie("FPauseScreen", "pausescreen1", PAUSE_SCREEN_DEPTH);
pausescreen.setGameManager(this);
pausescreen.addEventListener("EventPauseScreenClosed", this);
pausescreen.addEventListener("EventHotWheelsSounds", this);
pausescreen.cacheAsBitmap = true;
var _local3 = new Path();
_local3.addPoint(new PathPoint(298, 155, false, null, parentTL, getNextPathPointDepth(), 1));
_local3.addPoint(new PathPoint(255, 178, false, null, parentTL, getNextPathPointDepth(), 2));
_local3.addPoint(new PathPoint(250, 223, false, null, parentTL, getNextPathPointDepth(), 3));
_local3.addPoint(new PathPoint(276, 246, false, null, parentTL, getNextPathPointDepth(), 4));
_local3.addPoint(new PathPoint(323, 249, false, null, parentTL, getNextPathPointDepth(), 5));
_local3.addPoint(new PathPoint(364, 219, false, null, parentTL, getNextPathPointDepth(), 6));
_local3.addPoint(new PathPoint(364, 166, false, null, parentTL, getNextPathPointDepth(), 7));
_local3.addPoint(new PathPoint(346, 139, true, null, parentTL, getNextPathPointDepth(), 8));
_local3.addPoint(new PathPoint(291, 118, false, null, parentTL, getNextPathPointDepth(), 9));
_local3.addPoint(new PathPoint(243, 135, false, null, parentTL, getNextPathPointDepth(), 10));
_local3.addPoint(new PathPoint(219, 161, false, null, parentTL, getNextPathPointDepth(), 11));
_local3.addPoint(new PathPoint(209, 192, false, null, parentTL, getNextPathPointDepth(), 12));
_local3.addPoint(new PathPoint(203, 231, false, null, parentTL, getNextPathPointDepth(), 13));
var _local2 = new Path();
_local2.addPoint(new PathPoint(201, 277, false, buildingMan.getBuildingbyResource(Resource.TYPE_TOPS), parentTL, getNextPathPointDepth(), 1));
_local2.addPoint(new PathPoint(226, 290, false, null, parentTL, getNextPathPointDepth(), 2));
_local2.addPoint(new PathPoint(268, 305, false, buildingMan.getBuildingbyResource(Resource.TYPE_PAY), parentTL, getNextPathPointDepth(), 3));
_local2.addPoint(new PathPoint(310, 309, false, null, parentTL, getNextPathPointDepth(), 4));
_local2.addPoint(new PathPoint(349, 296, false, buildingMan.getBuildingbyResource(Resource.TYPE_SNACKS), parentTL, getNextPathPointDepth(), 5));
_local2.addPoint(new PathPoint(376, 277, false, null, parentTL, getNextPathPointDepth(), 6));
_local2.addPoint(new PathPoint(403, 249, false, buildingMan.getBuildingbyResource(Resource.TYPE_SHOES), parentTL, getNextPathPointDepth(), 7));
_local2.addPoint(new PathPoint(410, 212, false, null, parentTL, getNextPathPointDepth(), 8));
_local2.addPoint(new PathPoint(413, 179, false, buildingMan.getBuildingbyResource(Resource.TYPE_JEWELRY), parentTL, getNextPathPointDepth(), 9));
_local2.addPoint(new PathPoint(396, 139, false, null, parentTL, getNextPathPointDepth(), 10));
_local2.addPoint(new PathPoint(380, 112, false, buildingMan.getBuildingbyResource(Resource.TYPE_MUSIC), parentTL, getNextPathPointDepth(), 11));
_local2.addPoint(new PathPoint(351, 85, false, null, parentTL, getNextPathPointDepth(), 12));
_local2.addPoint(new PathPoint(318, 72, false, null, parentTL, getNextPathPointDepth(), 13));
_local2.addPoint(new PathPoint(281, 68, false, null, parentTL, getNextPathPointDepth(), 14));
_local2.addPoint(new PathPoint(239, 78, false, null, parentTL, getNextPathPointDepth(), 15));
_local2.addPoint(new PathPoint(205, 94, false, null, parentTL, getNextPathPointDepth(), 16));
_local2.addPoint(new PathPoint(183, 123, false, buildingMan.getBuildingbyResource(Resource.TYPE_BOTTOMS), parentTL, getNextPathPointDepth(), 17));
_local2.addPoint(new PathPoint(169, 148, false, null, parentTL, getNextPathPointDepth(), 18));
_local2.addPoint(new PathPoint(161, 178, false, null, parentTL, getNextPathPointDepth(), 19));
_local2.addPoint(new PathPoint(161, 207, false, buildingMan.getBuildingbyResource(Resource.TYPE_PURSES), parentTL, getNextPathPointDepth(), 20));
_local2.addPoint(new PathPoint(169, 240, false, null, parentTL, getNextPathPointDepth(), 21));
carMan = parentTL.attachMovie("FCarManager", "carman1", CAR_MANAGER_DEPTH);
carMan.Init(parentTL, CARS_DEPTH_MIN1, CARS_DEPTH_MAX1, CARS_DEPTH_MIN2, CARS_DEPTH_MAX2, CARS_DEPTH_MIN3, CARS_DEPTH_MAX3, RAMP0_DEPTH, RAMP1_DEPTH, RAMP2_DEPTH, RAMP3_DEPTH, this, _local3, _local2);
carMan.SetLocation(170, 195);
carMan.setSoundManager(soundMgr);
carMan.addEventListener("EventAngryDriver", this);
carMan.addEventListener("EventAngryDriver2", this);
carMan.addEventListener("EventHappyDriver", this);
carMan.addEventListener("EventCarPayBill", this);
carMan.addEventListener("EventShowMessage", this);
carMan.addEventListener("EventCarTurnedAway", this);
carMan.addEventListener("EventCheckFinishedCarMove", buildingMan);
buildingMan.addEventListener("EventClickedBuilding", carMan);
msgBox = parentTL.attachMovie("FMessageBox", "msgbox1", MESSAGEBOX_DEPTH);
msgBox.SetLocation(280, 340);
trace("msgBox=" + msgBox);
flyingText = new Array();
gameBack = parentTL.attachMovie("FGameBack", "gameback1", GAMEBACK_DEPTH);
gameBack.cacheAsBitmap = true;
gameBack._visible = false;
soundMgr.stopSounds();
GAMESTATE = STATE_SHOW_TITLE_SCREEN;
pathpoints = 0;
}
function fSTATE_SHOW_TITLE_SCREEN() {
trace("Show title screen");
playSoundTrack("soundtrack_title", 50);
titlescreen.Appear();
fadescreen.Appear();
GAMESTATE = STATE_TITLE_SCREEN_WAIT;
}
function fSTATE_TITLE_SCREEN_WAIT() {
titlescreen.Run();
}
function EventTitleScreenClosed(e) {
trace("title screen:callback");
if (SPINCITY_AUDIO) {
soundMgr.playSound("Beep2", 100, 1, 0, false, 0);
}
var _local2 = titlescreen.getTitleMode();
switch (_local2) {
case TitleScreen.TITLE_MODE_PLAY :
trace("title mode: play");
GAMESTATE = STATE_SHOW_DIFFICULTY_SCREEN;
break;
case TitleScreen.TITLE_MODE_SENDTOAFRIEND :
trace("title mode: send");
GAMESTATE = STATE_SHOW_SEND_SCREEN;
break;
case TitleScreen.TITLE_MODE_HIGHSCORE :
trace("title mode: highscore");
GAMESTATE = STATE_SHOW_HIGHSCORE_SCREEN;
}
}
function fSTATE_SHOW_SEND_SCREEN() {
trace("Show send");
sendscreen.Appear();
GAMESTATE = STATE_SEND_SCREEN_WAIT;
}
function fSTATE_SEND_SCREEN_WAIT() {
sendscreen.Run();
}
function EventSendScreenClosed(e) {
if (SPINCITY_AUDIO) {
soundMgr.playSound("Beep2", 100, 1, 0, false, 0);
} else {
soundMgr.playSound("Beep_ff", 100, 1, 0, false, 0);
}
GAMESTATE = STATE_INIT;
}
function fSTATE_SHOW_HIGHSCORE_SCREEN() {
trace("Show high score");
highscorescreen.Appear();
GAMESTATE = STATE_HIGHSCORE_SCREEN_WAIT;
}
function fSTATE_HIGHSCORE_SCREEN_WAIT() {
highscorescreen.Run();
}
function EventHighScoreScreenClosed(e) {
if (SPINCITY_AUDIO) {
soundMgr.playSound("Beep2", 100, 1, 0, false, 0);
} else {
soundMgr.playSound("Beep_ff", 100, 1, 0, false, 0);
}
trace("high score closed show title screen");
GAMESTATE = STATE_INIT;
}
function fSTATE_SHOW_DIFFICULTY_SCREEN() {
trace("Show difficulty screen");
difficultyscreen.Appear();
difficulty = ScoreBoard.DIFFICULTY_EASY;
GAMESTATE = STATE_SHOW_INSTRUCTIONS_SCREEN;
}
function fSTATE_DIFFICULTY_SCREEN_WAIT() {
difficultyscreen.Run();
}
function EventDifficultyChosen(e) {
if (SPINCITY_AUDIO) {
soundMgr.playSound("Beep2", 100, 1, 0, false, 0);
} else {
soundMgr.playSound("Beep_ff", 100, 1, 0, false, 0);
}
trace("dificulty screen:callback:" + e.diff);
difficulty = e.diff;
GAMESTATE = STATE_SHOW_INSTRUCTIONS_SCREEN;
}
function fSTATE_SHOW_INSTRUCTIONS_SCREEN() {
trace("Show instructionsscreen");
instructionsscreen.Appear();
GAMESTATE = STATE_INSTRUCTIONS_SCREEN_WAIT;
}
function fSTATE_INSTRUCTIONS_SCREEN_WAIT() {
instructionsscreen.Run();
}
function EventInstructionsScreenClosed(e) {
if (SPINCITY_AUDIO) {
soundMgr.playSound("Beep2", 100, 1, 0, false, 0);
} else {
soundMgr.playSound("Beep_ff", 100, 1, 0, false, 0);
}
trace("instruction screen:callback");
fadescreen.Disappear();
GAMESTATE = STATE_NEW_GAME;
}
function fSTATE_NEW_GAME() {
gameBack._visible = true;
buildingMan.newGame(difficulty);
carMan.newGame(difficulty);
scoreboard._visible = true;
scoreboard.Reset();
scoreboard.setDifficulty(difficulty);
scoreboard.setStartLevel(startLevel - 1);
GAMESTATE = STATE_START_LEVEL;
}
function fSTATE_SHOW_LEVEL_SCREEN() {
scoreboard.nextLevel();
levelscreen.Appear();
playSoundTrack("soundtrack_menu", 50);
GAMESTATE = STATE_LEVEL_SCREEN_WAIT;
}
function fSTATE_LEVEL_SCREEN_WAIT() {
levelscreen.Run();
}
function EventLevelScreenClosed(e) {
fadescreen.Disappear();
GAMESTATE = STATE_START_LEVEL;
}
function fSTATE_START_LEVEL() {
var _local2 = 0;
_local2 = scoreboard.getLevel();
scoreboard.TimeReset();
buildingMan.startLevel(_local2);
carMan.startLevel(_local2, buildingMan.getResourceList(), buildingMan.getResourceLottery());
playSoundTrack("soundtrack_play", 25);
GAMESTATE = STATE_GAME;
}
function fSTATE_GAME() {
var _local2 = scoreboard.Run();
carMan.Run(_local2);
buildingMan.Run(_local2);
msgBox.Run();
if (scoreboard.getTimeUp()) {
GAMESTATE = STATE_END_LEVEL;
}
if (scoreboard.getReputation() <= 0) {
GAMESTATE = STATE_END_GAME;
}
}
function fSTATE_END_LEVEL() {
soundMgr.stopSounds();
soundMgr.playSound("ff_closing", 100, 1, 0, false, 0);
playSoundTrack("soundtrack_menu", 50);
carMan.clearCars();
buildingMan.stopSounds();
fadescreen.Appear();
bonusscreen.Appear();
GAMESTATE = STATE_END_LEVEL_SCREEN_WAIT;
msgBox._visible = false;
}
function fSTATE_END_LEVEL_SCREEN_WAIT() {
bonusscreen.Run();
}
function EventBonusScreenClosed(e) {
trace("EventBonusScreenClosed");
GAMESTATE = STATE_SHOW_LEVEL_SCREEN;
}
function fSTATE_END_GAME() {
buildingMan.stopSounds();
carMan.clearCars();
soundMgr.stopSounds();
if (scoreboard.getScore() >= WIN_SCORE) {
playSoundTrack("soundtrack_menu", 50);
} else {
playSoundTrack("soundtrack_lose", 50);
}
endscreen.Appear();
msgBox._visible = false;
msgBox._x = -1000;
GAMESTATE = STATE_END_GAME_WAIT;
}
function fSTATE_END_GAME_WAIT() {
endscreen.Run();
}
function EventEndScreenClosed(e) {
var _local2 = endscreen.getEndMode();
switch (_local2) {
case EndScreen.END_MODE_PLAYAGAIN :
GAMESTATE = STATE_INIT;
break;
case EndScreen.END_MODE_SENDTOAFRIEND :
GAMESTATE = STATE_SHOW_SEND_SCREEN;
break;
case EndScreen.END_MODE_HIGHSCORE :
GAMESTATE = STATE_SHOW_HIGHSCORE_SCREEN;
}
}
function EventPauseButton(e) {
if (GAMESTATE == STATE_GAME) {
GAMESTATE = STATE_SHOW_PAUSE_SCREEN;
}
}
function EventHelpButton(e) {
if (GAMESTATE == STATE_GAME) {
GAMESTATE = STATE_SHOW_HELP_SCREEN;
}
}
function fSTATE_SHOW_HELP_SCREEN() {
scoreboard.pauseClock();
carMan.setGAME_PAUSED(true);
buildingMan.setGAME_PAUSED(true);
helpscreen.Appear();
GAMESTATE = STATE_HELP_SCREEN_WAIT;
}
function fSTATE_SHOW_PAUSE_SCREEN() {
scoreboard.pauseClock();
carMan.setGAME_PAUSED(true);
buildingMan.setGAME_PAUSED(true);
pausescreen.Appear();
GAMESTATE = STATE_PAUSE_SCREEN_WAIT;
}
function fSTATE_HELP_SCREEN_WAIT() {
helpscreen.Run();
}
function fSTATE_PAUSE_SCREEN_WAIT() {
pausescreen.Run();
}
function EventPauseScreenClosed(e) {
scoreboard.unPauseClock();
carMan.setGAME_PAUSED(false);
buildingMan.setGAME_PAUSED(false);
GAMESTATE = STATE_GAME;
}
function EventHelpScreenClosed(e) {
scoreboard.unPauseClock();
carMan.setGAME_PAUSED(false);
buildingMan.setGAME_PAUSED(false);
GAMESTATE = STATE_GAME;
}
function setParent(par) {
parentTL = par;
}
function setSoundClip(snd) {
soundClip = snd;
}
function EventCarPayBill(e) {
var _local5 = getNextFlyingTextDepth();
var _local2 = parentTL.attachMovie("FFlyingScore", "score" + _local5, _local5);
var _local3 = e.bill;
switch (e.anger) {
case Car.ANGER_GREEN :
_local3 = _local3 * ANGER_GREEN_BILL_VALUE;
_local2.gotoAndStop("green");
soundMgr.playSound("happy1", 100, 1, 0, false, 0);
break;
case Car.ANGER_NORMAL :
soundMgr.playSound("happy2", 100, 1, 0, false, 0);
_local2.gotoAndStop("white");
break;
case Car.ANGER_YELLOW :
_local3 = _local3 * ANGER_YELLOW_BILL_VALUE;
soundMgr.playSound("mad4", 100, 1, 0, false, 0);
_local2.gotoAndStop("yellow");
break;
case Car.ANGER_RED :
_local3 = _local3 * ANGER_RED_BILL_VALUE;
soundMgr.playSound("mad3", 100, 1, 0, false, 0);
_local2.gotoAndStop("red");
break;
default :
_local3 = _local3 * ANGER_GREEN_BILL_VALUE;
soundMgr.playSound("happy1", 100, 1, 0, false, 0);
_local2.gotoAndStop("green");
}
_local3 = Math.ceil(_local3);
_local2.setLocation(e.startX, e.startY);
_local2.setFinalLocation(305, 125);
_local2.setMessageText("$" + _local3.toString());
_local2.startMoving(_local3);
_local2.setDoSpin(true, 15);
_local2.addEventListener("EventFlyingScoreArrival", this);
}
function EventFlyingScoreArrival(e) {
scoreboard.addMoney(e.finalValue);
scoreboard.incTotalCars();
if (SPINCITY_AUDIO) {
soundMgr.playSound("Register", 100, 1, 0, false, 0);
} else {
soundMgr.playSound("Register_ff", 100, 1, 0, false, 0);
}
}
function getNextFlyingTextDepth() {
flyingTextCount++;
if ((flyingTextCount + FLYING_TEXT_DEPTH_MIN) > FLYING_TEXT_DEPTH_MAX) {
flyingTextCount = 0;
}
return(flyingTextCount + FLYING_TEXT_DEPTH_MIN);
}
function EventCarTurnedAway(e) {
modifyRepuation(-REPUTATION_MODIFIER_CAR_TURNED_AWAY, 600, 300);
ShowMessage("Customer Turned Away!");
}
function EventAngryDriver(e) {
modifyRepuation(-REPUTATION_MODIFIER_WAIT, e.car._x, e.car._y);
}
function EventAngryDriver2(e) {
modifyRepuation(-REPUTATION_MODIFIER_WAIT2, e.car._x, e.car._y);
}
function EventHappyDriver(e) {
trace("EventHappyDriver");
modifyRepuation(REPUTATION_MODIFIER_GOOD_SERVICE, e.car._x, e.car._y);
}
function EventShowMessage(e) {
ShowMessage(e.msg);
}
function modifyRepuation(tvalue, x, y) {
var _local3 = getNextFlyingTextDepth();
var _local2 = parentTL.attachMovie("FFlyingRep", "rep" + _local3, _local3);
_local2.setLocation(x, y);
_local2.setFinalLocation(484, 34);
_local2.setMessageText(tvalue.toString());
if (tvalue < 0) {
_local2.setColor(FlyingRep.COLOR_RED);
} else {
_local2.setColor(FlyingRep.COLOR_GREEN);
}
_local2.startMoving(tvalue);
_local2.setDoSpin(true, 15);
_local2.addEventListener("EventFlyingRepArrival", this);
}
function EventFlyingRepArrival(e) {
scoreboard.setReputation(scoreboard.getReputation() + e.finalValue);
}
function getLevel() {
return(scoreboard.getLevel());
}
function ShowMessage(msg) {
trace("Show Message:" + msg);
if (SPINCITY_AUDIO) {
soundMgr.playSound("Error", 100, 1, 0, false, 0);
} else {
soundMgr.playSound("Error_ff", 100, 1, 0, false, 0);
}
trace("Show Message:" + msg);
msgBox.setMessage(msg);
}
function getNextPathPointDepth() {
pathpoints++;
if ((pathpoints + PATHPOINT_MIN) > PATHPOINT_MAX) {
pathpoints = 0;
}
return(pathpoints + PATHPOINT_MIN);
}
function EventHotWheelsSounds(e) {
if (!SPINCITY_AUDIO) {
SPINCITY_AUDIO = true;
soundMgr.playSound("Engine", 100, 1, 0, false, 0);
} else {
SPINCITY_AUDIO = false;
soundMgr.playSound("Downescalator_ff", 100, 1, 0, false, 0);
}
}
static var STATE_INIT = 5;
static var STATE_SHOW_TITLE_SCREEN = 10;
static var STATE_TITLE_SCREEN_WAIT = 20;
static var STATE_SHOW_DIFFICULTY_SCREEN = 30;
static var STATE_DIFFICULTY_SCREEN_WAIT = 40;
static var STATE_SHOW_INSTRUCTIONS_SCREEN = 50;
static var STATE_INSTRUCTIONS_SCREEN_WAIT = 60;
static var STATE_NEW_GAME = 70;
static var STATE_INIT_LEVEL = 80;
static var STATE_SHOW_LEVEL_SCREEN = 90;
static var STATE_LEVEL_SCREEN_WAIT = 100;
static var STATE_START_LEVEL = 110;
static var STATE_GAME = 120;
static var STATE_END_LEVEL = 130;
static var STATE_END_LEVEL_SCREEN_WAIT = 140;
static var STATE_END_GAME = 150;
static var STATE_END_GAME_WAIT = 160;
static var STATE_SHOW_SEND_SCREEN = 170;
static var STATE_SEND_SCREEN_WAIT = 180;
static var STATE_SHOW_HIGHSCORE_SCREEN = 190;
static var STATE_HIGHSCORE_SCREEN_WAIT = 200;
static var STATE_SHOW_HELP_SCREEN = 210;
static var STATE_SHOW_PAUSE_SCREEN = 220;
static var STATE_HELP_SCREEN_WAIT = 230;
static var STATE_PAUSE_SCREEN_WAIT = 240;
var startLevel = 1;
var GAMESTATE = 0;
var difficulty = 0;
var flyingTextCount = 0;
var pathpoints = 0;
static var SCOREBOARD_DEPTH = 20000;
static var PATHPOINT_MIN = 81000;
static var PATHPOINT_MAX = 82000;
static var RAMP0_DEPTH = 13000;
static var CARS_DEPTH_MIN1 = 12000;
static var CARS_DEPTH_MAX1 = 12500;
static var RAMP1_DEPTH = 11000;
static var CARS_DEPTH_MIN2 = 10000;
static var CARS_DEPTH_MAX2 = 10500;
static var RAMP2_DEPTH = 9000;
static var CARS_DEPTH_MIN3 = 8000;
static var CARS_DEPTH_MAX3 = 8500;
static var RAMP3_DEPTH = 7000;
static var GAMEBACK_DEPTH = 501;
static var BUILDING_DEPTH_MIN = 15000;
static var BUILDING_DEPTH_MAX = 16000;
static var CAR_MANAGER_DEPTH = 10000;
static var FLYING_TEXT_DEPTH_MIN = 21000;
static var FLYING_TEXT_DEPTH_MAX = 22000;
static var MESSAGEBOX_DEPTH = 49000;
static var FADE_SCREEN_DEPTH = 49100;
static var BONUS_SCREEN_DEPTH = 50010;
static var LEVEL_SCREEN_DEPTH = 50025;
static var HELP_SCREEN_DEPTH = 50035;
static var PAUSE_SCREEN_DEPTH = 50045;
static var END_SCREEN_DEPTH = 50050;
static var TITLE_SCREEN_DEPTH = 50060;
static var SEND_SCREEN_DEPTH = 50065;
static var HIGHSCORE_SCREEN_DEPTH = 50068;
static var DIFFICULTY_SCREEN_DEPTH = 50070;
static var INSTRUCTIONS_SCREEN_DEPTH = 50080;
static var SOUND_MANAGER_DEPTH = 2001;
var MAXLEVELSECONDS = 150;
var CUSTOMER_ARRIVAL_INTERVAL = 10;
var CUSTOMER_ARRIVAL_LEVEL_MODIFIER = 0.5;
var CUSTOMER_ARRIVAL_LOW_LIMIT = 4;
var CUSTOMER_MAX_NEEDS_BASE = 2;
var CUSTOMER_MAX_NEEDS_LEVEL_INCREMENT_TRIGGER = 8;
var CUSTOMER_MULTIPLE_NEEDS_CHANCE_BASE = 50;
var CUSTOMER_MULTIPLE_NEEDS_CHANCE_LEVEL_MODIFIER = 10;
var ADD_RESOURCE_TICKET_PER_LEVEL = true;
var ADD_RESOURCE_TICKET_PER_UPGRADE = true;
var REPUTATION_MODIFIER_CAR_TURNED_AWAY = 2;
var REPUTATION_MODIFIER_WAIT = 2;
var REPUTATION_MODIFIER_WAIT2 = 3;
var REPUTATION_MODIFIER_WAIT_INTERVAL = 400;
var REPUTATION_MODIFIER_WAIT_INTERVAL_LEVEL_MODIFIER = 10;
var REPUTATION_MODIFIER_WAIT_INTERVAL_LEVEL_MODIFIER_BASE = 100;
var REPUTATION_MODIFIER_GOOD_SERVICE = 1;
var ANGER_GREEN_BILL_VALUE = 1.25;
var ANGER_YELLOW_BILL_VALUE = 0.75;
var ANGER_RED_BILL_VALUE = 0.5;
var BUILDING_VALUE_UPGRADE_MODIFIER = 0.25;
var SNACKS_VALUE = 45;
var SNACKS_UPGRADE_PRICE = 300;
var PURSES_VALUE = 40;
var PURSES_UPGRADE_PRICE = 400;
var SHOES_VALUE = 50;
var SHOES_UPGRADE_PRICE = 500;
var BOTTOMS_VALUE = 60;
var BOTTOMS_UPGRADE_PRICE = 600;
var JEWELRY_VALUE = 150;
var JEWELRY_UPGRADE_PRICE = 1000;
var TOPS_VALUE = 350;
var TOPS_UPGRADE_PRICE = 1800;
var MUSIC_VALUE = 400;
var MUSIC_UPGRADE_PRICE = 2500;
var CAR_SPEED_NORMAL = 10;
var CAR_SPEED_SPIRAL = 12;
var CAR_NEED_SHOES_SPEED_MODIFIER = 5;
var CAR_GOT_FOOD_SPEED_MODIFIER = 0;
var REP_ADD_COUPON_BONUS = 2;
var REP_ADD_COUPON_PRICE = 200;
var REP_ADD_NEWSPAPER_BONUS = 10;
var REP_ADD_NEWSPAPER_PRICE = 1000;
var REP_ADD_COMMUNITY_BONUS = 15;
var REP_ADD_COMMUNITY_PRICE = 1500;
var REP_ADD_TV_BONUS = 20;
var REP_ADD_TV_PRICE = 2000;
var UPGRADE_COST_MULIPLIER = 2.5;
var SPINCITY_AUDIO = false;
var WIN_SCORE = 100000;
var isNaughtyURL = "";
var sendMailURL = "";
var userid = 0;
var gameid = 0;
var siteid = 0;
var sitegameid = 0;
var curSoundTrack = "";
}
Symbol 732 MovieClip [__Packages.BuildingManager] Frame 0
class BuildingManager extends ComponentBase
{
var gameManager, parentTL, buildings, difficulty, soundMgr, resourceList, resourceLottery, _parent, dispatchEvent;
function BuildingManager (par, dmin, dmax, gm) {
super();
gameManager = gm;
parentTL = par;
DEPTHMIN = dmin;
DEPTHMAX = dmax;
buildings = new Array();
createBuilding(Resource.TYPE_PURSES, 15, 167, gameManager.PURSES_VALUE, gameManager.PURSES_UPGRADE_PRICE);
createBuilding(Resource.TYPE_SHOES, 444, 248, gameManager.SHOES_VALUE, gameManager.SHOES_UPGRADE_PRICE);
createBuilding(Resource.TYPE_TOPS, 53, 283, gameManager.TOPS_VALUE, gameManager.TOPS_UPGRADE_PRICE);
createBuilding(Resource.TYPE_JEWELRY, 449, 131, gameManager.JEWELRY_VALUE, gameManager.JEWELRY_UPGRADE_PRICE);
createBuilding(Resource.TYPE_MUSIC, 390, 35, gameManager.MUSIC_VALUE, gameManager.MUSIC_UPGRADE_PRICE);
createBuilding(Resource.TYPE_BOTTOMS, 30, 65, gameManager.BOTTOMS_VALUE, gameManager.BOTTOMS_UPGRADE_PRICE);
createBuilding(Resource.TYPE_SNACKS, 344, 309, gameManager.SNACKS_VALUE, gameManager.SNACKS_UPGRADE_PRICE);
createBuilding(Resource.TYPE_PAY, 203, 317);
setBuildingsVisible(false);
}
function setGAME_PAUSED(bol) {
GAME_PAUSED = bol;
}
function setBuildingsVisible(b) {
var _local2 = 0;
while (_local2 < buildings.length) {
buildings[_local2]._visible = b;
_local2++;
}
}
function newGame(diff) {
difficulty = diff;
openBuilding(Resource.TYPE_PURSES);
openBuilding(Resource.TYPE_SHOES);
openBuilding(Resource.TYPE_BOTTOMS);
openBuilding(Resource.TYPE_PAY);
addResourceTickets();
setBuildingsVisible(true);
}
function setSoundManager(sm) {
soundMgr = sm;
var _local2 = 0;
while (_local2 < buildings.length) {
buildings[_local2].setSoundManager(soundMgr);
_local2++;
}
}
function createBuilding(res, xpos, ypos, price, cost) {
var _local3 = 0;
var _local2 = null;
_local3 = getNextDepth();
_local2 = parentTL.attachMovie("FBuilding", "building" + _local3, _local3);
_local2.setType(res);
_local2.SetLocation(xpos, ypos);
_local2.setBuildingManager(this);
_local2.closeBuilding();
_local2.setPrice(price);
_local2.setCost(cost);
_local2.setGameManager(gameManager);
_local2.cacheAsBitmap = true;
Mouse.addListener(_local2);
_local2.rollover.onRelease = onBuildingClicked;
buildings.push(_local2);
}
function startLevel(lev) {
level = lev;
if (gameManager.ADD_RESOURCE_TICKET_PER_LEVEL) {
addResourceTickets();
}
createResourceList();
createResourceLottery();
var _local2 = 0;
while (_local2 < buildings.length) {
buildings[_local2].reset();
_local2++;
}
}
function getBuildings() {
return(buildings);
}
function addResourceTickets() {
var _local3;
var _local2 = 0;
while (_local2 < buildings.length) {
_local3 = buildings[_local2];
if (_local3.isOpen()) {
_local3.addResourceTicket();
}
_local2++;
}
}
function openBuilding(res) {
var _local3;
var _local5;
var _local4;
var _local6 = false;
var _local2 = 0;
while (_local2 < buildings.length) {
_local3 = buildings[_local2];
_local5 = _local3.getBuildingResource();
_local4 = _local5.getResourceType();
if (_local4 == res) {
_local6 = true;
_local3.openBuilding();
}
_local2++;
}
}
function closeBuilding(res) {
var _local3;
var _local5;
var _local4;
var _local6 = false;
var _local2 = 0;
while (_local2 < buildings.length) {
_local3 = buildings[_local2];
_local5 = _local3.getBuildingResource();
_local4 = _local5.getResourceType();
if (_local4 == res) {
_local6 = true;
_local3.closeBuilding();
}
_local2++;
}
}
function createResourceList() {
resourceList = new Array();
var _local3;
var _local2 = 0;
while (_local2 < buildings.length) {
if (buildings[_local2].isOpen()) {
_local3 = buildings[_local2].getBuildingResource();
if (_local3.getResourceType() != Resource.TYPE_PAY) {
resourceList.push(_local3);
}
}
_local2++;
}
}
function createResourceLottery() {
var _local3;
var _local6 = 0;
var _local5;
resourceLottery = new Array();
var _local4 = 0;
while (_local4 < buildings.length) {
_local5 = buildings[_local4];
if (_local5.isOpen()) {
_local3 = _local5.getBuildingResource();
_local6 = _local5.getResourceTickets();
var _local2 = 0;
while (_local2 < _local6) {
if (_local3.getResourceType() != Resource.TYPE_PAY) {
resourceLottery.push(_local3);
}
_local2++;
}
}
_local4++;
}
}
function getResourceLottery() {
return(resourceLottery);
}
function getResourceList() {
return(resourceList);
}
function getNextDepth() {
depthCount++;
if ((depthCount + DEPTHMIN) > DEPTHMAX) {
depthCount = 0;
}
return(depthCount + DEPTHMIN);
}
function onBuildingClicked() {
_parent.buildingManager.buildingClicked(_parent);
}
function buildingClicked(clickedBuilding) {
if (!GAME_PAUSED) {
var _local2 = 0;
while (_local2 < buildings.length) {
if (buildings[_local2] == clickedBuilding) {
trace("BUILDING: CAR EN ROUTE:" + buildings[_local2].getCarEnRoute());
trace("BUILDING: CAR FILLING:" + buildings[_local2].getCarFilling());
if (!buildings[_local2].isOpen()) {
dispatchEvent({type:"EventShowMessage", msg:"That Station Is Not Open"});
} else if ((buildings[_local2].getCarEnRoute() == null) && (buildings[_local2].getCarFilling() == null)) {
var _local3 = buildings[_local2].getDriveToPoint();
dispatchEvent({type:"EventClickedBuilding", bldg:buildings[_local2], xp:_local3.x, yp:_local3.y});
} else if (buildings[_local2].getCarEnRoute() && (buildings[_local2].getBuildingResource().getResourceType() != Resource.TYPE_PAY)) {
dispatchEvent({type:"EventShowMessage", msg:"Customer Already On The Way"});
} else if (buildings[_local2].getCarFilling()) {
dispatchEvent({type:"EventShowMessage", msg:"Customer Already Being Serviced"});
}
}
_local2++;
}
}
}
function getBuildingbyResource(res) {
var _local3 = null;
var _local2 = 0;
while (_local2 < buildings.length) {
if (res == buildings[_local2].getBuildingResource().getResourceType()) {
_local3 = buildings[_local2];
}
_local2++;
}
return(_local3);
}
function EventCheckFinishedCarMove(e) {
trace("CHECK FOR FINISHED CAR MOVE:BuildingManager");
var _local2 = 0;
while (_local2 < buildings.length) {
if (buildings[_local2].getCarFinished() == e.car) {
buildings[_local2].setCarFinished(null);
}
_local2++;
}
}
function stopSounds() {
var _local2 = 0;
while (_local2 < buildings.length) {
buildings[_local2].stopSound();
_local2++;
}
}
function Run(elapsedSecs) {
var _local2 = 0;
while (_local2 < buildings.length) {
buildings[_local2].Run();
_local2++;
}
}
var level = 0;
var DEPTHMIN = 0;
var DEPTHMAX = 0;
var depthCount = 0;
var GAME_PAUSED = false;
}
Symbol 733 MovieClip [__Packages.Resource] Frame 0
class Resource
{
function Resource (restyp) {
resourceType = restyp;
}
function getResourceType() {
return(resourceType);
}
function setResourceType(rt) {
resourceType = rt;
}
static var TYPE_PURSES = 2;
static var TYPE_SHOES = 3;
static var TYPE_TOPS = 4;
static var TYPE_JEWELRY = 5;
static var TYPE_MUSIC = 6;
static var TYPE_BOTTOMS = 7;
static var TYPE_SNACKS = 8;
static var TYPE_PAY = 9;
var resourceType = 0;
}
Symbol 734 MovieClip [__Packages.Building] Frame 0
class Building extends ComponentBase
{
var fillpercent, fillpercenttext, carFilling, carFinished, carEnRoute, cost, fill, circlemeter, circlemeter2, soundMgr, gameManager, building, buildingManager, gotoAndStop, buildingResource, driveto, localToGlobal, exitspot;
function Building () {
super();
filling = false;
fillpercent = 0;
fillpercenttext = "0%";
carConnected = false;
carFilling = new Car();
carFinished = new Car();
carEnRoute = new Car();
carFilling = null;
carFinished = null;
carEnRoute = null;
overhead = 50;
price = 10;
cost = 100;
open = false;
resourceTickets = 0;
fill._visible = false;
circlemeter._visible = false;
circlemeter2.gotoAndStop("off");
powerlevel = 0;
}
function setSoundManager(sm) {
soundMgr = sm;
}
function setGameManager(gm) {
gameManager = gm;
}
function setCarEnRoute(cr) {
trace("SET CAR EnRoute:" + cr);
carEnRoute = cr;
}
function setCarFinished(cr) {
trace("SET CAR FINISHED:" + cr);
carFinished = cr;
}
function setCarFilling(cr) {
trace("SET CAR FILLING:" + cr);
carFilling = cr;
}
function getCarEnRoute() {
return(carEnRoute);
}
function getCarFinished() {
return(carFinished);
}
function getCarFilling() {
return(carFilling);
}
function reset() {
carConnected = false;
filling = false;
ResetFill();
building.structure.gotoAndStop(1);
setCarEnRoute(null);
setCarFilling(null);
setCarFinished(null);
stopSound();
circlemeter._visible = false;
circlemeter2.gotoAndStop("off");
circlemeter2.anim.gotoAndStop(1);
}
function ResetFill() {
fillpercent = 0;
fillpercenttext = Math.floor(fillpercent).toString() + "%";
fill.bar._xscale = 0;
circlemeter.infotxt = ("[ " + fillpercent) + " % ]";
circlemeter.meter.meter.infotxt = ("[ " + fillpercent) + " % ]";
circlemeter2.anim.gotoAndStop(1);
}
function getResourceTickets() {
return(resourceTickets);
}
function addResourceTicket() {
resourceTickets++;
}
function addResourceTickets(num) {
resourceTickets = resourceTickets + num;
}
function setBuildingManager(bm) {
buildingManager = bm;
}
function setPowerLevel(pwr) {
powerlevel = pwr;
building.powerMeter.gotoAndStop(powerlevel);
building.gotoAndStop(powerlevel + 1);
if (powerlevel > MAXPOWER) {
powerlevel = MAXPOWER;
}
}
function getPowerLevel() {
return(powerlevel);
}
function setType(typ) {
gotoAndStop(typ);
buildingResource = new Resource(typ);
ResetFill();
}
function getDriveToPoint() {
var _local2 = {x:driveto._x, y:driveto._y};
localToGlobal(_local2);
return(_local2);
}
function getExitSpot() {
var _local2 = {x:exitspot._x, y:exitspot._y};
localToGlobal(_local2);
return(_local2);
}
function openBuilding() {
open = true;
setPowerLevel(1);
resourceTickets = 0;
}
function closeBuilding() {
open = false;
building.gotoAndStop(1);
resourceTickets = 0;
}
function isOpen() {
return(open);
}
function ConnectCar(concar) {
trace((("connect car:" + concar) + " connected car mode=") + concar.getCarMode());
if (buildingResource.getResourceType() == Resource.TYPE_PAY) {
concar.CallBackFillingFinished(0);
building.sign.play();
} else {
carConnected = true;
setCarEnRoute(null);
setCarFilling(concar);
ResetFill();
building.structure.gotoAndStop(2);
startSound();
fill._visible = true;
circlemeter._visible = true;
circlemeter2.gotoAndPlay("_show");
circlemeter2.anim.gotoAndStop(buildingResource.getResourceType());
}
}
function ConnectCarWithNoNeed(concar) {
var _local2 = getExitSpot();
setCarEnRoute(null);
setCarFinished(concar);
concar.CallBackNoFilling(_local2.x, _local2.y);
}
function DisconnectCar() {
var _local2 = getExitSpot();
carFilling.CallBackFillingFinished(getPrice(), _local2.x, _local2.y);
setCarFinished(carFilling);
setCarFilling(null);
building.structure.gotoAndStop(1);
fill._visible = false;
circlemeter._visible = false;
circlemeter2.gotoAndPlay("_hide");
circlemeter2.anim.gotoAndStop(1);
}
function getCarConnected() {
return(carConnected);
}
function setBuildingResource(res) {
buildingResource = res;
}
function getBuildingResource() {
return(buildingResource);
}
function setPrice(prc) {
price = prc;
}
function getPrice() {
return(price + Math.ceil((powerlevel * price) * gameManager.BUILDING_VALUE_UPGRADE_MODIFIER));
}
function setCost(prc) {
cost = prc;
}
function getCost() {
var _local2 = 0;
if (powerlevel <= 0) {
_local2 = cost;
} else {
_local2 = cost + ((cost * powerlevel) * gameManager.UPGRADE_COST_MULIPLIER);
}
return(Math.ceil(_local2));
}
function Run() {
if (carConnected) {
fillpercent = fillpercent + (powerlevel / 2);
fillpercenttext = Math.floor(fillpercent).toString() + "%";
circlemeter.infotxt = ("[ " + fillpercent) + " % ]";
if (fillpercent <= 50) {
circlemeter.mask1.maske._rotation = -3.6 * fillpercent;
circlemeter2.meter.meter.mask1.maske._rotation = -3.6 * fillpercent;
} else {
circlemeter.mask1.maske._rotation = -180;
circlemeter.mask2.maske._rotation = -3.6 * (fillpercent - 50);
circlemeter2.meter.meter.mask1.maske._rotation = -180;
circlemeter2.meter.meter.mask2.maske._rotation = -3.6 * (fillpercent - 50);
}
if (fillpercent > 100) {
fillpercent = 100;
fillpercenttext = Math.floor(fillpercent).toString() + "%";
}
fill.bar._xscale = fillpercent;
if (fillpercent >= 100) {
stopSound();
building.structure.gotoAndStop(1);
if (getCarFinished() == null) {
DisconnectCar();
playFinishSound();
carConnected = false;
ResetFill();
}
}
}
}
function startSound() {
switch (buildingResource.getResourceType()) {
case Resource.TYPE_PURSES :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("GasOrRocketFuel", 50, 1, 0, false, 0);
soundMgr.playSound("Gas", 50, 9999, 0, true, 3);
} else {
soundMgr.playSound("Pursestart_ff", 100, 1, 0, false, 0);
soundMgr.playSound("Purseloop_ff", 100, 9999, 0, true, 3);
}
break;
case Resource.TYPE_SHOES :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("YouAreGonnaNeedSomeRaceTires", 50, 1, 0, false, 0);
soundMgr.playSound("Tire", 50, 9999, 0, true, 3);
} else {
soundMgr.playSound("Shoestart_ff", 100, 1, 0, false, 0);
soundMgr.playSound("Shoesloop_ff", 100, 9999, 0, true, 3);
}
break;
case Resource.TYPE_TOPS :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("Dude", 50, 1, 0, false, 0);
soundMgr.playSound("Paint", 50, 9999, 0, true, 3);
} else {
soundMgr.playSound("Topstart_ff", 100, 1, 0, false, 0);
soundMgr.playSound("Topsloop_ff", 100, 9999, 0, true, 3);
}
break;
case Resource.TYPE_JEWELRY :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("LetsWeldOnThosePipes", 50, 1, 0, false, 0);
soundMgr.playSound("Tuneup", 50, 9999, 0, true, 3);
} else {
soundMgr.playSound("Jewelrystart_ff", 100, 1, 0, false, 0);
soundMgr.playSound("Jewelryloop_ff", 100, 9999, 0, true, 3);
}
break;
case Resource.TYPE_MUSIC :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("CruiseOnIn", 50, 1, 0, false, 0);
soundMgr.playSound("Stereo", 50, 9999, 0, true, 3);
} else {
soundMgr.playSound("Musicstart_ff", 100, 1, 0, false, 0);
soundMgr.playSound("Musicloop_ff", 100, 9999, 0, true, 3);
}
break;
case Resource.TYPE_BOTTOMS :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("Dude", 50, 1, 0, false, 0);
soundMgr.playSound("Wash", 50, 9999, 0, true, 3);
} else {
soundMgr.playSound("Bottomstart_ff", 100, 1, 0, false, 0);
soundMgr.playSound("Bottomsloop_ff", 100, 9999, 0, true, 3);
}
break;
case Resource.TYPE_SNACKS :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("CanITakeYourOrder", 50, 1, 0, false, 0);
soundMgr.playSound("Snack", 50, 9999, 0, true, 3);
} else {
soundMgr.playSound("Snackstart_ff", 100, 1, 0, false, 0);
soundMgr.playSound("Snackloop_ff", 100, 9999, 0, true, 3);
}
}
}
function stopSound() {
switch (buildingResource.getResourceType()) {
case Resource.TYPE_PURSES :
trace("stop gas sound");
if (gameManager.SPINCITY_AUDIO) {
soundMgr.stopSound("Gas", false, 3);
} else {
soundMgr.stopSound("Purseloop_ff", false, 3);
}
break;
case Resource.TYPE_SHOES :
trace("stop tire sound");
if (gameManager.SPINCITY_AUDIO) {
soundMgr.stopSound("Tire", false, 3);
} else {
soundMgr.stopSound("Shoesloop_ff", false, 3);
}
break;
case Resource.TYPE_TOPS :
trace("stop paint sound");
if (gameManager.SPINCITY_AUDIO) {
soundMgr.stopSound("Paint", false, 3);
} else {
soundMgr.stopSound("Topsloop_ff", false, 3);
}
break;
case Resource.TYPE_JEWELRY :
trace("stop tuneup sound");
if (gameManager.SPINCITY_AUDIO) {
soundMgr.stopSound("Tuneup", false, 3);
} else {
soundMgr.stopSound("Jewelryloop_ff", false, 3);
}
break;
case Resource.TYPE_MUSIC :
trace("stop stereo sound");
if (gameManager.SPINCITY_AUDIO) {
soundMgr.stopSound("Stereo", false, 3);
} else {
soundMgr.stopSound("Musicloop_ff", false, 3);
}
break;
case Resource.TYPE_BOTTOMS :
trace("stop wash sound");
if (gameManager.SPINCITY_AUDIO) {
soundMgr.stopSound("Wash", false, 3);
} else {
soundMgr.stopSound("Bottomsloop_ff", false, 3);
}
break;
case Resource.TYPE_SNACKS :
trace("stop snack sound");
if (gameManager.SPINCITY_AUDIO) {
soundMgr.stopSound("Snack", true, 3);
} else {
soundMgr.stopSound("Snackloop_ff", false, 3);
}
}
}
function playFinishSound() {
switch (buildingResource.getResourceType()) {
case Resource.TYPE_PURSES :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("HotWheelsPower", 50, 1, 0, false, 0);
} else {
soundMgr.playSound("Purseend_ff", 100, 1, 0, false, 0);
}
break;
case Resource.TYPE_SHOES :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("HotWheelsPower", 50, 1, 0, false, 0);
} else {
soundMgr.playSound("Shoesend_ff", 100, 1, 0, false, 0);
}
break;
case Resource.TYPE_TOPS :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("AwsomePaintJob", 50, 1, 0, false, 0);
} else {
soundMgr.playSound("Topsend_ff", 100, 1, 0, false, 0);
}
break;
case Resource.TYPE_JEWELRY :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("SqueakyWheel", 50, 1, 0, false, 0);
} else {
soundMgr.playSound("Jewelryend_ff", 100, 1, 0, false, 0);
}
break;
case Resource.TYPE_MUSIC :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("HotWheelsPower", 50, 1, 0, false, 0);
} else {
soundMgr.playSound("Musicend_ff", 100, 1, 0, false, 0);
}
break;
case Resource.TYPE_BOTTOMS :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("ACoolRide", 50, 1, 0, false, 0);
} else {
soundMgr.playSound("Bottomsend_ff", 100, 1, 0, false, 0);
}
break;
case Resource.TYPE_SNACKS :
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("FastFoodForAFasterCar", 50, 1, 0, false, 0);
} else {
soundMgr.playSound("Snackend_ff", 100, 1, 0, false, 0);
}
}
}
var filling = false;
var carConnected = false;
var powerlevel = 0;
var overhead = 0;
var price = 0;
var open = false;
var resourceTickets = 0;
var MAXPOWER = 5;
}
Symbol 735 MovieClip [__Packages.Car] Frame 0
class Car extends ComponentBase
{
var carBody, paintColors, depths, onBuilding, movementPath, movementPathIndex, rlist, moves, xunits, yunits, soundMgr, gameManager, carManager, _x, _y, angle, lastx, lasty, newx, newy, diffx, diffy, endx, endy, needs, circlePath, spiralPath, destination, currentPointOnCircle, exitPointFromCircle, swapDepths, _visible, dispatchEvent, speed, savedSpeed, _rotation, needdisplay, hitTest;
function Car () {
super();
bill = 0;
anger = 0;
bags = 0;
deleteThis = false;
bodynum = Math.floor(Math.random() * 10) + 1;
carBody.body.gotoAndStop("front");
carBody.body.body.gotoAndStop(bodynum);
carBody.dirt._visible = false;
carBody.dirt.stop();
carBody.smoke._visible = false;
carBody.smoke.stop();
carBody.sparkles._visible = false;
glowSelect = null;
paintColors = new Array(16711680, 65280, 255, 16776960, 65535, 16711935);
filterChange = true;
waitingFrames = 0;
depths = new Array();
anger = ANGER_NORMAL;
onRamp = true;
onSpiral = false;
onCircle = false;
onBuilding = false;
movementPath = new Path();
movementPathIndex = 0;
rlist = null;
moves = 0;
xunits = 0;
yunits = 0;
checkAnger();
}
function setSoundManager(sm) {
soundMgr = sm;
}
function setGameManager(gm) {
gameManager = gm;
}
function init(startx, starty, cm, gm, sp, cp) {
carManager = cm;
gameManager = gm;
_x = startx;
_y = starty;
angle = 0;
SPEED_NORMAL = gameManager.CAR_SPEED_NORMAL;
SPEED_SPIRAL = gameManager.CAR_SPEED_SPIRAL;
setSpeed(SPEED_NORMAL);
lastx = 0;
lasty = 0;
newx = 0;
newy = 0;
diffx = 0;
diffy = 0;
endx = 0;
endy = 0;
moves = 0;
xunits = 0;
yunits = 0;
carselected = false;
needs = new Array();
needIndex = 0;
currentNeedIndex = 0;
circlePath = cp;
spiralPath = sp;
setCarMode(MODE_STOPPED);
destination = null;
bill = 0;
anger = ANGER_NORMAL;
deleteThis = false;
waitingInLine = false;
waitingPosition = 0;
waitingLane = null;
currentPointOnCircle = null;
exitPointFromCircle = null;
glowAnger = new flash.filters.GlowFilter(16777215, 0, 0, 0, 0, 0, false, false);
}
function addDepth(dp) {
depths.push(dp);
}
function nextDepth() {
var _local2 = depths[0];
if (depths.length > 1) {
depths.splice(0, 1);
}
swapDepths(_local2);
}
function setWaitingInLine(bol) {
waitingInLine = bol;
}
function getWaitingInLine() {
return(waitingInLine);
}
function setWaitingPosition(num) {
waitingPosition = num;
}
function getWaitingPosition() {
return(waitingPosition);
}
function setWaitingLane(ln) {
waitingLane = ln;
}
function getWaitingLane() {
return(waitingLane);
}
function getCarMode() {
return(CARMODE);
}
function setCarMode(md) {
CARMODE = md;
if (carselected) {
glowSelect = new flash.filters.GlowFilter(16777062, 0.6, 25, 25, 50, 3, true, false);
filterChange = true;
} else {
glowSelect = null;
filterChange = true;
}
switch (CARMODE) {
case MODE_MOVING :
setMoving();
_visible = true;
break;
case MODE_STOPPED :
setStopped();
break;
case MODE_FILLING :
break;
}
}
function getCarSelected() {
return(carselected);
}
function setCarSelected(sel) {
carselected = sel;
setCarMode(getCarMode());
}
function setDestination(dest) {
destination = dest;
}
function getDestination() {
return(destination);
}
function resetDestination() {
destination = null;
}
function setForDelete() {
deleteThis = true;
}
function getForDelete() {
return(deleteThis);
}
function hasDestination() {
var _local2 = false;
if (destination != null) {
_local2 = true;
}
return(_local2);
}
function CallBackFillingFinished(cost, xpos, ypos) {
_x = xpos;
_y = ypos;
bill = bill + cost;
setCarMode(MODE_STOPPED);
resetDestination();
deleteCurrentNeed();
bags++;
var _local2 = bags + 1;
carBody.body.body.bags.gotoAndStop(_local2);
if (cost > 0) {
reduceAnger();
}
}
function CallBackNoFilling(xpos, ypos) {
setCarMode(MODE_STOPPED);
resetDestination();
_x = xpos;
_y = ypos;
increaseAnger();
}
function getBill() {
return(bill);
}
function addNeed(need) {
var _local2 = null;
switch (need) {
case Resource.TYPE_PURSES :
_local2 = new Resource(Resource.TYPE_PURSES);
break;
case Resource.TYPE_SHOES :
_local2 = new Resource(Resource.TYPE_SHOES);
setSpeed(getSpeed() - gameManager.CAR_NEED_SHOES_SPEED_MODIFIER);
break;
case Resource.TYPE_TOPS :
_local2 = new Resource(Resource.TYPE_TOPS);
break;
case Resource.TYPE_JEWELRY :
_local2 = new Resource(Resource.TYPE_JEWELRY);
break;
case Resource.TYPE_MUSIC :
_local2 = new Resource(Resource.TYPE_MUSIC);
break;
case Resource.TYPE_BOTTOMS :
_local2 = new Resource(Resource.TYPE_BOTTOMS);
break;
case Resource.TYPE_SNACKS :
_local2 = new Resource(Resource.TYPE_SNACKS);
break;
case Resource.TYPE_PAY :
_local2 = new Resource(Resource.TYPE_PAY);
}
needs.push(_local2);
}
function getNeeds() {
return(needs);
}
function hasNeed(fneed) {
var _local3 = false;
var _local2 = 0;
while (_local2 < needs.length) {
if (needs[_local2].getResourceType() == fneed) {
_local3 = true;
}
_local2++;
}
return(_local3);
}
function deleteCurrentNeed() {
var _local2 = 0;
if (needs[currentNeedIndex].getResourceType() == Resource.TYPE_PAY) {
needs.splice(currentNeedIndex, 1);
if (anger == ANGER_GREEN) {
dispatchEvent({type:"EventHappyDriver", car:this});
}
_local2 = needs[currentNeedIndex].getResourceType();
} else {
_local2 = needs[currentNeedIndex].getResourceType();
needs.splice(currentNeedIndex, 1);
if (needs.length <= 0) {
addNeed(Resource.TYPE_PAY);
}
}
switch (_local2) {
case Resource.TYPE_PURSES :
break;
case Resource.TYPE_SHOES :
setSpeed(getSpeed() + gameManager.CAR_NEED_SHOES_SPEED_MODIFIER);
break;
case Resource.TYPE_TOPS :
break;
case Resource.TYPE_JEWELRY :
break;
case Resource.TYPE_MUSIC :
break;
case Resource.TYPE_BOTTOMS :
break;
case Resource.TYPE_SNACKS :
setSpeed(getSpeed() + gameManager.CAR_GOT_FOOD_SPEED_MODIFIER);
break;
case Resource.TYPE_PAY :
}
}
function setSpeed(spd) {
speed = spd;
if (speed < 2) {
speed = 2;
}
}
function getSpeed() {
return(speed);
}
function checkNeeds(checkRes) {
var _local4 = false;
var _local3;
var _local2 = 0;
while (_local2 < needs.length) {
_local3 = needs[_local2];
if (_local3.getResourceType() == checkRes.getResourceType()) {
_local4 = true;
currentNeedIndex = _local2;
}
_local2++;
}
return(_local4);
}
function setCurrentNeed(checkRes) {
var _local3;
var _local2 = 0;
while (_local2 < needs.length) {
_local3 = needs[_local2];
if (_local3.getResourceType() == checkRes.getResourceType()) {
currentNeedIndex = _local2;
}
_local2++;
}
}
function setMovementPath(path, idx) {
movementPath = path;
movementPathIndex = idx;
}
function moveCarFromSpiralToCircle() {
soundMgr.stopSound("ff_escalator", 100, 9999, 0, false);
soundMgr.playSound("ff_walking", 100, 9999, 0, false);
onSpiral = false;
onCircle = true;
setMovementPath(circlePath, 0);
setCarMode(MODE_MOVING);
}
function moveCarToPoint(xp, yp) {
var _local3 = new PathPoint(xp, yp, false, null);
var _local2 = new Path();
_local2.addPoint(_local3);
setMovementPath(_local2, 0);
setCarMode(MODE_MOVING);
}
function moveCarBackOnToCircleFromBuilding(bldg, xp, yp) {
soundMgr.playSound("ff_walking", 80, 9999, 0, false);
setDestination(bldg);
var _local2 = circlePath.getIndexByPoint(exitPointFromCircle);
onCircle = true;
onBuilding = false;
setMovementPath(circlePath, _local2);
setCarMode(MODE_MOVING);
}
function moveCarDownSpiralToBuilding(bldg, xp, yp) {
soundMgr.playSound("ff_escalator", 100, 9999, 0, false);
trace("FB: Move To This Buiding:" + bldg);
setDestination(bldg);
setMovementPath(spiralPath, 0);
onRamp = false;
onSpiral = true;
carBody.body.gotoAndStop("top");
carBody.body.body.gotoAndStop(bodynum);
savedSpeed = getSpeed();
setSpeed(SPEED_SPIRAL);
setCarMode(MODE_MOVING);
}
function moveCarToBuildingFromCircle(bldg, xp, yp) {
setDestination(bldg);
var _local3 = new PathPoint(xp, yp, false, null);
var _local2 = new Path();
_local2.addPoint(_local3);
setMovementPath(_local2, 0);
setCarMode(MODE_MOVING);
onCircle = false;
onBuilding = true;
}
function setMoving() {
var _local4 = movementPath.getPathPoint(movementPathIndex);
currentPointOnCircle = _local4;
if (_local4.changeDepth) {
nextDepth();
}
hideNeed();
endx = _local4.xp;
endy = _local4.yp;
var _local2 = endx - _x;
var _local3 = endy - _y;
if ((_local2 != 0) || (_local3 != 0)) {
var _local6 = (Math.atan2(_local3, _local2) * 180) / Math.PI;
_rotation = _local6;
angle = _local6;
needdisplay._rotation = 0;
}
var _local5 = Math.sqrt((_local2 * _local2) + (_local3 * _local3));
if (_local5 < speed) {
_local5 = speed;
}
moves = Math.floor(Math.abs(_local5 / speed));
xunits = (endx - _x) / moves;
yunits = (endy - _y) / moves;
}
function setStopped() {
soundMgr.stopSound("ff_walking", 0, false);
carBody.body.body.car.stop();
displayNeed();
needdisplay.gotoAndStop(needs[needIndex]);
}
function hideNeed() {
needdisplay.gotoAndStop(1);
}
function displayNeed() {
var _local2 = needs[needIndex];
switch (_local2.getResourceType()) {
case Resource.TYPE_PURSES :
needdisplay.gotoAndStop(Resource.TYPE_PURSES);
break;
case Resource.TYPE_SHOES :
needdisplay.gotoAndStop(Resource.TYPE_SHOES);
break;
case Resource.TYPE_TOPS :
needdisplay.gotoAndStop(Resource.TYPE_TOPS);
break;
case Resource.TYPE_JEWELRY :
needdisplay.gotoAndStop(Resource.TYPE_JEWELRY);
break;
case Resource.TYPE_MUSIC :
needdisplay.gotoAndStop(Resource.TYPE_MUSIC);
break;
case Resource.TYPE_BOTTOMS :
needdisplay.gotoAndStop(Resource.TYPE_BOTTOMS);
break;
case Resource.TYPE_SNACKS :
needdisplay.gotoAndStop(Resource.TYPE_SNACKS);
break;
case Resource.TYPE_PAY :
needdisplay.gotoAndStop(Resource.TYPE_PAY);
}
}
function setFilling() {
hideNeed();
setCarSelected(false);
setCarMode(MODE_FILLING);
}
function update() {
if (CARMODE == MODE_MOVING) {
lastx = _x;
lasty = _y;
newx = _x + xunits;
newy = _y + yunits;
diffx = newx - lastx;
diffy = newy - lasty;
}
}
function render() {
var _local3;
if (CARMODE == MODE_MOVING) {
_x = newx;
_y = newy;
moves--;
}
if ((moves == 0) && (CARMODE == MODE_MOVING)) {
if (onRamp) {
setCarMode(MODE_STOPPED);
} else if (onCircle) {
if (movementPathIndex < (movementPath.getPathLength() - 1)) {
_local3 = movementPath.getPathPoint[movementPathIndex];
if (currentPointOnCircle.getGateWay() == destination) {
var _local2 = destination.getDriveToPoint();
exitPointFromCircle = currentPointOnCircle;
moveCarToBuildingFromCircle(destination, _local2.x, _local2.y);
} else {
movementPathIndex++;
setMoving();
}
} else {
movementPathIndex = 0;
setMoving();
}
} else if (onSpiral) {
if (movementPathIndex < (movementPath.getPathLength() - 1)) {
movementPathIndex++;
setMoving();
} else {
setSpeed(savedSpeed);
var _local2 = destination.getDriveToPoint();
moveCarFromSpiralToCircle();
}
} else if (onBuilding) {
movementPathIndex = 0;
_rotation = _rotation - 180;
setCarMode(MODE_STOPPED);
}
}
if (filterChange) {
filterChange = false;
carBody.body.filters = [glowSelect, glowAnger];
}
if (CARMODE == MODE_STOPPED) {
waitingFrames++;
checkAnger();
}
}
function checkAnger() {
var _local2 = gameManager.REPUTATION_MODIFIER_WAIT_INTERVAL - ((gameManager.REPUTATION_MODIFIER_WAIT_INTERVAL_LEVEL_MODIFIER * gameManager.getLevel()) - 1);
if (_local2 < gameManager.REPUTATION_MODIFIER_WAIT_INTERVAL_LEVEL_MODIFIER_BASE) {
_local2 = gameManager.REPUTATION_MODIFIER_WAIT_INTERVAL_LEVEL_MODIFIER_BASE;
}
if (waitingFrames > _local2) {
trace("ANGRY!" + gameManager.REPUTATION_MODIFIER_WAIT_INTERVAL);
waitingFrames = 0;
increaseAnger();
}
}
function reduceAnger() {
waitingFrames = 0;
switch (anger) {
case ANGER_NORMAL :
glowAnger = new flash.filters.GlowFilter(65280, 0.4, 3, 3, 30, 3, false, false);
anger = ANGER_GREEN;
break;
case ANGER_YELLOW :
glowAnger = new flash.filters.GlowFilter(16777215, 0, 0, 0, 0, 0, false, false);
anger = ANGER_NORMAL;
break;
case ANGER_RED :
anger = ANGER_YELLOW;
glowAnger = new flash.filters.GlowFilter(16776960, 0.4, 3, 3, 30, 3, false, false);
break;
}
filterChange = true;
}
function increaseAnger() {
waitingFrames = 0;
switch (anger) {
case ANGER_GREEN :
trace("GREEN");
glowAnger = new flash.filters.GlowFilter(16777215, 0, 0, 0, 0, 0, false, false);
anger = ANGER_NORMAL;
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("Horn1", 100, 1, 0, false, 0);
} else {
soundMgr.playSound("mad7", 100, 1, 0, false, 0);
}
dispatchEvent({type:"EventAngryDriver", car:this});
break;
case ANGER_NORMAL :
trace("NORMAL");
glowAnger = new flash.filters.GlowFilter(16776960, 0.4, 3, 3, 30, 3, false, false);
anger = ANGER_YELLOW;
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("Horn1", 100, 1, 0, false, 0);
} else {
soundMgr.playSound("mad1", 100, 1, 0, false, 0);
}
dispatchEvent({type:"EventAngryDriver", car:this});
break;
case ANGER_YELLOW :
trace("YELLOW");
glowAnger = new flash.filters.GlowFilter(16711680, 0.4, 3, 3, 30, 3, false, false);
anger = ANGER_RED;
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("Horn2", 100, 1, 0, false, 0);
} else {
soundMgr.playSound("mad6", 100, 1, 0, false, 0);
}
dispatchEvent({type:"EventAngryDriver", car:this});
break;
case ANGER_RED :
trace("RED");
dispatchEvent({type:"EventAngryDriver2", car:this});
soundMgr.playSound("mad2", 100, 1, 0, false, 0);
break;
default :
trace("DEFAULT");
anger = ANGER_NORMAL;
glowAnger = new flash.filters.GlowFilter(16777215, 0, 0, 0, 0, 0, false, false);
}
filterChange = true;
}
function checkArrival() {
if (hitTest(destination.rollover) && (getCarMode() != MODE_FILLING)) {
var _local2 = destination.getBuildingResource();
if (checkNeeds(_local2)) {
setCurrentNeed(_local2);
setFilling();
destination.ConnectCar(this);
} else {
trace("CONNECTED WITH NO NEED!");
setFilling();
destination.ConnectCarWithNoNeed(this);
}
}
}
static var MODE_MOVING = 40;
static var MODE_STOPPED = 50;
static var MODE_FILLING = 60;
var CARMODE = 0;
var carselected = false;
var needIndex = 0;
var currentNeedIndex = 0;
var bill = 0;
var deleteThis = false;
var waitingInLine = false;
var waitingLane = null;
var waitingPosition = 0;
var bodynum = 0;
var SPEED_NORMAL = 10;
var SPEED_SPIRAL = 1;
var glowSelect = null;
var glowAnger = null;
var filterChange = false;
var waitingFrames = 0;
var anger = 0;
static var ANGER_GREEN = 10;
static var ANGER_NORMAL = 20;
static var ANGER_YELLOW = 30;
static var ANGER_RED = 40;
var onRamp = false;
var onSpiral = false;
var onCircle = false;
var bags = 0;
}
Symbol 736 MovieClip [__Packages.Lane] Frame 0
class Lane
{
var laneX, laneYMultiplier, maxCars, cars;
function Lane (lx, lym, lmx) {
laneX = lx;
laneYMultiplier = lym;
maxCars = lmx;
cars = new Array();
trace((((("new lane: laneX:" + laneX) + " laneYMultiplier:") + laneYMultiplier) + " maxCars:") + maxCars);
}
function setLaneX(lx) {
laneX = lx;
}
function getLaneX() {
return(laneX);
}
function setLaneYMultiplier(lm) {
laneYMultiplier = lm;
}
function getLaneYMultiplier() {
return(laneYMultiplier);
}
function setMaxCars(lx) {
maxCars = lx;
}
function getMaxCars() {
return(maxCars);
}
function addCar(car) {
cars.push(car);
}
function getCarCount() {
return(cars.length);
}
function removeCar(cr) {
var _local2 = 0;
while (_local2 < cars.length) {
if (cars[_local2] == cr) {
cars.splice(_local2, 1);
}
_local2++;
}
}
function moveCarsUpInLine() {
trace("move girls up line:" + cars.length);
var _local2 = 0;
while (_local2 < cars.length) {
cars[_local2].setWaitingPosition(cars[_local2].getWaitingPosition() - 1);
var _local3 = ((getMaxCars() - cars[_local2].getWaitingPosition()) + 1) * getLaneYMultiplier();
var _local4 = getLaneX();
cars[_local2].moveCarToPoint(_local4, _local3);
trace((("move girl to:" + _local4) + ",") + _local3);
_local2++;
}
}
function removeAllCars() {
cars = new Array();
}
}
Symbol 737 MovieClip [__Packages.Path] Frame 0
class Path
{
var pathpoints, loop;
function Path () {
pathpoints = new Array();
loop = false;
}
function setPath(pathpt) {
pathpoints = pathpt;
}
function setLoop(bol) {
loop = bol;
}
function getLoop() {
return(loop);
}
function addPoint(pt) {
pathpoints.push(pt);
}
function getPathLength() {
return(pathpoints.length);
}
function getPathPoint(index) {
return(pathpoints[index]);
}
function getIndexByPoint(pt) {
var _local4 = 0;
var _local2 = 0;
while (_local2 <= pathpoints.length) {
var _local3 = pathpoints[_local2];
if (pt == _local3) {
_local4 = _local2;
}
_local2++;
}
return(_local4);
}
}
Symbol 738 MovieClip [__Packages.PathPoint] Frame 0
class PathPoint
{
function PathPoint (txp, typ, cd, build, par, depth, id) {
xp = txp;
yp = typ;
changeDepth = cd;
trace("creating circle point gateway=" + build);
gateway = build;
}
function getGateWay() {
return(gateway);
}
var xp = 0;
var yp = 0;
var changeDepth = false;
var gateway = null;
}
Symbol 739 MovieClip [__Packages.SoundManager] Frame 0
class SoundManager extends MovieClip
{
var parent, sounds, createEmptyMovieClip;
function SoundManager () {
super();
startDepth = 1000;
endDepth = 999999 /* 0x0F423F */;
soundCount = 0;
masterVolume = 100;
volinc = masterVolume / 100;
}
function init(par) {
parent = par;
sounds = new Array();
}
function addSound(libname) {
var _local2;
_local2 = new SMSound(createEmptyMovieClip("snd_" + libname, getNextSoundDepth()), libname);
sounds.push(_local2);
return(_local2);
}
function getNextSoundDepth() {
soundCount++;
if ((soundCount + startDepth) > endDepth) {
soundCount = 0;
}
return(soundCount + startDepth);
}
function stopSounds() {
stopAllSounds();
}
function setMasterVolume(vol) {
var _local3;
masterVolume = vol;
volinc = masterVolume / 100;
trace("set master volume: volinc:" + volinc);
var _local2 = 0;
while (_local2 < sounds.length) {
_local3 = sounds[_local2];
_local3.setVolume(_local3.getVolume() * volinc);
_local2++;
}
}
function pauseAllSounds() {
}
function unpauseAllSounds() {
}
function playSound(libname, vl, loops, offset, fadein, fadeamt) {
var _local2 = findSound(libname);
if (_local2 == null) {
_local2 = addSound(libname);
}
var _local3 = vl;
_local3 = volinc * _local3;
trace((("play sound:" + libname) + "at volume:") + _local3);
if (fadein) {
_local2.setFadeIn(true);
_local2.setMaxVol(_local3);
_local2.setFadeAmount(fadeamt);
_local2.setVolume(0);
} else {
_local2.setVolume(_local3);
}
_local2.start(offset, loops);
}
function stopSound(libname, fadeout, fadeamt) {
var _local2 = findSound(libname);
if (_local2 != null) {
if (fadeout) {
_local2.setFadeOut(true);
_local2.setFadeAmount(fadeamt);
} else {
_local2.stop();
}
}
}
function findSound(libname) {
var _local3 = null;
var _local2 = 0;
while (_local2 < sounds.length) {
if (sounds[_local2].getLibname() == libname) {
_local3 = sounds[_local2];
}
_local2++;
}
return(_local3);
}
function onEnterFrame() {
var _local2;
var _local3 = 0;
while (_local3 < sounds.length) {
_local2 = sounds[_local3];
if (_local2.getFadeIn()) {
_local2.setVolume(_local2.getVolume() + _local2.getFadeAmount());
if (_local2.getVolume() >= _local2.getMaxVol()) {
_local2.setFadeIn(false);
}
}
if (_local2.getFadeOut()) {
_local2.setVolume(_local2.getVolume() - _local2.getFadeAmount());
if (_local2.getVolume() <= 0) {
_local2.setFadeOut(false);
_local2.stop();
}
}
_local3++;
}
}
var startDepth = 0;
var endDepth = 0;
var soundCount = 0;
var masterVolume = 100;
var volinc = 1;
}
Symbol 740 MovieClip [__Packages.SMSound] Frame 0
class SMSound
{
var fadeAmount, sndlib, snd;
function SMSound (target, sl) {
fadeout = false;
fadein = false;
maxvol = 0;
fadeAmount = 1;
sndlib = sl;
snd = new Sound(target);
snd.attachSound(sndlib);
}
function setVolume(vol) {
snd.setVolume(vol);
}
function getVolume() {
return(snd.getVolume());
}
function start(offset, loops) {
snd.start(offset, loops);
}
function stop() {
snd.stop(sndlib);
}
function setFadeIn(bl) {
fadein = bl;
}
function getFadeIn() {
return(fadein);
}
function setFadeOut(bl) {
fadeout = bl;
}
function getFadeOut() {
return(fadeout);
}
function setFadeAmount(fm) {
if (fm != null) {
fadeAmount = fm;
} else {
fm = 1;
}
}
function getFadeAmount() {
return(fadeAmount);
}
function getLibname() {
return(sndlib);
}
function setMaxVol(vl) {
maxvol = vl;
}
function getMaxVol() {
return(maxvol);
}
var maxvol = 0;
var fadein = false;
var fadeout = false;
}
Symbol 741 MovieClip [__Packages.LevelManager] Frame 0
class LevelManager
{
var levels;
function LevelManager () {
var _local3;
levels = new Array();
_local3 = new Level();
_local3.openBuilding(new Resource(Resource.TYPE_PAY));
_local3.openBuilding(new Resource(Resource.TYPE_PURSES));
_local3.openBuilding(new Resource(Resource.TYPE_SHOES));
_root.MattelGameAPICall("game_levelup", "level=");
levels.push(_local3);
_local3 = new Level();
levels.push(_local3);
}
function getArrivalSeconds(lev) {
var _local3 = 0;
lev--;
if (lev < 0) {
lev = 0;
}
_local3 = levels[lev].getArrivalSeconds();
return(_local3);
}
function getMaxCarNeeds(lev) {
var _local3 = 0;
lev--;
if (lev < 0) {
lev = 0;
}
_local3 = levels[lev].getMaxCarNeeds();
return(_local3);
}
function getNewOpenBuildings(lev) {
var _local3;
lev--;
if (lev < 0) {
lev = 0;
}
_local3 = levels[lev].getNewOpenBuildings();
return(_local3);
}
}
Symbol 742 MovieClip [__Packages.Level] Frame 0
class Level
{
var newBuildings;
function Level () {
newBuildings = new Array();
}
function openBuilding(res) {
newBuildings.push(res);
}
function getNewOpenBuildings() {
return(newBuildings);
}
var arrivalSeconds = 0;
var maxCarNeeds = 0;
}
Symbol 743 MovieClip [__Packages.TitleScreen] Frame 0
class TitleScreen extends ComponentBase
{
var screen, _x, _y, _visible, _parent, titleMode, getURL, dispatchEvent;
function TitleScreen () {
super();
screen.button_play.onRelease = play_button_release;
screen.button_sendtoafriend.onRelease = sendtoafriend_button_release;
screen.button_seetoys.onRelease = seetoys_button_release;
screen.button_highscores.onRelease = highscores_button_release;
_x = 0;
_y = 0;
_visible = false;
}
function play_button_release() {
_parent._parent.playagainButtonRelease();
}
function sendtoafriend_button_release() {
_parent._parent.sendtoafriendButtonRelease();
}
function seetoys_button_release() {
_parent._parent.seetoysButtonRelease();
}
function highscores_button_release() {
_parent._parent.highscoresButtonRelease();
}
function playagainButtonRelease() {
titleMode = TITLE_MODE_PLAY;
Disappear();
}
function sendtoafriendButtonRelease() {
titleMode = TITLE_MODE_SENDTOAFRIEND;
Disappear();
}
function seetoysButtonRelease() {
getURL("http://www.hotwheels.com/showcase/product.aspx?product_number=K4328&category_id=7589", "seetoys");
}
function highscoresButtonRelease() {
titleMode = TITLE_MODE_HIGHSCORE;
Disappear();
}
function getTitleMode() {
return(titleMode);
}
function setGameManager(gm) {
gameManager = gm;
}
function Appear() {
appear = true;
}
function Disappear() {
disappear = true;
}
function Run() {
if (appear) {
_x = 0;
_visible = true;
appear = false;
}
if (disappear) {
_x = 700;
_visible = false;
dispatchEvent({type:"EventTitleScreenClosed"});
var _local2 = new LocalConnection();
_local2.send("lc_infoHeader" + String(_level0.randomSeed), "track", {name:"Fashion Frenzy", campaign:"None", channel:"Games", contenttype:"Game", action:"Play"});
}
}
var gameManager = null;
var appear = false;
var disappear = false;
static var TITLE_MODE_PLAY = 10;
static var TITLE_MODE_HIGHSCORE = 20;
static var TITLE_MODE_SENDTOAFRIEND = 30;
}
Symbol 744 MovieClip [__Packages.ScoreBoard] Frame 0
class ScoreBoard extends ComponentBase
{
var helpButton, animation, pauseSecondsLeft, difficulty, clock_graphic, button_help, button_pause, pausedTime, dispatchEvent, soundMgr, _parent, levelText, parent, rep_bar, _x, _y, score_mc, timeStarted, displayTime, sign;
function ScoreBoard () {
super();
Reset();
helpButton.onRelease = helpReleaseHandler;
helpButton.onRollOver = helpRollOverHandler;
animation.play_button.onRelease = closeHelpHandler;
pauseSecondsLeft = 0;
setReputation(50);
totalCars = 0;
difficulty = DIFFICULTY_EASY;
clock = "9:00";
clock_graphic.arrow._rotation = 0;
button_help.onRelease = mx.utils.Delegate.create(this, EventClickHelpButton);
button_pause.onRelease = mx.utils.Delegate.create(this, EventClickPauseButton);
pauseOrHelpOn = false;
pausedSeconds = 0;
pausedTime = new Date();
setTimeUp(true);
ampm = "am";
}
function EventClickHelpButton() {
if (!pauseOrHelpOn) {
dispatchEvent({type:"EventHelpButton"});
pauseOrHelpOn = true;
}
}
function EventClickPauseButton() {
if (!pauseOrHelpOn) {
dispatchEvent({type:"EventPauseButton"});
pauseOrHelpOn = true;
}
}
function setMaxLevelSeconds(secs) {
maxLevelSeconds = secs;
}
function setSoundManager(sm) {
soundMgr = sm;
}
function helpReleaseHandler() {
helpButton.gotoAndPlay("_up");
_parent.clickHelp();
}
function helpRollOverHandler() {
helpButton.gotoAndPlay("_over");
}
function closeHelpHandler() {
_parent._parent.clickCloseHelp();
}
function setDifficulty(diff) {
difficulty = diff;
}
function getDifficulty() {
return(difficulty);
}
function setScore(scr) {
score = scr;
}
function getScore() {
return(score);
}
function Run() {
TimeCalculate();
return(usedSeconds);
}
function Reset() {
money = 0;
score = 0;
level = 0;
levelText = "00";
parent = null;
TimeReset();
setReputation(50);
usedSeconds = 0;
totalCars = 0;
pausedSeconds = 0;
pausedTime = new Date();
clock_graphic.arrow._rotation = 0;
ampm = "am";
}
function incTotalCars() {
totalCars++;
}
function getTotalCars() {
return(totalCars);
}
function incReputation() {
if (reputation < 100) {
setReputation(getReputation() + 1);
}
}
function decReputation() {
if (reputation > 0) {
setReputation(getReputation() - 1);
}
}
function getReputation() {
return(reputation);
}
function setReputation(rep) {
reputation = rep;
if (reputation > 100) {
reputation = 100;
}
if (reputation < 0) {
reputation = 0;
}
reputation_text = reputation.toString() + "%";
rep_bar.bar._xscale = reputation;
var _local2 = new Color(rep_bar.bar);
if (reputation < 25) {
_local2.setRGB(16711680);
} else if ((reputation >= 25) || (reputation <= 75)) {
_local2.setRGB(16776960);
} else if (reputation > 75) {
_local2.setRGB(65280);
}
}
function setParent(par) {
parent = par;
}
function setLocation(x, y) {
_x = x;
_y = y;
}
function getMoney() {
return(money);
}
function setMoney(mon) {
money = mon;
}
function addMoney(scr) {
money = money + Math.ceil(scr);
score = score + Math.ceil(scr);
}
function addBonus(scr) {
money = money + Math.ceil(scr);
score_mc.gotoAndPlay("light");
}
function setStartLevel(lvl) {
level = lvl;
if (level < 10) {
levelText = "0" + level.toString();
} else {
levelText = level.toString();
}
}
function nextLevel() {
level++;
if (level < 10) {
levelText = "0" + level.toString();
} else {
levelText = level.toString();
}
return(level);
}
function getLevel() {
return(level);
}
function TimeCalculate() {
if (!getTimeUp()) {
var _local8 = new Date();
var _local11;
var _local6;
var _local2;
var _local5;
var _local7;
var _local4;
var _local3;
var _local10;
_local11 = _local8.getTime() - timeStarted.getTime();
_local6 = Math.floor(_local11 / 1000);
_local2 = Math.floor(_local6 / 60).toString();
_local5 = Math.ceil(_local6 % 60).toString();
if (_local2.length == 1) {
_local2 = "0" + _local2;
}
if (_local5.length == 1) {
_local5 = "0" + _local5;
}
displayTime = (_local2 + ":") + _local5;
usedSeconds = _local6 - pausedSeconds;
_local7 = usedSeconds * (28800 / maxLevelSeconds);
_local7 = _local7 + 32400;
_local4 = Math.ceil(_local7 / 60);
_local3 = Math.floor(_local4 / 60);
_local4 = Math.ceil(_local4 % 60);
if (_local3 == 12) {
ampm = "pm";
} else if (_local3 > 12) {
_local3 = _local3 - 12;
ampm = "pm";
}
_local10 = _local3.toString();
_local2 = _local4.toString();
if (_local2.length == 1) {
_local2 = "0" + _local2;
}
clock = (_local10 + ":") + _local2;
if (usedSeconds == maxLevelSeconds) {
setTimeUp(true);
}
var _local9 = (360 / maxLevelSeconds) / 4;
clock_graphic.arrow._rotation = _local9 * usedSeconds;
}
}
function pauseClock() {
pausedTime = new Date();
sign.gotoAndStop("closed");
}
function unPauseClock() {
var _local2 = new Date();
var _local3 = _local2.getTime() - pausedTime.getTime();
var _local4 = Math.floor(_local3 / 1000);
pausedSeconds = pausedSeconds + _local4;
sign.gotoAndStop("open");
pauseOrHelpOn = false;
}
function TimeReset() {
timeStarted = new Date();
setTimeUp(false);
clock = "9:00";
ampm = "am";
clock_graphic.arrow._rotation = 0;
pausedSeconds = 0;
}
function setTimeUp(bol) {
timeUp = bol;
}
function getTimeUp() {
return(timeUp);
}
var level = 0;
var usedSeconds = 0;
var money = 0;
var score = 0;
var reputation = 50;
var reputation_text = "100%";
static var DIFFICULTY_EASY = 10;
static var DIFFICULTY_FULL = 30;
var maxLevelSeconds = 60;
var clock = "9:00";
var timeUp = true;
var totalCars = 0;
var pauseOrHelpOn = false;
var pausedSeconds = 0;
var ampm = "am";
}
Symbol 745 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 746 MovieClip [__Packages.EndScreen] Frame 0
class EndScreen extends ComponentBase
{
var button_playagain, button_sendtoafriend, button_seetoys, button_highscores, button_signupnow, _x, _visible, awards_mc, _parent, endMode, soundMgr, getURL, signup_text, girlbad, girlgood, dispatchEvent;
function EndScreen () {
super();
level = 0;
score = 0;
button_playagain.onRelease = playagain_button_release;
button_sendtoafriend.onRelease = sendtoafriend_button_release;
button_seetoys.onRelease = seetoys_button_release;
button_highscores.onRelease = highscores_button_release;
button_signupnow.onRelease = signupnow_button_release;
_x = 700;
_visible = false;
totalCars = 0;
awards_mc._visible = false;
}
function playagain_button_release() {
trace("button pressed here:" + this);
trace(_parent);
_parent.playagainButtonRelease();
}
function sendtoafriend_button_release() {
_parent.sendtoafriendButtonRelease();
}
function seetoys_button_release() {
_parent.seetoysButtonRelease();
}
function highscores_button_release() {
_parent.highscoresButtonRelease();
}
function signupnow_button_release() {
_parent.signupnowButtonRelease();
}
function playagainButtonRelease() {
endMode = END_MODE_PLAYAGAIN;
_root.MattelGameAPICall("game_replay", "");
Disappear();
}
function sendtoafriendButtonRelease() {
endMode = END_MODE_SENDTOAFRIEND;
Disappear();
}
function setSoundMgr(sm) {
soundMgr = sm;
}
function seetoysButtonRelease() {
getURL("http://www.hotwheels.com/showcase/product.aspx?product_number=K4328&category_id=7589", "seetoys");
}
function highscoresButtonRelease() {
endMode = END_MODE_HIGHSCORE;
Disappear();
}
function signupnowButtonRelease() {
getURL("http://www.hotwheels.com/registration/index.aspx", "signup");
}
function getEndMode() {
return(endMode);
}
function setGameManager(gm) {
trace("setting game manager:" + gm);
gameManager = gm;
}
function setScoreBoard(sc) {
scoreBoard = sc;
trace("setting scoreboard:" + sc);
}
function Appear() {
score = scoreBoard.getScore();
totalCars = scoreBoard.getTotalCars();
level = scoreBoard.getLevel();
signup_text._visible = true;
button_signupnow._visible = true;
_visible = true;
appear = true;
endText = "GAME OVER";
_root.MattelGameAPICall("game_over", "score=");
if (score <= 0) {
bbucks = 0;
} else {
bbucks = Math.ceil(level) * 5;
if (bbucks < 5) {
bbucks = 5;
}
}
var _local3 = new LocalConnection();
_local3.send("lc_infoHeader" + String(_level0.randomSeed), "changeBalance", bbucks);
}
function Disappear() {
disappear = true;
}
function Run() {
if (appear) {
_x = _x - 25;
if (_x <= 0) {
_x = 0;
appear = false;
if (scoreBoard.getScore() >= gameManager.WIN_SCORE) {
_root.MattelGameAPICall("game_won", "score=");
girlbad._visible = false;
girlgood.play();
} else {
_root.MattelGameAPICall("game_lost", "score=");
girlgood._visible = false;
girlbad.play();
}
}
}
if (disappear) {
_x = _x + 25;
if (_x >= 700) {
_x = 700;
disappear = false;
_visible = false;
dispatchEvent({type:"EventEndScreenClosed"});
}
}
}
var gameManager = null;
var scoreBoard = null;
static var END_MODE_PLAYAGAIN = 10;
static var END_MODE_HIGHSCORE = 20;
static var END_MODE_SENDTOAFRIEND = 30;
var level = 0;
var score = 0;
var appear = false;
var disappear = false;
var totalCars = 0;
var endText = "GAME OVER";
var bbucks = 0;
}
Symbol 747 MovieClip [__Packages.ResourceList] Frame 0
class ResourceList extends ComponentBase
{
var needDisplayArray, need1, need2, need3, need4, need5, need6, need7, gotoAndStop, bill;
function ResourceList (res) {
super();
needDisplayArray = new Array(need1, need2, need3, need4, need5, need6, need7);
}
function setNeeds(needs) {
gotoAndStop(needs.length);
var _local3 = 0;
var _local4;
var _local2 = 0;
while (_local2 < needs.length) {
_local3 = needs[_local2].getResourceType();
_local4 = needDisplayArray[_local2];
_local4.gotoAndStop(_local3);
_local2++;
}
}
function setBill(b, clr) {
bill.bill = "$" + b.toString();
bill.gotoAndStop(clr);
}
static var BILL_GREEN = 1;
static var BILL_NORMAL = 2;
static var BILL_YELLOW = 3;
static var BILL_RED = 4;
}
Symbol 748 MovieClip [__Packages.RepUpgrade] Frame 0
class RepUpgrade extends ComponentBase
{
var price, gotoAndStop, parent;
function RepUpgrade () {
super();
trace("Rep Upgrade Class");
priceToPay = 0;
repBonus = 0;
repType = 0;
repUsed = 0;
}
function resetRepUsed() {
repUsed = 0;
}
function incRepUsed() {
repUsed++;
}
function setRepPrice(num) {
priceToPay = num + ((num / 10) * repUsed);
priceToPay = Math.ceil(priceToPay);
price.price = priceToPay;
}
function getRepPrice() {
return(priceToPay);
}
function setRepBonus(num) {
repBonus = num;
}
function setRepType(typ) {
repType = typ;
gotoAndStop(repType);
}
function getRepBonus() {
return(repBonus);
}
function setParent(par) {
parent = par;
}
function getParent() {
return(parent);
}
var priceToPay = 0;
var repBonus = 0;
static var REP_COUPON = 1;
static var REP_NEWSPAPER = 2;
static var REP_COMMUNITY = 3;
static var REP_TV = 4;
var repType = 0;
var repUsed = 0;
}
Symbol 749 MovieClip [__Packages.LevelScreen] Frame 0
class LevelScreen extends ComponentBase
{
var news, button_play, _x, rep1, rep2, rep3, rep4, soundMgr, _parent, _visible, rep_bar, purses, shoes, bottoms, jewelry, snacks, tops, music, dispatchEvent;
function LevelScreen () {
super();
level = 0;
reputation = 0;
money = 0;
score = 0;
news = "";
button_play.onRelease = play_button_release;
_x = 700;
rep1.setParent(this);
rep2.setParent(this);
rep3.setParent(this);
rep4.setParent(this);
}
function setSoundManager(sm) {
soundMgr = sm;
}
function play_button_release() {
trace("button pressed here:" + this);
trace(_parent);
_parent.playButtonRelease();
}
function playButtonRelease() {
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("Beep2", 100, 1, 0, false, 0);
} else {
soundMgr.playSound("Beep_ff", 100, 1, 0, false, 0);
}
Disappear();
}
function setGameManager(gm) {
trace("setting game manager:" + gm);
gameManager = gm;
}
function setScoreBoard(sc) {
scoreBoard = sc;
trace("setting scoreboard:" + sc);
}
function setBuildingManager(bm) {
trace("setting building:" + bm);
buildingManager = bm;
}
function Appear() {
refreshScreen();
_visible = true;
appear = true;
}
function refreshScreen() {
score = scoreBoard.getScore();
level = scoreBoard.getLevel();
reputation = scoreBoard.getReputation();
reputation_text = reputation.toString() + "%";
rep_bar.bar._xscale = reputation;
money = scoreBoard.getMoney();
var _local9 = buildingManager.getBuildings();
var _local4 = null;
var _local8;
var _local2 = [purses, shoes, bottoms, jewelry, snacks, tops, music];
var _local6 = [Resource.TYPE_PURSES, Resource.TYPE_SHOES, Resource.TYPE_BOTTOMS, Resource.TYPE_JEWELRY, Resource.TYPE_SNACKS, Resource.TYPE_TOPS, Resource.TYPE_MUSIC];
var _local5 = 0;
while (_local5 < _local2.length) {
_local4 = findBuilding(_local9, _local6[_local5]);
_local2[_local5].structure.fill._visible = false;
_local2[_local5].structure.exitspot._visible = false;
_local2[_local5].structure.driveto._visible = false;
if (_local4 != null) {
_local2[_local5].gotoAndStop(_local6[_local5] - 1);
_local2[_local5].price.price = "$" + _local4.getCost();
_local2[_local5].setPriceToPay(_local4.getCost());
_local2[_local5].setParent(this);
_local2[_local5].setResourceType(_local6[_local5]);
if (_local4.isOpen()) {
_local8 = _local4.getPowerLevel();
_local2[_local5].building.gotoAndStop(2);
_local2[_local5].building.powerMeter.gotoAndStop(_local8);
if (_local4.getCost() > money) {
if (_local4.getPowerLevel() < 5) {
_local2[_local5].price.gotoAndStop("cantbuy");
} else {
_local2[_local5].price.gotoAndStop("max");
}
_local2[_local5].b_oum.gotoAndStop("off");
} else if (_local4.getPowerLevel() < 5) {
_local2[_local5].b_oum.gotoAndStop("upgrade");
_local2[_local5].b_oum.onRelease = upgradeBuilding;
_local2[_local5].price.gotoAndStop("canbuy");
} else {
_local2[_local5].b_oum.gotoAndStop("max");
_local2[_local5].b_oum.onRelease = null;
_local2[_local5].price.gotoAndStop("max");
}
} else if (_local4.getCost() > money) {
_local2[_local5].price.gotoAndStop("cantbuy");
_local2[_local5].b_oum.gotoAndStop("off");
} else {
_local2[_local5].b_oum.gotoAndStop("open");
_local2[_local5].b_oum.onRelease = openBuilding;
_local2[_local5].price.gotoAndStop("canbuy");
}
}
_local5++;
}
var _local7 = [rep1, rep2, rep3, rep4];
rep1.setRepType(RepUpgrade.REP_COUPON);
rep1.setRepBonus(gameManager.REP_ADD_COUPON_BONUS);
rep1.setRepPrice(gameManager.REP_ADD_COUPON_PRICE);
rep2.setRepType(RepUpgrade.REP_NEWSPAPER);
rep2.setRepBonus(gameManager.REP_ADD_NEWSPAPER_BONUS);
rep2.setRepPrice(gameManager.REP_ADD_NEWSPAPER_PRICE);
rep3.setRepType(RepUpgrade.REP_COMMUNITY);
rep3.setRepBonus(gameManager.REP_ADD_COMMUNITY_BONUS);
rep3.setRepPrice(gameManager.REP_ADD_COMMUNITY_PRICE);
rep4.setRepType(RepUpgrade.REP_TV);
rep4.setRepBonus(gameManager.REP_ADD_TV_BONUS);
rep4.setRepPrice(gameManager.REP_ADD_TV_PRICE);
rep1.setParent(this);
rep2.setParent(this);
rep3.setParent(this);
rep4.setParent(this);
_local5 = 0;
while (_local5 < _local7.length) {
var _local3 = _local7[_local5];
if (_local3.getRepPrice() < money) {
_local3.price.gotoAndStop("canbuy");
if ((reputation + _local3.getRepBonus()) <= 100) {
_local3.rep_buy.gotoAndStop("Buy");
_local3.rep_buy.onRelease = upgradeReputation;
} else {
_local3.price.gotoAndStop("cantbuy");
_local3.rep_buy.gotoAndStop("off");
}
} else {
_local3.price.gotoAndStop("cantbuy");
_local3.rep_buy.gotoAndStop("off");
}
_local5++;
}
}
function openBuilding() {
trace("OPEN:" + _parent);
trace("price to pay:" + _parent.getPriceToPay());
trace("parent's parent:" + _parent.getParent());
var _local2 = _parent.getParent();
_local2.callBackMakePurchase(_parent);
}
function upgradeBuilding() {
trace("UPGRADE:" + _parent);
trace("price to pay:" + _parent.getPriceToPay());
trace("parent's parent:" + _parent.getParent());
var _local2 = _parent.getParent();
_local2.callBackMakePurchase(_parent);
}
function callBackMakePurchase(build) {
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("ElectronicSound", 100, 1, 0, false);
} else {
soundMgr.playSound("Coupon_ff", 100, 1, 0, false);
}
trace("called back, upgrade this:" + build);
trace("price to pay:" + build.getPriceToPay());
trace("resource to open/upgrade:" + build.getResourceType());
var _local2 = findBuilding(buildingManager.getBuildings(), build.getResourceType());
if (!_local2.isOpen()) {
_local2.openBuilding();
_local2.addResourceTicket();
} else {
_local2.setPowerLevel(_local2.getPowerLevel() + 1);
if (gameManager.ADD_RESOURCE_TICKET_PER_UPGRADE) {
_local2.addResourceTicket();
}
}
scoreBoard.setMoney(scoreBoard.getMoney() - build.getPriceToPay());
refreshScreen();
}
function upgradeReputation() {
trace("UPGRADE:" + _parent);
trace("price to pay:" + _parent.getRepPrice());
trace("parent's parent:" + _parent.getParent());
var _local2 = _parent.getParent();
_parent.incRepUsed();
_local2.callBackUpgradeRep(_parent.priceToPay, _parent.repBonus);
}
function callBackUpgradeRep(price, bonus) {
scoreBoard.setReputation(scoreBoard.getReputation() + bonus);
scoreBoard.setMoney(scoreBoard.getMoney() - price);
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("Upgrade", 100, 1, 0, false);
} else {
soundMgr.playSound("Upgrade_ff", 100, 1, 0, false);
}
refreshScreen();
}
function findBuilding(buildings, res) {
var _local5 = null;
var _local2;
var _local3;
var _local1 = 0;
while (_local1 < buildings.length) {
_local2 = buildings[_local1];
_local3 = _local2.getBuildingResource();
if (_local3.getResourceType() == res) {
_local5 = _local2;
}
_local1++;
}
return(_local5);
}
function Disappear() {
disappear = true;
}
function Run() {
if (appear) {
_x = _x - 25;
if (_x <= 0) {
_x = 0;
appear = false;
}
}
if (disappear) {
_x = _x - 25;
if (_x <= -600) {
_x = 700;
disappear = false;
_visible = false;
dispatchEvent({type:"EventLevelScreenClosed"});
}
}
}
var gameManager = null;
var scoreBoard = null;
var buildingManager = null;
var level = 0;
var reputation = 0;
var money = 0;
var score = 0;
var appear = false;
var disappear = false;
var reputation_text = "";
}
Symbol 750 MovieClip [__Packages.FlyingScore] Frame 0
class FlyingScore extends ComponentBase
{
var finalX, finalY, xunits, yunits, messageText, parent, addEventListener, finalValue, dispatchEvent, removeMovieClip, _x, _y, _xscale, _yscale, _rotation;
function FlyingScore () {
super();
movedFrames = 0;
finalX = 0;
finalY = 0;
xunits = 0;
yunits = 0;
moving = false;
left = false;
right = false;
up = false;
down = false;
doSpin = false;
degrees = 0;
messageText = "";
}
function setParent(clp) {
parent = clp;
addEventListener(eventThrown, parent);
}
function Terminate() {
trace("Terminate-finalValue:" + finalValue);
dispatchEvent({type:"EventFlyingScoreArrival", finalValue:finalValue});
removeMovieClip();
}
function setLocation(x, y) {
_x = x;
_y = y;
}
function setFinalLocation(x, y) {
finalX = x;
finalY = y;
}
function getX() {
return(_x);
}
function getY() {
return(_y);
}
function setDoSpin(tf, deg) {
doSpin = tf;
degrees = deg;
}
function setMessageText(msg) {
messageText = msg;
}
function setRGBColor(clr) {
var _local2 = new Color(this);
_local2.setRGB(clr);
}
function startMoving(fv) {
finalValue = fv;
trace((((((("startx:" + _x) + " starty") + _y) + "finalX:") + finalX) + " finalY:") + finalY);
if (finalX > _x) {
right = true;
xunits = (finalX - _x) / MOVEFRAMES;
trace("Right=true: xunits=" + xunits);
} else {
left = true;
xunits = (_x - finalX) / MOVEFRAMES;
trace("Left=true: xunits=" + xunits);
}
if (finalY > _y) {
down = true;
yunits = (finalY - _y) / MOVEFRAMES;
trace("down=true: yunits=" + yunits);
} else {
up = true;
yunits = (_y - finalY) / MOVEFRAMES;
trace("up=true: yunits=" + yunits);
}
moving = true;
}
function onEnterFrame() {
if (moving) {
movedFrames++;
_xscale = _xscale + 10;
_yscale = _yscale + 10;
if (up) {
_y = _y - yunits;
} else {
_y = _y + yunits;
}
if (right) {
_x = _x + xunits;
} else {
_x = _x - xunits;
}
if (doSpin) {
_rotation = _rotation + degrees;
}
if (movedFrames >= MOVEFRAMES) {
Terminate();
}
}
}
var moving = false;
var MOVEFRAMES = 20;
var movedFrames = 0;
var right = false;
var left = false;
var up = false;
var down = false;
var doSpin = false;
var degrees = 0;
var eventThrown = "EventFlyingScoretArrival";
}
Symbol 751 MovieClip [__Packages.HelpScreen] Frame 0
class HelpScreen extends ComponentBase
{
var button_play, _x, _y, _visible, _parent, dispatchEvent;
function HelpScreen () {
super();
button_play.onRelease = play_button_release;
_x = 0;
_y = 0;
_visible = false;
}
function play_button_release() {
_parent.playagainButtonRelease();
}
function playagainButtonRelease() {
Disappear();
}
function setGameManager(gm) {
gameManager = gm;
}
function Appear() {
appear = true;
}
function Disappear() {
disappear = true;
}
function Run() {
if (appear) {
_x = 0;
_visible = true;
appear = false;
}
if (disappear) {
_x = 700;
_visible = false;
disappear = false;
dispatchEvent({type:"EventHelpScreenClosed"});
}
}
var gameManager = null;
var appear = false;
var disappear = false;
}
Symbol 752 MovieClip [__Packages.PauseScreen] Frame 0
class PauseScreen extends ComponentBase
{
var _x, _y, _visible, button_play, enteredCode, _parent, _alpha, keycode, dispatchEvent;
function PauseScreen () {
super();
_x = 700;
_y = 0;
_visible = false;
button_play.onRelease = play_button_release;
enteredCode = new Array();
Key.addListener(this);
}
function setGameManager(gm) {
gameManager = gm;
}
function play_button_release() {
_parent.playagainButtonRelease();
}
function playagainButtonRelease() {
Disappear();
}
function Appear() {
appear = true;
disappear = false;
_alpha = 0;
_x = 0;
_visible = true;
enteredCode = new Array();
}
function Disappear() {
appear = false;
disappear = true;
}
function onKeyDown() {
trace("Key:" + Key.getCode());
keycode = Key.getCode().toString();
enteredCode.push(keycode);
if (enteredCode.join(",") == soundCode) {
keycode = "Hot";
dispatchEvent({type:"EventHotWheelsSounds"});
}
}
function onEnterFrame() {
if (appear) {
_alpha = _alpha + 5;
if (_alpha > 80) {
_alpha = 80;
appear = false;
}
}
if (disappear) {
_alpha = _alpha - 5;
if (_alpha <= 0) {
_alpha = 0;
disappear = false;
_x = 700;
_visible = false;
dispatchEvent({type:"EventPauseScreenClosed"});
}
}
}
var gameManager = null;
var appear = false;
var disappear = false;
var cheatString = "";
var soundCode = "72,79,84,87,72,69,69,76,83";
}
Symbol 753 MovieClip [__Packages.FadeScreen] Frame 0
class FadeScreen extends ComponentBase
{
var _x, _y, _visible, _alpha;
function FadeScreen () {
super();
_x = 700;
_y = 0;
_visible = false;
}
function setGameManager(gm) {
gameManager = gm;
}
function Appear() {
appear = true;
disappear = false;
_alpha = 0;
_x = 0;
_visible = true;
}
function Disappear() {
appear = false;
disappear = true;
}
function onEnterFrame() {
if (appear) {
_alpha = _alpha + 5;
if (_alpha > 80) {
_alpha = 80;
appear = false;
}
}
if (disappear) {
_alpha = _alpha - 5;
if (_alpha <= 0) {
_alpha = 0;
disappear = false;
_x = 700;
_visible = false;
}
}
}
var gameManager = null;
var appear = false;
var disappear = false;
}
Symbol 754 MovieClip [__Packages.MessageBox] Frame 0
class MessageBox extends ComponentBase
{
var _visible, _alpha, message;
function MessageBox () {
super();
_visible = false;
appearCount = 0;
fade = false;
}
function setMessage(msg) {
trace("MSGBOX: Setting Message:" + msg);
_alpha = 75;
_visible = true;
message = msg;
appearCount = 0;
fade = false;
}
function Run() {
if (_visible) {
if (!fade) {
appearCount++;
}
if (appearCount >= APPEARMAX) {
fade = true;
}
if (fade) {
_alpha = _alpha - 5;
if (_alpha <= 0) {
_visible = false;
}
}
}
}
var appearCount = 0;
static var APPEARMAX = 30;
var fade = false;
}
Symbol 755 MovieClip [__Packages.InstructionsScreen] Frame 0
class InstructionsScreen extends ComponentBase
{
var button_play, _x, _y, _visible, _parent, dispatchEvent;
function InstructionsScreen () {
super();
button_play.onRelease = play_button_release;
_x = 0;
_y = 0;
_visible = false;
}
function play_button_release() {
_parent.playagainButtonRelease();
}
function playagainButtonRelease() {
Disappear();
}
function setGameManager(gm) {
gameManager = gm;
}
function Appear() {
appear = true;
}
function Disappear() {
disappear = true;
}
function Run() {
if (appear) {
_x = 0;
_visible = true;
appear = false;
}
if (disappear) {
_x = 700;
_visible = false;
dispatchEvent({type:"EventInstructionsScreenClosed"});
}
}
var gameManager = null;
var appear = false;
var disappear = false;
}
Symbol 756 MovieClip [__Packages.BonusScreen] Frame 0
class BonusScreen extends ComponentBase
{
var button_next, _x, _y, _visible, bonustext, soundMgr, _parent, scoreBoard, reputation_text, rep_bar, dispatchEvent;
function BonusScreen () {
super();
button_next.onRelease = next_button_release;
_x = 700;
_y = 0;
_visible = false;
bonustext = "$0.00";
}
function setSoundManager(sm) {
soundMgr = sm;
}
function next_button_release() {
_parent.nextButtonRelease();
}
function nextButtonRelease() {
Disappear();
}
function setGameManager(gm) {
gameManager = gm;
}
function setScoreBoard(sb) {
trace("BonusScreen : scoreBoard:" + sb);
scoreBoard = sb;
}
function Appear() {
_x = 700;
_visible = true;
appear = true;
reputation = scoreBoard.getReputation();
reputation_text = reputation.toString() + "%";
level = scoreBoard.getLevel();
bonus = 0;
bonustext = "$0.00";
setBar();
button_next._visible = false;
}
function Disappear() {
if (gameManager.SPINCITY_AUDIO) {
soundMgr.playSound("Beep2", 50, 1, 0, false);
} else {
soundMgr.playSound("Beep_ff", 50, 1, 0, false);
}
disappear = true;
}
function setBar() {
rep_bar.bar._xscale = reputation;
var _local2 = new Color(rep_bar.bar);
if (reputation < 25) {
_local2.setRGB(16711680);
} else if ((reputation >= 25) || (reputation <= 75)) {
_local2.setRGB(16776960);
} else if (reputation > 75) {
_local2.setRGB(65280);
}
}
function Run() {
if (appear) {
_x = _x - 25;
if (_x <= 0) {
_x = 0;
appear = false;
count = true;
}
}
if (disappear) {
_x = _x - 25;
if (_x <= -600) {
_x = 700;
disappear = false;
_visible = false;
dispatchEvent({type:"EventBonusScreenClosed"});
}
}
if (count) {
bonus = bonus + (1 * (level + 1));
bonustext = ("$" + bonus) + ".00";
soundMgr.playSound("bonus_ff", 100, 1, 0, false);
reputation--;
reputation_text = reputation.toString() + "%";
setBar();
if (reputation <= 0) {
count = false;
button_next._visible = true;
trace("Counting: scoreBoard:" + scoreBoard);
scoreBoard.addMoney(bonus);
}
}
}
var gameManager = null;
var appear = false;
var disappear = false;
var count = false;
var reputation = 0;
var level = 0;
var bonus = 0;
}
Symbol 140 MovieClip Frame 1
stop();
Symbol 140 MovieClip Frame 5
stop();
Symbol 140 MovieClip Frame 10
stop();
Symbol 145 MovieClip [FBonusScreen] Frame 1
#initclip 50
Object.registerClass("FBonusScreen", BonusScreen);
#endinitclip
Symbol 149 MovieClip [FFlyingRep] Frame 1
#initclip 33
Object.registerClass("FFlyingRep", FlyingRep);
#endinitclip
stop();
Symbol 149 MovieClip [FFlyingRep] Frame 2
stop();
Symbol 150 MovieClip [FCarManager] Frame 1
#initclip 34
Object.registerClass("FCarManager", CarManager);
#endinitclip
Symbol 155 MovieClip Frame 1
stop();
Symbol 155 MovieClip Frame 2
stop();
Symbol 155 MovieClip Frame 3
stop();
Symbol 155 MovieClip Frame 4
stop();
Symbol 174 MovieClip Frame 1
stop();
Symbol 174 MovieClip Frame 2
stop();
Symbol 174 MovieClip Frame 3
stop();
Symbol 174 MovieClip Frame 4
stop();
Symbol 174 MovieClip Frame 5
stop();
Symbol 174 MovieClip Frame 6
stop();
Symbol 174 MovieClip Frame 7
stop();
Symbol 174 MovieClip Frame 8
stop();
Symbol 174 MovieClip Frame 9
stop();
Symbol 175 MovieClip [FResourceList] Frame 1
#initclip 35
Object.registerClass("FResourceList", ResourceList);
#endinitclip
stop();
Symbol 175 MovieClip [FResourceList] Frame 2
stop();
Symbol 175 MovieClip [FResourceList] Frame 3
stop();
Symbol 175 MovieClip [FResourceList] Frame 4
stop();
Symbol 175 MovieClip [FResourceList] Frame 5
stop();
Symbol 175 MovieClip [FResourceList] Frame 6
stop();
Symbol 175 MovieClip [FResourceList] Frame 7
stop();
Symbol 187 MovieClip Frame 1
stop();
Symbol 187 MovieClip Frame 5
stop();
Symbol 187 MovieClip Frame 10
stop();
Symbol 263 MovieClip Frame 1
stop();
Symbol 263 MovieClip Frame 58
stop();
Symbol 269 MovieClip Frame 1
stop();
Symbol 269 MovieClip Frame 83
stop();
Symbol 286 MovieClip [FEndScreen] Frame 1
#initclip 36
Object.registerClass("FEndScreen", EndScreen);
#endinitclip
Symbol 292 MovieClip [FPathPoint] Frame 1
stop();
Symbol 292 MovieClip [FPathPoint] Frame 2
stop();
Symbol 300 MovieClip Frame 1
stop();
Symbol 300 MovieClip Frame 5
stop();
Symbol 300 MovieClip Frame 10
stop();
Symbol 301 MovieClip Frame 1
stop();
Symbol 301 MovieClip Frame 6
stop();
Symbol 308 MovieClip Frame 1
stop();
Symbol 308 MovieClip Frame 7
stop();
Symbol 321 MovieClip [FRepUpgrade] Frame 1
#initclip 37
Object.registerClass("FRepUpgrade", RepUpgrade);
#endinitclip
stop();
Symbol 321 MovieClip [FRepUpgrade] Frame 2
stop();
Symbol 321 MovieClip [FRepUpgrade] Frame 3
stop();
Symbol 321 MovieClip [FRepUpgrade] Frame 4
stop();
Symbol 324 MovieClip Frame 1
stop();
Symbol 324 MovieClip Frame 5
stop();
Symbol 324 MovieClip Frame 10
stop();
Symbol 329 MovieClip [FLevelScreen] Frame 1
#initclip 38
Object.registerClass("FLevelScreen", LevelScreen);
#endinitclip
Symbol 334 MovieClip Frame 1
stop();
Symbol 336 MovieClip Frame 1
stop();
Symbol 336 MovieClip Frame 2
stop();
Symbol 336 MovieClip Frame 3
stop();
Symbol 336 MovieClip Frame 4
stop();
Symbol 336 MovieClip Frame 5
stop();
Symbol 336 MovieClip Frame 6
stop();
Symbol 336 MovieClip Frame 7
stop();
Symbol 336 MovieClip Frame 8
stop();
Symbol 340 MovieClip Frame 1
stop();
Symbol 340 MovieClip Frame 10
stop();
Symbol 342 MovieClip Frame 1
stop();
Symbol 345 MovieClip Frame 1
stop();
Symbol 347 MovieClip Frame 1
stop();
Symbol 350 MovieClip Frame 1
stop();
Symbol 352 MovieClip Frame 1
stop();
Symbol 354 MovieClip Frame 1
stop();
Symbol 355 MovieClip Frame 1
stop();
Symbol 355 MovieClip Frame 2
stop();
Symbol 355 MovieClip Frame 3
stop();
Symbol 355 MovieClip Frame 4
stop();
Symbol 355 MovieClip Frame 5
stop();
Symbol 355 MovieClip Frame 6
stop();
Symbol 355 MovieClip Frame 7
stop();
Symbol 355 MovieClip Frame 8
stop();
Symbol 394 MovieClip Frame 1
stop();
Symbol 394 MovieClip Frame 2
stop();
Symbol 394 MovieClip Frame 3
stop();
Symbol 394 MovieClip Frame 4
stop();
Symbol 394 MovieClip Frame 5
stop();
Symbol 394 MovieClip Frame 6
stop();
Symbol 394 MovieClip Frame 7
stop();
Symbol 394 MovieClip Frame 8
stop();
Symbol 395 MovieClip Frame 1
stop();
Symbol 395 MovieClip Frame 2
stop();
Symbol 397 MovieClip [FCar] Frame 1
#initclip 39
Object.registerClass("FCar", Car);
#endinitclip
stop();
Symbol 402 MovieClip [FFlyingScore] Frame 1
#initclip 40
Object.registerClass("FFlyingScore", FlyingScore);
#endinitclip
stop();
Symbol 402 MovieClip [FFlyingScore] Frame 2
stop();
Symbol 402 MovieClip [FFlyingScore] Frame 3
stop();
Symbol 402 MovieClip [FFlyingScore] Frame 4
stop();
Symbol 433 MovieClip Frame 1
stop();
Symbol 433 MovieClip Frame 11
stop();
Symbol 447 MovieClip Frame 1
stop();
Symbol 447 MovieClip Frame 5
stop();
Symbol 447 MovieClip Frame 10
stop();
Symbol 468 MovieClip Frame 1
stop();
Symbol 468 MovieClip Frame 5
stop();
Symbol 468 MovieClip Frame 10
stop();
Symbol 472 MovieClip [FScoreBoard] Frame 1
#initclip 41
Object.registerClass("FScoreBoard", ScoreBoard);
#endinitclip
Symbol 476 MovieClip Frame 1
stop();
Symbol 476 MovieClip Frame 5
stop();
Symbol 476 MovieClip Frame 10
stop();
Symbol 495 MovieClip [FHelpScreen] Frame 1
#initclip 42
Object.registerClass("FHelpScreen", HelpScreen);
#endinitclip
Symbol 501 MovieClip Frame 1
stop();
Symbol 501 MovieClip Frame 5
stop();
Symbol 501 MovieClip Frame 10
stop();
Symbol 504 MovieClip [FPauseScreen] Frame 1
#initclip 43
Object.registerClass("FPauseScreen", PauseScreen);
#endinitclip
Symbol 549 MovieClip Frame 2
gotoAndStop(_parent._parent._name);
Symbol 549 MovieClip Frame 3
stop();
Symbol 549 MovieClip Frame 4
stop();
Symbol 549 MovieClip Frame 5
stop();
Symbol 549 MovieClip Frame 6
stop();
Symbol 549 MovieClip Frame 7
stop();
Symbol 549 MovieClip Frame 8
stop();
Symbol 555 MovieClip Frame 1
stop();
Symbol 564 MovieClip Frame 9
stop();
Symbol 564 MovieClip Frame 20
stop();
Symbol 565 MovieClip Frame 1
stop();
Symbol 565 MovieClip Frame 2
stop();
Symbol 570 MovieClip Frame 1
stop();
Symbol 570 MovieClip Frame 2
stop();
Symbol 571 MovieClip Frame 1
stop();
Symbol 571 MovieClip Frame 2
stop();
Symbol 572 MovieClip Frame 1
stop();
Symbol 572 MovieClip Frame 2
stop();
Symbol 573 MovieClip Frame 1
stop();
Symbol 573 MovieClip Frame 2
stop();
Symbol 581 MovieClip Frame 1
stop();
Symbol 581 MovieClip Frame 12
stop();
Symbol 583 MovieClip Frame 1
stop();
Symbol 585 MovieClip [FBuilding] Frame 1
#initclip 44
Object.registerClass("FBuilding", Building);
#endinitclip
stop();
Symbol 585 MovieClip [FBuilding] Frame 2
stop();
Symbol 585 MovieClip [FBuilding] Frame 3
stop();
Symbol 585 MovieClip [FBuilding] Frame 4
stop();
Symbol 585 MovieClip [FBuilding] Frame 5
stop();
Symbol 585 MovieClip [FBuilding] Frame 6
stop();
Symbol 585 MovieClip [FBuilding] Frame 7
stop();
Symbol 585 MovieClip [FBuilding] Frame 8
stop();
Symbol 585 MovieClip [FBuilding] Frame 9
stop();
Symbol 587 MovieClip [FSoundManager] Frame 1
#initclip 45
Object.registerClass("FSoundManager", SoundManager);
#endinitclip
Symbol 588 MovieClip [FFadeScreen] Frame 1
#initclip 46
Object.registerClass("FFadeScreen", FadeScreen);
#endinitclip
Symbol 591 MovieClip [FMessageBox] Frame 1
#initclip 47
Object.registerClass("FMessageBox", MessageBox);
#endinitclip
Symbol 594 MovieClip [FInstructScreen] Frame 1
#initclip 48
Object.registerClass("FInstructScreen", InstructionsScreen);
#endinitclip
Symbol 648 MovieClip Frame 19
stop();
Symbol 649 MovieClip Frame 40
stop();
Symbol 650 MovieClip [FTitleScreen] Frame 1
#initclip 49
Object.registerClass("FTitleScreen", TitleScreen);
#endinitclip
Symbol 725 MovieClip Frame 1
stop();