Frame 2
function preload(clip, goFrame, override) {
clip.currentPos = 0;
clip.goFrame = goFrame;
clip.tl = this;
clip.ready = false;
clip.override = override;
clip.onEnterFrame = function () {
var _local3 = this.tl.getBytesLoaded();
var _local5 = this.tl.getBytesTotal();
var _local2 = Math.round((100 / _local5) * _local3);
var _local4 = Math.round((_local2 - this.currentPos) / 4);
if (_local4 < 1) {
_local4 = 1;
}
this.currentPos = this.currentPos + _local4;
if (this.currentPos >= _local2) {
this.currentPos = _local2;
}
if (_local3 > 16) {
this.p_txt.text = _local2 + " %";
this.gotoAndStop(this.currentPos);
if (((this.currentPos >= 100) && (_local3 >= _local5)) && (this.ready || (this.override))) {
delete this.onEnterFrame;
this.tl.gotoAndPlay(goFrame);
}
}
};
}
_global.root = this;
_root.CID = "49";
_root.PID = "euroball_widget";
stop();
preload(this.preloaderShell_mc.preloader_mc, "init", true);
Frame 15
function formatTime(milliseconds, toReturn) {
if (toReturn == undefined) {
toReturn = "s";
}
var _local2 = Math.floor(milliseconds / 10);
var _local1 = Math.floor(_local2 / 100);
var _local3 = Math.floor(_local1 / 60);
_local2 = _local2 % 100;
_local1 = _local1 % 60;
_local3 = _local3 % 60;
if (_local2 < 10) {
_local2 = "0" + _local2;
}
if (_local1 < 10) {
_local1 = "0" + _local1;
}
if (_local3 < 10) {
_local3 = "0" + _local3;
}
switch (toReturn) {
case "m-s-c" :
return((((_local3 + ":") + _local1) + ":") + _local2);
case "m-s" :
return((_local1 + ":") + _local2);
case "s" :
return(_local1);
}
}
function trackerInit() {
function afterLoad() {
com.bentempleton.Widget.__get__root().gotoAndPlay("main");
}
com.teamrubber.SeqTrackerAdaptor.doLoad();
_global.root.preloaderShell_mc.preloader_mc.text_mc.gotoAndStop("prepare");
if (_global.root.UID == undefined) {
_global.root.UID = 1241;
}
com.bentempleton.Widget.__get__instance().getWidget({UID:_global.root.UID}, afterLoad);
}
function toSplash() {
var _local3 = new mx.transitions.Tween(_global.root.preloaderShell_mc, "_alpha", mx.transitions.easing.Strong.easeOut, 100, 0, 5, false);
_local3.onMotionFinished = function () {
this.obj._visible = false;
_global.root.gotoAndPlay("main");
};
}
stop();
_global.root = this;
_global.baseURL = "http://panthro.teamrubber.com/rubber_client_work/euroball/";
_global.scriptURL = _global.baseURL + "dbWidget/";
_global.XMLURL = "http://static.teamrubber.com/virals/JVC/euroball/xml/";
_global.homepage = "http://www.jvcfootball.com/euroball";
_global.jvcURL = "http://www.jvcfootball.com/";
var gameDepths = new Object({table:90, chalk:91, bonuses:100, countdowns:400, coins:120, goal:150, collMap:200, collObjs:210, flags:220, dragger:250, UI:300, FB:350, tests:500});
var depths = new Object({game:100, UI:200, splash:300, splashOut:50});
var radius = 11;
var radius_sm = 6;
var targetGoals = 10;
this._lockroot = true;
System.security.allowDomain("http://static.teamrubber.com");
var my_lc = new LocalConnection();
my_lc.allowDomain = function (sendingDomain) {
return(sendingDomain == "http://static.teamrubber.com");
};
trace("UTILS *************");
_global.setupComboBoxes = function (cb) {
cb.setStyle("fontFamily", "Arial");
cb.setStyle("fontSize", 12);
cb.setStyle("embedFonts", true);
cb.setStyle("color", 0);
};
_global.alignClip = function (clip, alignment, extra) {
var _local1 = new Object();
var _local3 = extra.props;
var _local4 = extra.padding;
var _local5 = extra.lock;
if (clip == null) {
clip = new MovieClip();
}
if (_local3 == undefined) {
_local3 = {};
}
if (_local4 == undefined) {
_local4 = {};
}
var _local7 = new Array("T", "R", "B", "L");
i = 0;
while (i < _local7.length) {
if (_local4[_local7[i]] == undefined) {
_local4[_local7[i]] = 0;
}
i++;
}
i = 0;
while (i < alignment.length) {
alignment[i] = alignment[i].toUpperCase();
switch (alignment[i]) {
case "T" :
_local1.y = Math.round(0 + _local4.T);
clip._y = _local1.y;
break;
case "R" :
var _local11 = ((_local3.W == undefined) ? (clip._width) : (_local3.W));
_local1.x = Math.round((Stage.width - _local4.R) - _local11);
if (_local5.L != undefined) {
if (_local1.x > _local5.L) {
clip._x = _local1.x;
}
} else {
clip._x = _local1.x;
}
break;
case "B" :
var _local9 = ((_local3.H == undefined) ? (clip._height) : (_local3.H));
_local1.y = Math.round((Stage.height - _local4.B) - _local9);
if (_local5.T != undefined) {
if (_local1.y > _local5.T) {
clip._y = _local1.y;
}
} else {
clip._y = _local1.y;
}
break;
case "L" :
_local1.x = Math.round(0 + _local4.L);
clip._x = _local1.x;
break;
case "X" :
var _local8 = Stage.width / 2;
var _local10 = ((_local3.W == undefined) ? (clip._width / 2) : (_local3.W / 2));
_local1.x = Math.round(_local8 - _local10);
clip._x = _local1.x;
break;
case "Y" :
_local8 = Stage.height / 2;
_local10 = ((_local3.H == undefined) ? (clip._height / 2) : (_local3.H / 2));
_local1.y = Math.round((_local8 - _local10) + _local4.T);
clip._y = _local1.y;
}
i++;
}
return(_local1);
};
_global.centreAlign = function (root, clip) {
var _local1 = root._width / 2;
clip._x = Math.round(_local1 - (clip._width / 2));
};
_global.centreOnScale = function (clip, pos) {
var _local1 = 1 - (clip._xscale / 100);
var _local3 = (pos.r - pos.l) / 2;
clip._x = pos.l + (_local1 * _local3);
};
_global.offsetForCentered = function (target, clip) {
return({x:Math.round(target.x - clip._x), y:Math.round(target.y - clip._y)});
};
_global.traceXML = function (obj) {
trace(("XML object - - - - - - - - - - - - - - - - - - - [" + obj) + "]");
for (i in obj) {
trace((("var: " + i) + " | value: ") + obj[i]);
}
};
_global.setMultiTextFormats = function (tf, str, points) {
var _local13 = new Array();
var _local12 = new Array();
var _local4 = 0;
var _local3 = 0;
while (_local3 < points.length) {
points[_local3].s = str.indexOf(points[_local3].from);
var _local8 = str.substring(_local4, points[_local3].s);
var _local7 = str.substring(points[_local3].s + points[_local3].from.length, str.length);
str = _local8 + _local7;
_local3++;
}
_local3 = 0;
while (_local3 < points.length) {
points[_local3].e = str.indexOf(points[_local3].to);
var _local8 = str.substring(_local4, points[_local3].e);
var _local7 = str.substring(points[_local3].e + points[_local3].to.length, str.length);
str = _local8 + _local7;
_local3++;
}
tf.text = str;
_local4 = 0;
var _local6 = 0;
var _local5 = 0;
var _local11 = tf.getTextFormat();
var _local10;
_local3 = 0;
while (_local3 < points.length) {
_local6 = points[_local3].s;
_local5 = points[_local3].e;
_local10 = points[_local3].fmt;
tf.setTextFormat(_local4, _local6, _local11);
tf.setTextFormat(_local6, _local5, _local10);
_local4 = _local5;
_local3++;
}
};
_global.makeHTML = function (str, origChars, htmlChars) {
while (str.indexOf(origChars[0]) > -1) {
var _local3 = str.indexOf(origChars[0]);
var _local4 = str.substring(0, _local3);
var _local5 = str.substring(_local3 + origChars[0].length, str.length);
str = (_local4 + htmlChars[0]) + _local5;
}
while (str.indexOf(origChars[1]) > -1) {
var _local3 = str.indexOf(origChars[1]);
var _local4 = str.substring(0, _local3);
var _local5 = str.substring(_local3 + origChars[1].length, str.length);
str = (_local4 + htmlChars[1]) + _local5;
}
return(str);
};
_global.applyTint = function (clip, hex) {
var _local2 = _global.hexToRgb(hex);
var _local3 = new flash.filters.ColorMatrixFilter([_local2.rb / 255, 0, 0, 0, 0, 0, _local2.gb / 255, 0, 0, 0, 0, 0, _local2.bb / 255, 0, 0, 0, 0, 0, 1, 0]);
clip.filters = [_local3];
};
_global.returnBounds = function (clip, root) {
var _local1 = new Object({LT:{}, RB:{}});
_local1.LT.x = clip._x;
_local1.LT.y = clip._y;
_local1.RB.x = clip._x + clip._width;
_local1.RB.y = clip._y + clip._height;
if (root != undefined) {
clip._parent.localToGlobal(_local1.LT);
clip._parent.localToGlobal(_local1.RB);
root.globalToLocal(_local1.LT);
root.globalToLocal(_local1.RB);
}
return({l:_local1.LT.x, t:_local1.LT.y, r:_local1.RB.x, b:_local1.RB.y});
};
_global.hexToRgb = function (hex) {
var _local2 = hex >> 16;
var _local1 = hex ^ (_local2 << 16);
var _local3 = _local1 >> 8;
var _local4 = _local1 ^ (_local3 << 8);
return({rb:_local2, gb:_local3, bb:_local4});
};
_global.capFirstLetters = function (str) {
function capFirstLetter(str) {
str = str.toUpperCase();
var _local2 = str.slice(1);
_local2 = _local2.toLowerCase();
str = str.slice(0, 1) + _local2;
return(str);
}
str = capFirstLetter(str);
var _local4 = str.split("-");
if (_local4.length > 1) {
var _local2 = 0;
while (_local2 < _local4.length) {
_local4[_local2] = capFirstLetter(_local4[_local2]);
_local2++;
}
str = _local4.join("-");
}
var _local3 = str.split(" ");
if (_local3.length > 1) {
var _local1 = 0;
while (_local1 < _local3.length) {
_local3[_local1] = capFirstLetter(_local3[_local1]);
_local1++;
}
str = _local3.join(" ");
}
return(str);
};
_global.createBlock = function (root, bounds, colour, opacity) {
if (bounds.x == undefined) {
bounds.x = 0;
}
if (bounds.y == undefined) {
bounds.y = 0;
}
if (bounds.w == undefined) {
bounds.w = 500;
}
if (bounds.h == undefined) {
bounds.h = 500;
}
if (colour == undefined) {
colour = 13421772 /* 0xCCCCCC */;
}
if (opacity == undefined) {
opacity = 100;
}
root.beginFill(colour, opacity);
root.moveTo(bounds.x, bounds.y);
root.lineTo(bounds.x + bounds.w, bounds.y);
root.lineTo(bounds.x + bounds.w, bounds.y + bounds.h);
root.lineTo(bounds.x, bounds.y + bounds.h);
root.lineTo(bounds.x, bounds.y);
root.endFill();
trace("BLOCK");
return(root);
};
_global.createLine = function (root, points, depth) {
if (depth == undefined) {
depth = root.getNextHighestDepth();
}
var _local3 = root.createEmptyMovieClip("newLine" + depth, depth);
_local3.lineStyle(1, 65280, 100);
_local3.moveTo(points[0].x, points[0].y);
var _local1 = 1;
while (_local1 < points.length) {
_local3.lineTo(points[_local1].x, points[_local1].y);
_local1++;
}
return(_local3);
};
_global.createCircle = function (root, x, y, r, depth, TL) {
depth = ((depth == undefined) ? (root.getNextHighestDepth()) : (depth));
var _local4 = root.createEmptyMovieClip("circle", depth);
_local4.lineStyle(0, 16777215);
_local4.moveTo(x + r, y);
_local4.curveTo(r + x, (0.414213562373095 * r) + y, (0.707106781186547 * r) + x, (0.707106781186547 * r) + y);
_local4.curveTo((0.414213562373095 * r) + x, r + y, x, r + y);
_local4.curveTo((-0.414213562373095 * r) + x, r + y, (-0.707106781186547 * r) + x, (0.707106781186547 * r) + y);
_local4.curveTo((-r) + x, (0.414213562373095 * r) + y, (-r) + x, y);
_local4.curveTo((-r) + x, (-0.414213562373095 * r) + y, (-0.707106781186547 * r) + x, (-0.707106781186547 * r) + y);
_local4.curveTo((-0.414213562373095 * r) + x, (-r) + y, x, (-r) + y);
_local4.curveTo((0.414213562373095 * r) + x, (-r) + y, (0.707106781186547 * r) + x, (-0.707106781186547 * r) + y);
_local4.curveTo(r + x, (-0.414213562373095 * r) + y, r + x, y);
if (TL) {
_local4._x = _local4._x + r;
_local4._y = _local4._y + r;
}
return(_local4);
};
_global.traceLV = function (obj, t) {
if (t == undefined) {
t = "";
}
trace(t + " ---------------------");
for (var _local2 in obj) {
trace((("| " + _local2) + " ") + obj[_local2]);
}
trace(newline);
};
_global.traceOBJ = function (obj, t) {
if (t == undefined) {
t = "*";
}
trace(t + " ---------------------");
for (var _local3 in obj) {
if (typeof(obj[_local3]) == "object") {
_global.traceOBJ(obj[_local3], "\t * ");
} else {
trace((("| " + _local3) + " ") + obj[_local3]);
}
}
};
_global.copyObj = function (obj) {
var _local3 = new Object();
for (i in obj) {
if (obj[i][0] != undefined) {
_local3[i] = obj[i].concat();
} else if (typeof(obj[i]) == "object") {
_local3[i] = _global.copyObj(obj[i]);
} else {
_local3[i] = obj[i];
}
}
return(_local3);
};
_global.makeNumber = function (num) {
var _local1 = parseFloat(num);
return(_local1);
};
_global.traceToBox = function (obj, t) {
if (t == undefined) {
t = "";
}
_global.t.text = _global.t.text + (t + " ---------------------");
for (var _local3 in obj) {
_global.t.text = _global.t.text + ((("\n| " + _local3) + " ") + obj[_local3]);
}
_global.t.text = _global.t.text + newline;
};
_global.cb = function () {
return(Math.round(Math.random() * 1000));
};
_global.isDefined = function (t) {
if (((((t == undefined) || (t == "")) || (t == null)) || (t == NaN)) || (t == "NAN")) {
return(false);
}
return(true);
};
_global.randBetween = function (a, b) {
return(Math.round((Math.random() * (b - a)) + a));
};
_global.randAround = function (a, b) {
var _local1 = Math.random() * b;
_local1 = (-(b / 2)) + _local1;
return(Math.round(a + _local1));
};
_global.mouseInBounds = function (clip) {
var _local2 = new Object({t:0, b:clip._height, l:0, r:clip._width});
var _local1 = new Object({x:clip._xmouse, y:clip._ymouse});
if ((_local1.x > _local2.l) && (_local1.x < _local2.r)) {
if ((_local1.y > _local2.t) && (_local1.y < _local2.b)) {
return(true);
}
}
return(false);
};
_global.calcSlideDur = function (from, to, type) {
var _local3 = new Object({short:5, medium:50, long:100});
var _local1 = _local3[type];
var _local2 = Math.abs(from - to);
if (_local1 == undefined) {
_local1 = _local3.medium;
}
trace((((((("from " + from) + " to ") + to) + " dist ") + _local2) + " type ") + type);
if (_local2 < (_local1 * 1)) {
return(4);
}
if (_local2 < (_local1 * 2)) {
return(8);
}
if (_local2 < (_local1 * 3)) {
return(12);
}
if (_local2 < (_local1 * 4)) {
return(16);
}
return(20);
};
_global.fullURL = function (t) {
var _local2 = t.slice(0, 3);
trace((("fullURL() - " + t) + " ") + _local2);
if (_local2 == "www") {
t = "http://" + t;
}
return(t);
};
_global.addCommas = function (t) {
var _local2 = new Array();
var _local1 = 0;
i = t.length;
while (i >= 0) {
trace((i + " ") + (_local1 % 3));
_local2.push(t.charAt(i));
if ((((_local1 % 3) == 0) && (_local1 != 0)) && (i != 0)) {
_local1 = 0;
_local2.push(",");
}
_local1++;
i--;
}
_local2.reverse();
var _local4 = _local2.join("");
trace(_local4);
return(_local4);
};
_global.tabIndexing = function (clips, root) {
var _local3 = root.createEmptyMovieClip("firstFocus", root.getNextHighestDepth());
var _local1 = 0;
while (_local1 < clips.length) {
clips[_local1].tabEnabled = true;
clips[_local1].tabIndex = _local1;
_local1++;
}
};
_global.definedText = function (t) {
if ((((t == undefined) || (t == "undefined")) || (t == null)) || (t == "null")) {
return("");
}
return(t);
};
_global.attachRollOffButt = function (clip, depth, h) {
if (h == undefined) {
h = Stage.height;
}
if (_global.isDefined(depth) == false) {
depth = 0;
}
var _local2 = new Object({x:0, y:0});
clip.globalToLocal(_local2);
var _local3 = clip.attachMovie("disableButt", "disableButt", depth, {_x:_local2.x, _y:_local2.y, _width:Stage.width, _height:h});
return(_local3);
};
_global.placeZeros = function (s) {
var _local2 = s.split("-");
var _local1 = 0;
while (_local1 < _local2.length) {
if (_local2[_local1].length == 1) {
_local2[_local1] = "0" + _local2[_local1];
}
_local1++;
}
return(_local2.join("-"));
};
var keyList = new Object();
keyList.onKeyDown = function () {
if ((Key.isDown(38) && (Key.isDown(40))) && (Key.getCode() == 84)) {
_global.t._parent._visible = (_global.t._parent._visible ? false : true);
}
};
com.bentempleton.Widget.__set__widgetRoot(this);
com.teamrubber.SeqTrackerAdaptor.setComponentReference(this.tracker_comp);
com.teamrubber.SeqTrackerAdaptor.initTracker(trackerInit);
Frame 24
com.bentempleton.Widget.__get__instance().setupMain();
Frame 29
this.game_mc.setup();
Frame 36
stop();
Frame 57
this.gotoAndPlay("main");
Frame 73
stop();
Frame 78
this.gotoAndPlay("main");
Symbol 4 MovieClip Frame 1
stop();
Symbol 4 MovieClip Frame 13
stop();
Symbol 8 MovieClip Frame 1
stop();
Symbol 160 MovieClip [__Packages.com.teamrubber.SeqTrackerAdaptor] Frame 0
class com.teamrubber.SeqTrackerAdaptor
{
static var instance;
function SeqTrackerAdaptor () {
init();
setup();
}
function init() {
}
function setup() {
}
static function initTracker(func) {
if (active) {
getInstance().comp.setVerbose(true);
getInstance().comp.setBaseURL(BASE_URL);
getInstance().comp.setCampaignID(CAMPAIGN_ID);
getInstance().comp.setProjectID(PROJECT_ID);
getInstance().comp.initialise(func);
getInstance().comp._visible = false;
} else {
func();
}
}
static function doLoad() {
getInstance().comp.load();
}
static function setComponentReference(comp) {
trace("CID " + _root.CID);
if (active) {
getInstance().comp = comp;
}
}
static function viewSplash() {
if (active && (projectViewed == false)) {
projectViewed = true;
getInstance().comp.view("viewSplash");
}
}
static function viewScreen(view) {
if (active && (view != undefined)) {
getInstance().comp.view(view);
}
}
static function campaignExit(from, link) {
trace("Seq Exit");
var _local1;
var _local2;
if ((from == undefined) || (from == "")) {
_local1 = CAMPAIGN_LINK_EXIT_LABEL;
} else {
_local1 = from;
}
if ((link == undefined) || (link == "")) {
_local2 = CAMPAIGN_LINK;
} else {
_local2 = link;
}
if (active) {
getInstance().comp.exit(_local2, _local1, "_blank");
}
}
static function sendToFriendConversion() {
if (active) {
getInstance().comp.conversion("n/a", "sendToFriend");
}
}
static function trackActionByLabel(label) {
if (active) {
if ((label == undefined) || (label == "")) {
label = ACTION_LABEL;
}
getInstance().comp.view(label);
}
}
static function getInstance() {
if (!instance) {
instance = new com.teamrubber.SeqTrackerAdaptor();
}
return(instance);
}
static var BASE_URL = "http://tracking.viralmanager.com/tracking/";
static var CAMPAIGN_ID = _root.CID;
static var PROJECT_ID = _root.PID;
static var CAMPAIGN_LINK = "http://www.jvcfootball.com/";
static var CAMPAIGN_LINK_EXIT_LABEL = "exitCampaign";
static var ACTION_LABEL = "euroball";
static var active = true;
static var projectViewed = false;
}
Symbol 161 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon
{
function OnEnterFrameBeacon () {
}
static function init() {
var _local4 = _global.MovieClip;
if (!_root.__OnEnterFrameBeacon) {
mx.transitions.BroadcasterMX.initialize(_local4);
var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876);
_local3.onEnterFrame = function () {
_global.MovieClip.broadcastMessage("onEnterFrame");
};
}
}
static var version = "1.1.0.52";
}
Symbol 162 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX
{
var _listeners;
function BroadcasterMX () {
}
static function initialize(o, dontCreateArray) {
if (o.broadcastMessage != undefined) {
delete o.broadcastMessage;
}
o.addListener = mx.transitions.BroadcasterMX.prototype.addListener;
o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener;
if (!dontCreateArray) {
o._listeners = new Array();
}
}
function addListener(o) {
removeListener(o);
if (broadcastMessage == undefined) {
broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage;
}
return(_listeners.push(o));
}
function removeListener(o) {
var _local2 = _listeners;
var _local3 = _local2.length;
while (_local3--) {
if (_local2[_local3] == o) {
_local2.splice(_local3, 1);
if (!_local2.length) {
broadcastMessage = undefined;
}
return(true);
}
}
return(false);
}
function broadcastMessage() {
var _local5 = String(arguments.shift());
var _local4 = _listeners.concat();
var _local6 = _local4.length;
var _local3 = 0;
while (_local3 < _local6) {
_local4[_local3][_local5].apply(_local4[_local3], arguments);
_local3++;
}
}
static var version = "1.1.0.52";
}
Symbol 163 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween
{
var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime;
function Tween (obj, prop, func, begin, finish, duration, useSeconds) {
mx.transitions.OnEnterFrameBeacon.init();
if (!arguments.length) {
return;
}
this.obj = obj;
this.prop = prop;
this.begin = begin;
position = (begin);
this.duration = (duration);
this.useSeconds = useSeconds;
if (func) {
this.func = func;
}
this.finish = (finish);
_listeners = [];
addListener(this);
start();
}
function set time(t) {
prevTime = _time;
if (t > duration) {
if (looping) {
rewind(t - _duration);
update();
broadcastMessage("onMotionLooped", this);
} else {
if (useSeconds) {
_time = _duration;
update();
}
stop();
broadcastMessage("onMotionFinished", this);
}
} else if (t < 0) {
rewind();
update();
} else {
_time = t;
update();
}
//return(time);
}
function get time() {
return(_time);
}
function set duration(d) {
_duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d));
//return(duration);
}
function get duration() {
return(_duration);
}
function set FPS(fps) {
var _local2 = isPlaying;
stopEnterFrame();
_fps = fps;
if (_local2) {
startEnterFrame();
}
//return(FPS);
}
function get FPS() {
return(_fps);
}
function set position(p) {
setPosition(p);
//return(position);
}
function setPosition(p) {
prevPos = _pos;
obj[prop] = (_pos = p);
broadcastMessage("onMotionChanged", this, _pos);
updateAfterEvent();
}
function get position() {
return(getPosition());
}
function getPosition(t) {
if (t == undefined) {
t = _time;
}
return(func(t, begin, change, _duration));
}
function set finish(f) {
change = f - begin;
//return(finish);
}
function get finish() {
return(begin + change);
}
function continueTo(finish, duration) {
begin = position;
this.finish = (finish);
if (duration != undefined) {
this.duration = (duration);
}
start();
}
function yoyo() {
continueTo(begin, time);
}
function startEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.addListener(this);
} else {
_intervalID = setInterval(this, "onEnterFrame", 1000 / _fps);
}
isPlaying = true;
}
function stopEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.removeListener(this);
} else {
clearInterval(_intervalID);
}
isPlaying = false;
}
function start() {
rewind();
startEnterFrame();
broadcastMessage("onMotionStarted", this);
}
function stop() {
stopEnterFrame();
broadcastMessage("onMotionStopped", this);
}
function resume() {
fixTime();
startEnterFrame();
broadcastMessage("onMotionResumed", this);
}
function rewind(t) {
_time = ((t == undefined) ? 0 : (t));
fixTime();
update();
}
function fforward() {
time = (_duration);
fixTime();
}
function nextFrame() {
if (useSeconds) {
time = ((getTimer() - _startTime) / 1000);
} else {
time = (_time + 1);
}
}
function onEnterFrame() {
nextFrame();
}
function prevFrame() {
if (!useSeconds) {
time = (_time - 1);
}
}
function toString() {
return("[Tween]");
}
function fixTime() {
if (useSeconds) {
_startTime = getTimer() - (_time * 1000);
}
}
function update() {
position = (getPosition(_time));
}
static var version = "1.1.0.52";
static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init();
static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true);
function func(t, b, c, d) {
return(((c * t) / d) + b);
}
}
Symbol 164 MovieClip [__Packages.com.bentempleton.Widget] Frame 0
class com.bentempleton.Widget
{
static var uniqueInstance, __get__widgetRoot;
var DATA, user, UI, callback, send_lv, load_lv, xml, currLanguage, errorFunc;
function Widget () {
trace("Widget{}");
init();
setup();
}
function init() {
trace("Widget{} - init");
DATA = new Object({_loaded:false});
user = new Object();
}
function setup() {
trace("Widget{} - setup");
}
function setupMain() {
function over() {
this.gotoAndStop("over");
}
function out() {
this.gotoAndStop("home");
}
screen = ("splash_screen");
var _local4 = root;
var splash = _local4.splash_mc;
var game = _local4.game_mc;
user.widgetID = _root.UID;
_local4.border_mc.gotoAndStop(user.colour);
UI = _local4.interface_mc;
UI.timer_mc.label_txt.text = defaults.time_label;
UI.timer_mc.t_txt.text = ((!user.bestTimeDisp) ? "00:00:00" : (user.bestTimeDisp));
UI.score_mc.label_txt.text = defaults.player_label;
UI.score_mc.t_txt.text = ((!user.bestPlayer) ? (user.initials) : (user.bestPlayer));
splash.proposition = screen.proposition.toUpperCase();
splash.header1 = screen.header1;
splash.header2 = screen.header2;
splash.header3 = ((screen.header3 + " ") + UI.score_mc.t_txt.text) + "?";
splash.prompt = screen.prompt.toUpperCase();
splash.gotoAndPlay("loop");
splash._visible = true;
splash.onRelease = function () {
splash.tween = new mx.transitions.Tween(splash, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 0, 8, false);
splash.tween.onMotionFinished = function () {
game.prepareGame();
splash._visible = false;
splash.stop();
};
com.teamrubber.SeqTrackerAdaptor.viewScreen(com.bentempleton.Widget.__get__instance().user.widgetID + "_play");
};
var _local5 = instance.UI.restart_btn;
_local5.restart = defaults.restart_label.toUpperCase();
_local5.onRelease = function () {
game.restart();
game.prepareGame();
splash._visible = false;
splash.stop();
};
_local5.onRollOver = over;
_local5.onRollOut = out;
var _local6 = instance.UI.jvc_btn;
_local6.onRollOver = over;
_local6.onRollOut = out;
_local6.onRelease = function () {
com.teamrubber.SeqTrackerAdaptor.campaignExit(com.bentempleton.Widget.__get__instance().user.widgetID + "_jvcButton", _global.jvcURL);
};
var exitBox = instance.UI.mainGame_mc;
exitBox.game_btn.t_txt.text = defaults.game_button.toUpperCase();
exitBox.game_btn.onRelease = function () {
com.teamrubber.SeqTrackerAdaptor.campaignExit(com.bentempleton.Widget.__get__instance().user.widgetID + "_mainGameButton", _global.homepage);
exitBox.gotoAndStop("open");
exitBox.close_txt.text = com.bentempleton.Widget.__get__defaults().click_close;
exitBox.close_mc.disable_btn.onRelease = function () {
exitBox.gotoAndStop("home");
game.timer.pauseTimer(false);
};
exitBox.body_txt.text = com.bentempleton.Widget.__get__defaults().main_game_body;
exitBox.link_txt.html = true;
exitBox.link_txt.htmlText = ((("<a href=\"" + _global.homepage) + "\" target=\"_blank\">") + _global.homepage) + "</a>";
game.timer.pauseTimer(true);
};
exitBox.game_btn.onRollOver = over;
exitBox.game_btn.onRollOut = out;
}
function setupEndScreen() {
screen = ("result_screens");
if ((user.userTime < user.bestTime) || (user.bestTime == undefined)) {
user.bestTime = user.userTime;
user.userTimeDisp = com.bentempleton.Timer_sm.formatTime(user.userTime);
user.bestTimeDisp = user.userTimeDisp;
root.gotoAndStop("succeed");
var succeed = root.succeed_mc;
succeed.title_txt.text = screen.success_title;
succeed.body_txt.text = screen.success_body;
succeed.time_txt.text = user.bestTimeDisp;
var list = new Object();
list.form = new Object({clip:succeed.name_txt, orig:"---", error:"* * * *", submit:succeed.submit_btn});
list.onSetFocus = function (oldFocus, newFocus) {
if ((newFocus == this.form.clip) && ((newFocus.text == this.form.orig) || (newFocus.text == this.form.error))) {
newFocus.text = "";
}
};
succeed.name_txt.text = list.form.orig;
succeed.name_txt.onChanged = function (tf) {
tf.text = tf.text.toUpperCase();
com.bentempleton.Widget.__get__instance().UI.score_mc.t_txt.text = tf.text;
};
Selection.addListener(list);
Selection.setFocus(succeed.name_txt);
trace((("SUBMIT " + succeed.submit_btn) + " ") + succeed.submit_btn.label_txt);
succeed.butt_label_txt.text = defaults.submit_button;
succeed.submit_btn.onRelease = function () {
if (((succeed.name_txt.text == list.form.orig) || (succeed.name_txt.text == "")) || (succeed.name_txt.text == list.form.error)) {
succeed.name_txt.text = list.form.error;
} else {
com.bentempleton.Widget.__get__instance().submitScore({name:succeed.name_txt.text.toUpperCase()});
}
};
UI.score_mc.t_txt.text = succeed.name_txt.text;
succeed.name_txt.tabIndex = 1;
succeed.submit_btn.tabIndex = 2;
} else {
root.gotoAndStop("fail");
var _local2 = root.fail_mc;
_local2.heading1_txt.text = screen.fail_your_score;
_local2.time_txt.text = user.userTimeDisp;
_local2.heading2_txt.text = screen.fail_top_score;
_local2.best_txt.text = ((user.bestTimeDisp + " (") + user.bestPlayer) + ")";
_local2.butt_label_txt.text = defaults.play_again;
_local2.playAgain_btn.onRelease = function () {
com.bentempleton.Widget.__get__root().gotoAndPlay("exit_fail");
};
UI.score_mc.t_txt.text = user.bestPlayer;
}
UI.timer_mc.label_txt.text = defaults.time_label;
UI.timer_mc.t_txt.text = user.bestTimeDisp;
UI.score_mc.label_txt.text = defaults.player_label;
}
function getWidget(sendObj, callback) {
this.callback = callback;
_global.traceLV(sendObj, "SEND OBJ");
send_lv = new LoadVars();
load_lv = new LoadVars();
for (var _local4 in sendObj) {
send_lv[_local4] = sendObj[_local4];
user[_local4] = sendObj[_local4];
}
send_lv.cb = getTimer();
_global.traceLV(send_lv, "SEND_LV");
_global.t.text = _global.t.text + "LOADING";
load_lv.onLoad = mx.utils.Delegate.create(this, parseWidget);
send_lv.sendAndLoad(_global.scriptURL + "getWidget", load_lv);
}
function loadLanguage() {
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = mx.utils.Delegate.create(this, parseLanguage);
var _local3 = (((_global.XMLURL + "widget_") + currLanguage) + ".xml?cb=") + getTimer();
xml.load(_local3);
}
function submitScore(sendObj) {
root.gotoAndStop("sending");
send_lv = new LoadVars();
load_lv = new LoadVars();
user.bestPlayer = sendObj.name;
send_lv.name = sendObj.name;
send_lv.UID = user.widgetID;
send_lv.time = user.userTime;
send_lv.cb = getTimer();
_global.traceLV(send_lv, "SEND_LV");
load_lv.onLoad = mx.utils.Delegate.create(this, scoreSubmitted);
send_lv.sendAndLoad(_global.scriptURL + "setScore", load_lv);
}
function parseWidget(success) {
trace("parse Widget " + success);
_global.t.text = _global.t.text + ((("Success ? " + success) + newline) + newline);
if (success) {
_global.t.text = _global.t.text + load_lv.UID;
user.colour = load_lv.colour;
currLanguage = load_lv.language.toLowerCase();
user.initials = load_lv.initials;
user.message = load_lv.message;
user.bestPlayer = ((load_lv.bestPlayer != "") ? (load_lv.bestPlayer) : undefined);
user.bestTime = ((load_lv.bestTime != "") ? (load_lv.bestTime) : undefined);
user.bestTimeDisp = ((!user.bestTime) ? undefined : (com.bentempleton.Timer_sm.formatTime(user.bestTime)));
user.plays = load_lv.plays;
} else {
user.widgetID = 0;
}
if (currLanguage == undefined) {
currLanguage = "english";
}
_global.traceLV(load_lv, "WIDGET");
loadLanguage(currLanguage);
}
function parseLanguage(success) {
trace("parsing XML");
var _local5 = xml.firstChild;
if (success) {
var _local3 = 0;
while (_local3 < _local5.childNodes.length) {
DATA._loaded = true;
var _local2 = new Object();
var _local4 = _local5.childNodes[_local3];
_local2 = makeObj(_local4);
if (_local2.screen_name == undefined) {
_local2.screen_name = _local4.nodeName;
}
DATA[_local2.screen_name] = _local2;
_local3++;
}
callback();
} else {
trace("XML not loaded ");
errorFunc();
}
}
function scoreSubmitted(success) {
trace("SCORE SUBMITTED " + success);
if (success) {
com.teamrubber.SeqTrackerAdaptor.viewScreen(instance.user.widgetID + "_scoreChange");
}
root.gotoAndPlay("exit_submit");
}
static function set screen(screen) {
instance.currScreen = instance.DATA[screen];
//return(com.bentempleton.Widget.screen);
}
static function get screen() {
return(instance.currScreen);
}
static function get instance() {
if (uniqueInstance == undefined) {
uniqueInstance = new com.bentempleton.Widget();
}
return(uniqueInstance);
}
static function get defaults() {
return(instance.DATA.defaults);
}
static function set widgetRoot(clip) {
trace("setting root " + clip);
instance.__root = clip;
trace("checking root " + root);
//return(__get__widgetRoot());
}
static function get root() {
return(instance.__root);
}
function makeObj(xml) {
var _local7 = new Object();
var _local3 = 0;
while (_local3 < xml.childNodes.length) {
var _local2 = xml.childNodes[_local3].nodeName;
var _local5 = com.xml.XMLparser.getNodeByName(xml, _local2);
var _local4 = com.xml.XMLparser.getNodeText(_local5);
if (_local4 == null) {
_local7[_local2] = makeObj(_local5);
} else {
_local7[_local2] = _local4;
}
_local3++;
}
return(_local7);
}
}
Symbol 165 MovieClip [__Packages.mx.transitions.easing.Regular] Frame 0
class mx.transitions.easing.Regular
{
function Regular () {
}
static function easeIn(t, b, c, d) {
t = t / d;
return(((c * t) * t) + b);
}
static function easeOut(t, b, c, d) {
t = t / d;
return((((-c) * t) * (t - 2)) + b);
}
static function easeInOut(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return((((c / 2) * t) * t) + b);
}
t--;
return((((-c) / 2) * ((t * (t - 2)) - 1)) + b);
}
static var version = "1.1.0.52";
}
Symbol 166 MovieClip [__Packages.com.bentempleton.Timer_sm] Frame 0
class com.bentempleton.Timer_sm extends MovieClip
{
var displayClip, isRunning, updateFreq, game, currTime, elapsed, startTime, pauseTotal, interval, pauseFrom;
function Timer_sm () {
super();
init();
}
function init() {
displayClip = this;
isRunning = false;
updateFreq = 100;
}
function setup(game) {
this.game = game;
timerFace_reset();
}
function updateTimer() {
currTime = getTimer();
elapsed = currTime - startTime;
timerFace_update();
}
function timerFace_update() {
displayClip.t_txt.text = formatTime(elapsed);
}
function timerFace_reset() {
displayClip.t_txt.text = "00:00:00";
}
function startTimer() {
isRunning = true;
startTime = getTimer();
pauseTotal = 0;
clearInterval(interval);
interval = setInterval(mx.utils.Delegate.create(this, updateTimer), updateFreq);
}
function pauseTimer(boo) {
if (boo) {
pauseFrom = getTimer();
clearInterval(interval);
} else if (isRunning) {
var _local2 = getTimer() - pauseFrom;
pauseTotal = pauseTotal + _local2;
startTime = startTime + _local2;
clearInterval(interval);
interval = setInterval(mx.utils.Delegate.create(this, updateTimer), updateFreq);
}
}
function killTimer() {
clearInterval(interval);
isRunning = false;
}
static function formatTime(milliseconds) {
var _local1 = Math.floor(milliseconds / 10);
var _local2 = Math.floor(_local1 / 100);
var _local3 = Math.floor(_local2 / 60);
_local1 = _local1 % 100;
_local2 = _local2 % 60;
_local3 = _local3 % 60;
if (_local1 < 10) {
_local1 = "0" + _local1;
}
if (_local2 < 10) {
_local2 = "0" + _local2;
}
if (_local3 < 10) {
_local3 = "0" + _local3;
}
return((((_local3 + ":") + _local2) + ":") + _local1);
}
}
Symbol 16 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 167 MovieClip [__Packages.com.xml.XMLparser] Frame 0
class com.xml.XMLparser
{
function XMLparser () {
}
static function getNodeByName(node, name) {
var _local4 = node.childNodes.length;
var _local2;
name = name.toUpperCase();
var _local1 = 0;
while (_local1 < _local4) {
_local2 = node.childNodes[_local1];
if (_local2.nodeName.toUpperCase() == name) {
return(_local2);
}
_local1++;
}
return(null);
}
static function getNodeById(node, id) {
var _local3 = node.childNodes.length;
var _local2;
id = id.toUpperCase();
var _local1 = 0;
while (_local1 < _local3) {
_local2 = node.childNodes[_local1];
if (_local2.attributes.id.toUpperCase() == id) {
return(_local2);
}
_local1++;
}
return(null);
}
static function getNodeByPath(node, path) {
var _local1 = node;
var _local4 = path.split("/");
var _local2;
var _local5 = _local4.length;
var _local3 = 0;
while (_local3 < _local5) {
_local2 = _local4[_local3];
if (_local2.charAt(0) == "@") {
_local1 = getNodeById(_local1, _local2.substring(1));
} else if (_local2.charAt(0) == "#") {
_local1 = _local1.childNodes[parseInt(_local2.substring(1))];
} else {
_local1 = getNodeByName(_local1, _local2);
}
if (_local1 == null) {
return(null);
}
_local3++;
}
return(_local1);
}
static function getNodeText(node) {
if ((node == null) || (node.firstChild == null)) {
return("");
}
return(node.firstChild.nodeValue);
}
static function textByName(node, name) {
return(getNodeText(getNodeByName(node, name)));
}
static function isEmpty(node) {
return((node == null) || (getNodeText(node) == ""));
}
static function isNamedNodeEmpty(node, name) {
var _local1 = isEmpty(getNodeByName(node, name));
return(_local1);
}
}
Symbol 168 MovieClip [__Packages.mx.transitions.easing.Strong] Frame 0
class mx.transitions.easing.Strong
{
function Strong () {
}
static function easeIn(t, b, c, d) {
t = t / d;
return((((((c * t) * t) * t) * t) * t) + b);
}
static function easeOut(t, b, c, d) {
t = (t / d) - 1;
return((c * (((((t * t) * t) * t) * t) + 1)) + b);
}
static function easeInOut(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return(((((((c / 2) * t) * t) * t) * t) * t) + b);
}
t = t - 2;
return(((c / 2) * (((((t * t) * t) * t) * t) + 2)) + b);
}
static var version = "1.1.0.52";
}
Symbol 169 MovieClip [__Packages.com.bentempleton.DragWidget] Frame 0
class com.bentempleton.DragWidget extends MovieClip
{
var root, chalk, _parent, hand_mc, arm_mc, scale_multiplier, _yscale, dragging, dragBounds, activityRadius, draggerOffset, originals, powerMultiplyer, minPower, bigger, kickOff, kickOffProps, _x, coin, _y, areaEntered, game, myRadians, myDegrees, x_ratio, y_ratio, clickOffset, power, override, releaseAngle, tween, armIsActive, __get__armActive;
function DragWidget () {
super();
init();
setup();
}
function init() {
root = this;
chalk = _parent.chalk_mc;
hand_mc = arm_mc.hand_mc;
hand_mc.orig = new Object({y:hand_mc._y});
scale_multiplier = _yscale / 100;
dragging = false;
chalk._visible = false;
dragBounds = new Object({_min:30, _max:200, overshoot:0, overshootMax:90});
dragBounds.dragMin = 30;
hand_mc._x = dragBounds._min;
hand_mc.flag_mc.gotoAndStop(com.bentempleton.User.__get__curr().team.frameName);
activityRadius = 200;
draggerOffset = new Object({x:-27, y:-31, cX:28, cY:32});
originals = new Object({arm:{x:arm_mc._x, y:arm_mc._y, r:arm_mc._rotation}, hand:{x:hand_mc._x}});
powerMultiplyer = 0.85;
minPower = 5;
bigger = false;
kickOff = new Object({_max:20, _min:-20});
kickOff.range = kickOff._max - kickOff._min;
kickOff.topCoin = new Object({_max:60, _min:30});
kickOff.topCoin.range = kickOff.topCoin._max - kickOff.topCoin._min;
kickOff.bottomCoin = new Object({_max:-60, _min:-30});
kickOff.bottomCoin.range = kickOff.bottomCoin._max - kickOff.bottomCoin._min;
kickOff.decay = {_min:0.3, _max:0.8};
kickOffProps = new Object({discrep:23, rangeForRandom:10, minAngle:1, minPower:8});
}
function setup() {
armActive = (true);
var _local2 = chalk;
hand_mc.onPress = mx.utils.Delegate.create(this, doDrag);
hand_mc.onRelease = (hand_mc.onReleaseOutside = mx.utils.Delegate.create(this, relaseWidget));
}
function reset(x, y) {
_x = coin._x + draggerOffset.x;
_y = coin._y + draggerOffset.y;
chalk._x = _x + draggerOffset.cX;
chalk._y = _y + draggerOffset.cY;
arm_mc._rotation = originals.arm.r;
hand_mc._x = originals.hand.x;
armActive = (true);
var _local2 = hand_mc.getBounds(hand_mc._parent);
if ((((hand_mc._xmouse > _local2.xMin) && (hand_mc._xmouse < _local2.xMax)) && (hand_mc._ymouse > _local2.yMin)) && (hand_mc._ymouse < _local2.yMax)) {
chalk._visible = true;
}
hand_mc.enabled = true;
areaEntered = false;
}
function setArmRotation() {
var _local6 = Math.sqrt((root._xmouse * root._xmouse) + (root._ymouse * root._ymouse));
if (((dragging || ((_local6 < activityRadius) && (game.strikeNum > 0))) || (((_local6 < activityRadius) && (_root._xmouse > _x)) && (game.strikeNum == 0))) || ((_local6 < activityRadius) && (areaEntered))) {
chalk._visible = true;
areaEntered = true;
var _local5 = (_root._xmouse - _x) - 30;
var _local4 = ((_root._ymouse - _y) - 30) / scale_multiplier;
myRadians = Math.atan2(_local4, _local5);
myDegrees = (myRadians * 180) / Math.PI;
arm_mc._rotation = myDegrees;
chalk._rotation = myDegrees;
var _local7 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
x_ratio = _local5 / _local7;
y_ratio = _local4 / _local7;
if (dragging) {
var _local3 = _local7 - clickOffset;
if (_local3 < dragBounds._min) {
_local3 = dragBounds._min;
} else if (_local3 > dragBounds._max) {
_local3 = dragBounds._max;
}
hand_mc._x = _local3;
}
} else {
chalk._visible = false;
}
}
function doDrag() {
clickOffset = arm_mc._xmouse - hand_mc._x;
dragging = true;
if (_global.root.cheerleaders_mc.showing) {
_global.root.cheerleaders_mc.showing = false;
_global.root.cheerleaders_mc.gotoAndPlay("exit");
}
if (game.FB.showing) {
game.FB.showing = false;
game.FB.gotoAndPlay("close");
}
}
function relaseWidget() {
dragging = false;
armActive = (false);
chalk._visible = false;
var _local3 = Math.round((100 * (hand_mc._x - dragBounds._min)) / (dragBounds._max - dragBounds._min));
power = powerMultiplyer * Math.round((100 * (hand_mc._x - dragBounds._min)) / (dragBounds._max - dragBounds._min));
if (power < minPower) {
power = minPower;
}
if (game.strikeNum == 0) {
if ((myDegrees > (-kickOffProps.discrep)) && (myDegrees < kickOffProps.discrep)) {
if (power < kickOffProps.minPower) {
power = kickOffProps.minPower;
}
override = true;
}
if ((myDegrees > (-kickOffProps.rangeForRandom)) && (myDegrees < kickOffProps.rangeForRandom)) {
myDegrees = (Math.random() * (kickOffProps.rangeForRandom * 2)) - kickOffProps.rangeForRandom;
}
if ((myDegrees > (-kickOffProps.minAngle)) && (myDegrees < 0)) {
myDegrees = -kickOffProps.minAngle;
} else if ((myDegrees < kickOffProps.minAngle) && (myDegrees > 0)) {
myDegrees = kickOffProps.minAngle;
}
kickOff.topAngleFr = (myDegrees - kickOff._min) / kickOff.range;
kickOff.bottomAngleFr = 1 - kickOff.topAngleFr;
kickOff.topAngle = (kickOff.topCoin.range * kickOff.topAngleFr) + kickOff.topCoin._min;
kickOff.bottomAngle = (kickOff.bottomCoin.range * kickOff.bottomAngleFr) + kickOff.bottomCoin._min;
kickOff.topPowerFr = kickOff.topAngleFr;
if (kickOff.topPowerFr < kickOff.decay._min) {
kickOff.topPowerFr = kickOff.decay._min;
} else if (kickOff.topPowerFr > kickOff.decay._max) {
kickOff.topPowerFr = kickOff.decay._max;
}
kickOff.bottomPowerFr = kickOff.bottomAngleFr;
if (kickOff.bottomPowerFr < kickOff.decay._min) {
kickOff.bottomPowerFr = kickOff.decay._min;
} else if (kickOff.bottomPowerFr > kickOff.decay._max) {
kickOff.bottomPowerFr = kickOff.decay._max;
}
kickOff.topPower = power * kickOff.topPowerFr;
kickOff.bottomPower = power * kickOff.bottomPowerFr;
kickOff.topAngle = ((kickOff.topAngle * Math.PI) / 180) - Math.PI;
kickOff.bottomAngle = ((kickOff.bottomAngle * Math.PI) / 180) - Math.PI;
} else {
override = false;
}
var _local2 = (myDegrees * Math.PI) / 180;
releaseAngle = _local2 - Math.PI;
tween.stop();
dragBounds.overshoot = (_local3 / 100) * dragBounds.overshootMax;
tween = new mx.transitions.Tween(hand_mc, "_x", mx.transitions.easing.None.easeOut, hand_mc._x, dragBounds._min - dragBounds.overshoot, 4, false);
var DW = this;
tween.onMotionChanged = function () {
if (this.time == 3) {
DW.fireCoin();
delete DW.tween.onMotionChanged;
}
};
}
function fireCoin() {
game.fireCoin();
coin = undefined;
hand_mc.enabled = false;
}
function doResize(makeBig) {
trace("HAND resize");
if (makeBig == undefined) {
makeBig = false;
}
if (makeBig != bigger) {
bigger = makeBig;
if (makeBig) {
hand_mc._xscale = (hand_mc._yscale = 50);
hand_mc._y = hand_mc.orig.y + 30;
} else {
hand_mc._y = hand_mc.orig.y;
hand_mc._xscale = (hand_mc._yscale = 100);
}
}
}
function set armActive(onOrOff) {
if (onOrOff) {
arm_mc.onEnterFrame = mx.utils.Delegate.create(this, setArmRotation);
} else {
delete arm_mc.onEnterFrame;
}
armIsActive = onOrOff;
//return(__get__armActive());
}
}
Symbol 170 MovieClip [__Packages.com.bentempleton.Coin] Frame 0
class com.bentempleton.Coin extends MovieClip
{
static var instances;
var ID, _name, root, outer, inner, hint, stationary, bigger, tweens, origR, r, objType, friction, decay, doBounceDecay, originals, moving, game, bounds, onEnterFrame, _x, _y, _alpha, _xscale, _yscale, pnt_this, pnt_next, pnt_travel, offTable, override, hitWoodwork, frozen, projectedCount, projected, swapDepths, traceIt, __get__showHint, p0, p1, vx, vy, m, rotInc;
function Coin () {
super();
init();
}
function init() {
if (instances == undefined) {
instances = new Array();
}
instances.push(this);
ID = _name.split("_")[0].slice(4);
root = this;
outer = this;
inner = root.inner_mc;
hint = root.hint_mc;
showHint = (false);
stationary = true;
bigger = false;
tweens = new Object();
hint.orig = new Object({s:hint.hint_mc._yscale});
resetVectors();
origR = _global.root.radius;
r = _global.root.radius;
objType = "coin";
friction = new Object({more:2, normal:5, f1:0.94, f2:0.7, f3:0.7, perim:40});
friction.fraction = friction.normal;
decay = new Object({main:0.5, target:0.8});
doBounceDecay = false;
originals = new Object();
storeOriginalPos();
moving = false;
root.coin_mc.marker_mc.gotoAndStop(_name);
}
function setup(game, objType) {
this.game = game;
var _local2 = this.game.table_mc.getBounds(this.game);
bounds = new Object({l:_local2.xMin, t:_local2.yMin, r:_local2.xMax, b:_local2.yMax});
}
function reset() {
delete onEnterFrame;
var _local3 = 0;
var _local2 = 0;
if (bigger) {
var _local5 = 14;
var _local4 = 8;
if ((_name == "coin2_mc") || (_name == "coin3_mc")) {
_local3 = -_local5;
}
if (_name == "coin2_mc") {
_local2 = -_local4;
} else if (_name == "coin3_mc") {
_local2 = _local4;
}
}
_x = originals.startPos.x + _local3;
_y = originals.startPos.y + _local2;
_alpha = originals.startPos.a;
showHint = (false);
_xscale = (_yscale = originals.startPos.s);
pnt_this = new flash.geom.Point(_x, _y);
pnt_next = new flash.geom.Point(_x, _y);
pnt_travel = new flash.geom.Point(0, 0);
offTable = false;
override = false;
hitWoodwork = false;
}
function drawMe() {
if ((!frozen) && (moving)) {
if (moving) {
speedDecay();
}
if (offTable) {
pnt_travel.x = pnt_travel.x / 1.5;
pnt_travel.y = pnt_travel.y / 1.5;
}
if (override) {
_x = projected.arr[projectedCount].x;
_y = projected.arr[projectedCount].y;
var _local4 = projected.arr[projectedCount + 1].x - _x;
_local4 = ((_local4 == undefined) ? 0 : (_local4));
var _local3 = projected.arr[projectedCount + 1].y - _y;
_local3 = ((_local3 == undefined) ? 0 : (_local3));
var _local5 = new flash.geom.Point(_local4, _local3);
pnt_this = new flash.geom.Point(_x, _y);
pnt_next = pnt_this;
projectedCount++;
if (projectedCount > (projected.arr.length / 1.5)) {
game.overrideCollisions = true;
}
if (projectedCount > projected.arr.length) {
override = false;
moving = false;
}
} else {
_x = pnt_next.x;
_y = pnt_next.y;
pnt_this = pnt_next;
pnt_next = pnt_this.add(pnt_travel);
if ((pnt_travel.length < 0.3) && (override == false)) {
moving = false;
pnt_travel.normalize(0);
}
}
if (moving == false) {
}
if (((((_x < bounds.l) || (_x > bounds.r)) || (_y < bounds.t)) || (_y > bounds.b)) && (offTable == false)) {
offTable = true;
game.coinOffTable = true;
swapDepths(80);
onEnterFrame = function () {
this._xscale = (this._yscale = this._yscale - 8);
this._alpha = this._alpha - 10;
if (this._alpha <= 0) {
delete this.onEnterFrame;
}
};
_global.snd.playSound("sigh", 1);
}
} else {
moving = false;
}
}
function checkCollisions() {
var _local4;
var _local3 = 0;
while (_local3 < com.bentempleton.Game.polygons.length) {
_local4 = com.bentempleton.Game.polygons[_local3].checkCollisions(pnt_this, pnt_next, pnt_travel, this);
if (_local4.coll && (_local4.objType == "wood")) {
hitWoodwork = true;
}
_local3++;
}
if (_local4.coll) {
trace("DONG COLL SOUND");
}
if (_local4.coll) {
_global.snd.playSound("collision", 1);
}
return(_local4);
}
function speedDecay() {
if (originals.travelX == undefined) {
originals.travelX = pnt_travel.x;
}
if (originals.travelY == undefined) {
originals.travelY = pnt_travel.y;
}
if ((Math.abs(originals.travelY) < 5) && (Math.abs(originals.travelX) < 5)) {
friction.fraction = friction.more;
} else {
friction.fraction = friction.normal;
}
var _local2 = new Object();
_local2.x = originals.travelX / friction.fraction;
_local2.y = originals.travelY / friction.fraction;
var friction = getFriction({x:_x, y:_y}, pnt_travel, _local2);
pnt_travel.x = pnt_travel.x * friction;
pnt_travel.y = pnt_travel.y * friction;
}
function projectPath(power, angle) {
override = true;
projectedCount = 0;
projected = new Object();
projected.arr = new Array();
projected.pnt_this = new flash.geom.Point(_x, _y);
projected.pnt_next = new flash.geom.Point(_x, _y);
projected.pnt_travel = flash.geom.Point.polar(power, angle);
projected.pnt_next.x = projected.pnt_next.x + projected.pnt_travel.x;
projected.pnt_next.y = projected.pnt_next.y + projected.pnt_travel.y;
var _local3 = new Object();
_local3.x = projected.pnt_travel.x / friction.fraction;
_local3.y = projected.pnt_travel.y / friction.fraction;
while (projected.pnt_travel.length > 0.3) {
var _local2 = new Object();
var friction = getFriction(projected.pnt_next, projected.pnt_travel, _local3);
projected.pnt_travel.x = projected.pnt_travel.x * friction;
projected.pnt_travel.y = projected.pnt_travel.y * friction;
_local2.x = projected.pnt_next.x;
_local2.y = projected.pnt_next.y;
projected.pnt_this = projected.pnt_next;
projected.pnt_next = projected.pnt_this.add(projected.pnt_travel);
projected.arr.push(_local2);
}
}
function doResize(multiplier) {
if ((multiplier != undefined) && (bigger == false)) {
r = r * multiplier;
var _local3 = new mx.transitions.Tween(inner, "_xscale", mx.transitions.easing.Regular.easeOut, inner._xscale, inner._xscale * multiplier, 10, false);
var _local4 = this;
_local3.onMotionChanged = function () {
this.obj._yscale = this.obj._xscale;
};
bigger = true;
} else if (multiplier == undefined) {
r = origR;
var _local3 = new mx.transitions.Tween(inner, "_xscale", mx.transitions.easing.Regular.easeOut, inner._xscale, 100, 10, false);
_local3.onMotionChanged = function () {
this.obj._yscale = this.obj._xscale;
};
bigger = false;
if ((game.strikeNum == 0) && (moving == false)) {
tweens.one = new mx.transitions.Tween(this, "_x", mx.transitions.easing.Regular.easeOut, _x, originals.startPos.x, 12, false);
tweens.two = new mx.transitions.Tween(this, "_y", mx.transitions.easing.Regular.easeOut, _y, originals.startPos.y, 12, false);
}
}
}
function setupForMove() {
tweens.one.stop();
tweens.two.stop();
showHint = (false);
frozen = false;
traceIt = false;
originals.travelX = undefined;
originals.travelY = undefined;
originals.p0 = {x:_x, y:_y};
originals.p1 = {x:_x, y:_y};
}
function storeOriginalPos() {
originals.startPos = new Object();
originals.startPos.x = _x;
originals.startPos.y = _y;
originals.startPos.a = _alpha;
originals.startPos.s = _xscale;
}
function set showHint(toState) {
if (toState == undefined) {
toState = false;
}
if (toState != hint._visible) {
if (toState) {
hint._visible = true;
hint.hint_mc.gotoAndPlay("loop");
} else {
hint._visible = false;
hint.hint_mc.gotoAndStop("home");
hint.hint_mc._yscale = (hint.hint_mc._xscale = hint.orig.s);
}
}
//return(__get__showHint());
}
function getFriction(coin, travel, cutOff) {
if (((((coin.x < (bounds.l + friction.perim)) && (travel.x < 0)) || ((coin.x > (bounds.r - friction.perim)) && (travel.x > 0))) || ((coin.y < (bounds.t + friction.perim)) && (travel.y < 0))) || ((coin.y > (bounds.b - friction.perim)) && (travel.y > 0))) {
return(friction.f3);
}
if ((Math.abs(travel.x) > Math.abs(cutOff.x)) && (Math.abs(travel.y) > Math.abs(cutOff.y))) {
return(friction.f1);
}
return(friction.f2);
}
function setVector(obj) {
for (var _local3 in obj) {
this[_local3] = obj[_local3];
}
if (obj.p0 != undefined) {
drawMe(obj.p0.x, obj.p0.y);
}
}
function resetVectors() {
p0 = new Object({x:_x, y:_y});
p1 = new Object({x:_x, y:_y});
vx = 0;
vy = 0;
m = 1;
rotInc = undefined;
}
function tr(str) {
if (_name == game.activeCoin._name) {
trace((_name + " || ") + str);
}
}
function get cent() {
return({x:_x + r, y:_y + r});
}
function get currP0() {
return({x:_x, y:_y});
}
function get nextP0() {
return({x:pnt_next.x, y:pnt_next.y});
}
function get origP0() {
return(originals.p0);
}
}
Symbol 171 MovieClip [__Packages.com.bentempleton.Game] Frame 0
class com.bentempleton.Game extends MovieClip
{
static var coins, circles, polygons, allCircles;
var root, _visible, FB, UI, timer, table, goalie, dragger, collisionMap, collisionObjects, depthManager, user, coinOffTable, overrideCollisions, stationaryCoins, originals, bonusInts, bonusZones, countdown, countdownInt, playable, strikeNum, validGoal, showKeeper, circleTest, collision, currCoin, ballsMoving, MASTER_INT, goalLine, nextPhase, bonusToActivate, bouncer_mc;
function Game () {
super();
root = this;
_visible = false;
init();
}
function init() {
FB = root.feedback_mc;
FB.gotoAndStop("home");
FB.game = this;
UI = root.interface_mc;
timer = UI.timer_mc;
table = root.table_mc;
goalie = root.goal_mc;
dragger = root.dragWidget_mc;
collisionMap = root.intHolder_mc;
collisionObjects = root.intObjHolder_mc;
depthManager = _global.root.depths;
user = com.bentempleton.User.curr;
coinOffTable = false;
overrideCollisions = false;
stationaryCoins = new Array();
originals = new Object();
bonusInts = new Object();
bonusZones = new Array(root.bonus1_mc, root.bonus2_mc);
goalie.goal_mc.goal_b_wood.freezeFace = "R";
goalie.goal_mc.goal_r_wood.freezeFace = "B";
goalie.goal_mc.goal_l_wood.freezeFace = "T";
com.bentempleton.Language.__set__screen("game");
var _local3 = com.bentempleton.Language.__get__screen().feedback;
for (var _local4 in _local3) {
FB[_local4 + "_title"] = _local3[_local4].title;
FB[_local4 + "_body"] = _local3[_local4].body;
}
UI.stadium_mc.t_txt.text = user.stadium.stadiumName;
UI.stadium_mc.label_txt.text = com.bentempleton.Language.__get__defaults().playing_in;
UI.exit_btn.onRelease = function () {
com.teamrubber.SeqTrackerAdaptor.campaignExit("game");
};
_global.root.cheerleaders_mc.gotoAndStop("home");
collisionMap = collisionMap.attachMovie(user.stadium.collMap, "collisionMap", 0);
collisionObjects = collisionObjects.attachMovie(user.stadium.objects, "collisionObjects", 0);
root.flagLeft_mc.team_txt.text = user.oppTeam.teamname;
root.flagLeft_mc.gotoAndStop(user.oppTeam.frameName);
root.flagRight_mc.team_txt.text = user.team.teamname;
root.flagRight_mc.gotoAndStop(user.team.frameName);
_global.snd.setNewVolume(0, "crowd");
_global.snd.setupAfade("crowd", 100, 10);
_global.snd.playSound("crowd", 999999);
}
function setup() {
_visible = true;
coins = new Array(root.coin1_mc, root.coin2_mc, root.coin3_mc);
circles = new Array();
polygons = new Array();
var _local2 = 0;
while (_local2 < 20) {
if (collisionMap[("bounce_" + _local2) + "_rect"] != undefined) {
polygons.push(collisionMap[("bounce_" + _local2) + "_rect"]);
} else if (collisionMap[("bounce_" + _local2) + "_circle"] != undefined) {
circles.push(collisionMap[("bounce_" + _local2) + "_circle"]);
}
_local2++;
}
polygons.push(goalie.goal_mc.goal_b_wood, goalie.goal_mc.goal_r_wood, goalie.goal_mc.goal_l_wood, goalie.goal_mc.goal_f_wood);
allCircles = coins.concat(circles);
_local2 = 0;
while (_local2 < coins.length) {
coins[_local2].setup(this);
originals[coins[_local2]._name] = {x:coins[_local2]._x, y:coins[_local2]._y};
_local2++;
}
dragger.game = this;
timer.setup(this);
timer.alarm_add(0, {obj:this, func:"endGame"});
updateUserScore(0);
updateOpponentScore(0);
user.numPasses = 0;
user.shotsOnGoal = 0;
table.swapDepths(depthManager.table);
dragger.chalk.swapDepths(depthManager.chalk);
dragger.swapDepths(depthManager.dragger);
collisionMap._parent.swapDepths(depthManager.collMap);
collisionObjects._parent.swapDepths(depthManager.collObjs);
root.flagRight_mc.swapDepths(depthManager.flags + 1);
root.flagLeft_mc.swapDepths(depthManager.flags + 2);
root.goal_mc.swapDepths(depthManager.goal);
FB.swapDepths(depthManager.FB);
UI.swapDepths(depthManager.UI);
restart();
dragger.armActive = false;
countdown = 3;
countdownToBegin();
countdownInt = setInterval(mx.utils.Delegate.create(this, countdownToBegin), 1000);
}
function countdownToBegin() {
if (countdown > 0) {
FB.gotoAndStop("countdown");
FB.countdown_mc.gotoAndStop("c" + countdown);
countdown--;
} else {
dragger.armActive = true;
FB.gotoAndStop("home");
timer.startTimer();
playable = true;
clearInterval(countdownInt);
user.gameStart = getTimer();
}
}
function restart() {
strikeNum = 0;
goalie.vis = false;
validGoal = false;
showKeeper = false;
var _local2 = 0;
while (_local2 < allCircles.length) {
allCircles[_local2].reset();
if (allCircles[_local2].objType == "coin") {
allCircles[_local2].swapDepths(depthManager.coins + _local2);
}
_local2++;
}
com.bentempleton.BonusZone.typesCopy = com.bentempleton.BonusZone.types.concat();
_local2 = 0;
while (_local2 < bonusZones.length) {
bonusZones[_local2].setup(this);
bonusZones[_local2].swapDepths(depthManager.bonuses + _local2);
_local2++;
}
setupNextCoin();
}
function fireCoin() {
_global.snd.playSound("flick", 1);
circleTest = root.createEmptyMovieClip("circleTest", depthManager.tests);
if (playable) {
var _local3 = 0;
while (_local3 < coins.length) {
coins[_local3].setupForMove();
_local3++;
}
strikeNum++;
user.numPasses++;
collision = false;
coinOffTable = false;
var _local5 = getCoin("t");
var _local6 = getCoin("b");
if (dragger.override && (strikeNum == 1)) {
overrideCollisions = true;
var _local4 = dragger.kickOff;
_local5.projectPath(_local4.topPower, _local4.topAngle);
_local5.moving = true;
_local6.projectPath(_local4.bottomPower, _local4.bottomAngle);
_local6.moving = true;
currCoin.projectPath(dragger.power, dragger.releaseAngle);
} else {
overrideCollisions = false;
currCoin.pnt_travel = flash.geom.Point.polar(dragger.power, dragger.releaseAngle);
currCoin.pnt_next.x = currCoin.pnt_next.x + currCoin.pnt_travel.x;
currCoin.pnt_next.y = currCoin.pnt_next.y + currCoin.pnt_travel.y;
}
currCoin.moving = (ballsMoving = true);
MASTER_INT = setInterval(mx.utils.Delegate.create(this, MASTER_FUNC), 10);
}
}
function MASTER_FUNC() {
ballsMoving = false;
var _local6 = 0;
while (_local6 < allCircles.length) {
var _local2 = allCircles[_local6];
var _local4 = 0;
while (_local4 < allCircles.length) {
var _local3 = allCircles[_local4];
if ((_local3 != _local2) && (_local2.moving || (_local3.moving))) {
checkCoinCollisions(_local2, _local3);
}
_local4++;
}
if (_local2.objType == "coin") {
if (_local2.moving) {
ballsMoving = true;
}
_local2.checkCollisions();
_local2.drawMe();
var _local5 = new Object();
_local5.p0 = currCoin.origP0;
_local5.p1 = {x:currCoin._x, y:currCoin._y};
updateVector(_local5, true);
goalLine = new Object();
goalLine.p0 = goalie.goal_p0;
goalLine.p1 = goalie.goal_p1;
updateVector(goalLine, true);
if ((_local2.moving == false) && (_local2._x < 200)) {
goalie.goal_mc.goal_f_wood.displaceGoalCoin(_local2);
}
}
_local6++;
}
if (ballsMoving == false) {
clearInterval(MASTER_INT);
determineNextPhase();
}
}
function determineNextPhase() {
var _local3 = 0;
while (_local3 < circles.length) {
circles[_local3].reset();
_local3++;
}
var _local5 = new Object();
var _local6 = 0;
var _local4 = 0;
var _local10;
_local3 = 0;
while (_local3 < coins.length) {
if (coins[_local3]._x < ((table._width / 2) + table._x)) {
_local6++;
}
if (coins[_local3] != currCoin) {
_local5["coin" + _local4] = coins[_local3];
_local4++;
}
if (coins[_local3].hitWoodwork) {
user.shotsOnGoal++;
}
_local3++;
}
var _local7 = new Object();
_local7.p0 = currCoin.origP0;
_local7.p1 = currCoin.currP0;
updateVector(_local7, true);
var _local8 = new Object();
_local8.p0 = _local5.coin0.currP0;
_local8.p1 = _local5.coin1.currP0;
updateVector(_local8, true);
var _local9 = false;
FB.requestedFB = undefined;
if (coinOffTable) {
_local9 = true;
nextPhase = "restart";
updateOpponentScore(1);
FB.requestedFB = "drop";
} else if (strikeNum == 1) {
setupNextCoin();
} else if (checkCrossOver(_local7, _local8) == false) {
_local9 = true;
nextPhase = "restart";
FB.requestedFB = "pass";
} else if (checkCrossOver(_local7, _local8) && (checkCrossOver(_local7, goalLine, true))) {
if (goalie.visState) {
doGoal();
nextPhase = "restart";
FB.requestedFB = "goal";
} else {
_local9 = true;
nextPhase = "restart";
FB.requestedFB = "halfway";
}
} else if (_local10) {
_local9 = true;
nextPhase = "restart";
FB.requestedFB = "woodwork";
} else {
setupNextCoin();
}
if (_local9 == false) {
if (_local6 > 1) {
showKeeper = true;
goalie.vis = true;
}
_local3 = 0;
while (_local3 < bonusZones.length) {
var _local2 = 0;
while (_local2 < coins.length) {
bonusZones[_local3].checkCoin(coins[_local2]);
_local2++;
}
_local3++;
}
}
if (FB.requestedFB != undefined) {
FB.action(FB.requestedFB);
doNextPhase();
}
}
function doNextPhase() {
switch (nextPhase) {
case "restart" :
restart();
break;
case "next" :
setupNextCoin();
break;
case "gameover" :
_global.root.gotoAndPlay("exit_main");
_global.snd.setupAfade("crowd", 0, -10, true);
}
if (bonusToActivate != undefined) {
doBonus();
}
bonusToActivate = undefined;
nextPhase = undefined;
}
function setupNextCoin() {
currCoin = nextCoin;
currCoin.override = false;
dragger.coin = currCoin;
dragger.reset();
var _local8 = new Array();
var _local2 = 0;
while (_local2 < coins.length) {
_local8.push({clip:coins[_local2], xPos:coins[_local2]._x, yPos:coins[_local2]._y});
_local2++;
}
_local8.sortOn("xPos", Array.NUMERIC);
var _local4 = _local8[0].clip;
var _local3 = _local8[1].clip;
var _local9 = _local8[2].clip;
var _local12 = calcTan(_local4, _local3);
_local4.hint._rotation = _local12 - 90;
_local3.hint._rotation = _local12 + 90;
_local4.showHint = true;
_local3.showHint = true;
_local9.showHint = false;
var _local10 = Math.abs(Math.sqrt(((_local4._x - _local3._x) * (_local4._x - _local3._x)) + ((_local4._y - _local3._y) * (_local4._y - _local3._y))));
if (_local10 < 100) {
_local4.hint.hint_mc._yscale = (_local4.hint.hint_mc._xscale = _local10);
_local3.hint.hint_mc._yscale = (_local3.hint.hint_mc._xscale = _local10);
} else {
_local4.hint.hint_mc._yscale = (_local4.hint.hint_mc._xscale = 100);
_local3.hint.hint_mc._yscale = (_local3.hint.hint_mc._xscale = 100);
}
var _local13 = Math.abs(calcTan(_local4, _local9));
var _local11 = Math.abs(calcTan(_local3, _local9));
if ((_local3._y > _local9._y) && (_local4._y > _local9._y)) {
if (_local13 > _local11) {
_local4.hint.hint_mc._xscale = -_local4.hint.hint_mc._xscale;
} else {
_local3.hint.hint_mc._xscale = -_local3.hint.hint_mc._xscale;
}
} else if ((_local3._y < _local9._y) && (_local4._y < _local9._y)) {
if (_local13 > _local11) {
_local3.hint.hint_mc._xscale = -_local3.hint.hint_mc._xscale;
} else {
_local4.hint.hint_mc._xscale = -_local4.hint.hint_mc._xscale;
}
} else if (_local4._y < _local3._y) {
_local4.hint.hint_mc._xscale = -_local4.hint.hint_mc._xscale;
} else {
_local3.hint.hint_mc._xscale = -_local3.hint.hint_mc._xscale;
}
}
function endGame() {
playable = false;
clearInterval(MASTER_INT);
for (var _local3 in bonusInts) {
clearInterval(bonusInts[_local3]);
}
user.played = true;
user.calcFinalScore();
timer.killTimer();
nextPhase = "gameover";
FB.action("gameover");
_global.snd.playSound("endGame", 1);
_global.root.cheerleaders_mc.gotoAndStop("home");
}
function doBonus() {
trace("***** DO BONUS");
user.numBonuses++;
if ((bonusToActivate.bonusType == "time") || (bonusToActivate.mysteryType == "time")) {
timer.max = timer.max + bonusToActivate.bonusProps.val;
} else if (bonusToActivate.bonusType == "mystery") {
if (bonusToActivate.mysteryType == "size") {
var _local2 = 0;
while (_local2 < coins.length) {
coins[_local2].doResize(bonusToActivate.bonusProps.val);
_local2++;
}
_local2 = 0;
while (_local2 < coins.length) {
var _local3 = 0;
while (_local3 < coins.length) {
if (coins[_local2] != coins[_local3]) {
var _local5 = coins[_local2]._x - coins[_local3]._x;
var _local8 = ((_local5 > 0) ? 1 : -1);
var _local4 = coins[_local2]._y - coins[_local3]._y;
var _local7 = ((_local4 > 0) ? 1 : -1);
var _local6 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
while (_local6 < ((coins[_local2].r * 2) + 5)) {
coins[_local2]._x = coins[_local2]._x + _local8;
coins[_local2]._y = coins[_local2]._y + _local7;
_local5 = coins[_local2]._x - coins[_local3]._x;
_local4 = coins[_local2]._y - coins[_local3]._y;
_local6 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
}
}
_local3++;
}
_local2++;
}
dragger.doResize(true);
clearInterval(bonusInts.size_bonus);
bonusInts.size_bonus = setInterval(mx.utils.Delegate.create(this, clearBonus), bonusToActivate.bonusProps.dur * 1000, bonusToActivate.mysteryType);
} else if (bonusToActivate.mysteryType == "shoot") {
goalie.vis = true;
clearInterval(bonusInts.shoot_bonus);
bonusInts.shoot_bonus = setInterval(mx.utils.Delegate.create(this, clearBonus), bonusToActivate.bonusProps.dur * 1000, bonusToActivate.mysteryType);
} else if (bonusToActivate.mysteryType == "keeper") {
goalie.keeper = false;
clearInterval(bonusInts.keeper_bonus);
bonusInts.keeper_bonus = setInterval(mx.utils.Delegate.create(this, clearBonus), bonusToActivate.bonusProps.dur * 1000, bonusToActivate.mysteryType);
}
}
}
function clearBonus(bType) {
trace((("clearBonus " + this) + " ") + bType);
if (bType == "size") {
var _local2 = 0;
while (_local2 < coins.length) {
coins[_local2].doResize();
_local2++;
}
clearInterval(bonusInts.size_bonus);
dragger.doResize(false);
} else if ((bType == "shoot") && (showKeeper == false)) {
goalie.vis = false;
clearInterval(bonusInts.shoot_bonus);
} else if (bType == "keeper") {
goalie.keeper = true;
clearInterval(bonusInts.keeper_bonus);
}
}
function doGoal() {
_global.snd.playSound("goal_drums", 1);
updateUserScore(1);
}
function updateUserScore(num) {
if (num == undefined) {
} else if (num == 0) {
user.goals = 0;
} else if ((user.goals + num) >= 0) {
user.goals = user.goals + num;
}
var _local2 = "" + user.goals;
if (_local2.length == 1) {
}
UI.score_mc.score_txt.text = _local2;
}
function updateOpponentScore(num) {
if (num == undefined) {
} else if (num == 0) {
user.oppScore = 0;
} else if ((user.oppScore + num) >= 0) {
user.oppScore = user.oppScore + num;
}
var _local2 = "" + user.oppScore;
if (_local2.length == 1) {
}
UI.score_mc.oppScore_txt.text = _local2;
}
function checkCoinCollisions(ball1, ball2) {
if (overrideCollisions == false) {
var _local5 = ball1.r + ball2.r;
if ((ball1.pnt_travel.x == 0) && (ball1.pnt_travel.y == 0)) {
return(undefined);
}
var _local18 = (ball1.pnt_travel.x * ball1.pnt_travel.x) + (ball1.pnt_travel.y * ball1.pnt_travel.y);
var _local8 = (((ball2._x - ball1._x) * (ball1.pnt_next.x - ball1._x)) + ((ball2._y - ball1._y) * (ball1.pnt_next.y - ball1._y))) / _local18;
if ((_local8 <= 0) || (_local8 > 1)) {
var _local21 = flash.geom.Point.distance(ball2.pnt_this, ball1.pnt_this);
var _local20 = flash.geom.Point.distance(ball2.pnt_this, ball1.pnt_next);
if ((_local21 > _local5) && (_local20 > _local5)) {
return(undefined);
}
}
var _local11 = new flash.geom.Point(ball1._x + (_local8 * (ball1.pnt_next.x - ball1._x)), ball1._y + (_local8 * (ball1.pnt_next.y - ball1._y)));
var _local9 = ball2.pnt_this.subtract(_local11).length;
if (_local9 > _local5) {
return(undefined);
}
var _local16 = _local11.subtract(ball1.pnt_this).length;
var _local17 = Math.atan2(ball1.pnt_next.x - ball1._x, ball1.pnt_next.y - ball1._y);
var _local12 = Math.atan2(ball2._x - ball1._x, ball2._y - ball1._y);
var _local13;
if (_local17 == _local12) {
_local13 = _local5 - _local9;
} else {
_local13 = Math.sqrt(Math.pow(_local5, 2) - Math.pow(_local9, 2));
}
var _local6 = ball1.pnt_travel.clone();
_local6.normalize(_local16 - _local13);
_local6.x = _local6.x * 1;
_local6.y = _local6.y * 1;
var _local7 = bouncer_mc;
var _local19 = 57.2957795130823 * Math.atan2(ball2._y - (ball1._y + _local6.y), ball2._x - (ball1._x + _local6.x));
_local7._rotation = _local19;
_local7.globalToLocal(ball1.pnt_travel);
_local7.globalToLocal(ball2.pnt_travel);
var _local15 = ball1.pnt_travel.x;
ball1.pnt_travel.x = ball2.pnt_travel.x;
ball2.pnt_travel.x = _local15;
_local7.localToGlobal(ball1.pnt_travel);
_local7.localToGlobal(ball2.pnt_travel);
ball2.pnt_travel.x = ball2.pnt_travel.x * 0.5;
ball2.pnt_travel.y = ball2.pnt_travel.y * 0.5;
if (ball2 != currCoin) {
ball2.traceIt = true;
}
ball1.pnt_next.x = ball1._x + ball1.pnt_travel.x;
ball1.pnt_next.y = ball1._y + ball1.pnt_travel.y;
ball2.pnt_next.x = ball2._x + ball2.pnt_travel.x;
ball2.pnt_next.y = ball2._y + ball2.pnt_travel.y;
ball1.moving = (ball2.moving = (ballsMoving = true));
_global.snd.playSound("collision", 1);
var _local10 = flash.geom.Point.distance(ball2.pnt_this, ball1.pnt_next);
if (_local10 <= _local5) {
var _local14 = flash.geom.Point.polar(_local5 - _local10, _local12);
ball1.pnt_next.x = ball1._x + _local14.x;
ball1.pnt_next.y = ball1._y + _local14.y;
}
}
}
function checkCrossOver(coin, line, goal) {
var _local8 = new Object({vx:line.p0.x - coin.p0.x, vy:line.p0.y - coin.p0.y});
var _local4 = perP(_local8, line) / perP(coin, line);
var _local3 = new Object();
_local3.x = coin.p0.x + (coin.vx * _local4);
_local3.y = coin.p0.y + (coin.vy * _local4);
var _local9 = ((line.p0.y < line.p1.y) ? (line.p0.y) : (line.p1.y));
var _local7 = ((line.p0.x > line.p1.x) ? (line.p0.x) : (line.p1.x));
var _local6 = ((line.p0.y > line.p1.y) ? (line.p0.y) : (line.p1.y));
var _local10 = ((line.p0.x < line.p1.x) ? (line.p0.x) : (line.p1.x));
if (goal) {
if ((((_local3.y > line.p0.y) && (_local3.y < line.p1.y)) && (_local4 >= 0)) && (_local4 <= 1)) {
return(true);
}
return(false);
}
if ((((((_local3.x >= _local10) && (_local3.x <= _local7)) && (_local3.y >= _local9)) && (_local3.y <= _local6)) && (_local4 >= 0)) && (_local4 <= 1)) {
return(true);
}
return(false);
}
function perP(va, vb) {
var _local1 = (va.vx * vb.vy) - (va.vy * vb.vx);
return(_local1);
}
function projectVector(v1, dx, dy) {
var _local2 = (v1.vx * dx) + (v1.vy * dy);
var _local1 = {};
_local1.vx = _local2 * dx;
_local1.vy = _local2 * dy;
return(_local1);
}
function updateVector(v, frompoints) {
if (frompoints == true) {
v.vx = v.p1.x - v.p0.x;
v.vy = v.p1.y - v.p0.y;
} else {
v.p1.x = v.p0.x + v.vx;
v.p1.y = v.p0.y + v.vy;
}
makeVector(v);
}
function makeVector(v) {
v.len = Math.sqrt((v.vx * v.vx) + (v.vy * v.vy));
if (v.len > 0) {
v.dx = v.vx / v.len;
v.dy = v.vy / v.len;
} else {
v.dx = 0;
v.dy = 0;
}
v.rx = -v.dy;
v.ry = v.dx;
v.lx = v.dy;
v.ly = -v.dx;
}
function dotP(v1, v2) {
var _local1 = (v1.vx * v2.vx) + (v1.vy * v2.vy);
return(_local1);
}
function calcTan(from, to) {
var _local4 = from._x - to._x;
var _local3 = from._y - to._y;
var _local1 = Math.atan2(_local3, _local4);
var _local2 = (_local1 * 180) / Math.PI;
return(_local2);
}
function get nextCoin() {
var _local3 = -100000;
var _local4;
var _local2 = 0;
while (_local2 < coins.length) {
var _local1 = coins[_local2];
_local1.resetVectors();
if (_local1._x > _local3) {
_local3 = _local1._x;
_local4 = _local1;
}
_local2++;
}
return(_local4);
}
function getCoin(which) {
var _local4;
if (which == "t") {
var _local5 = 100000 /* 0x0186A0 */;
var _local3 = 0;
while (_local3 < coins.length) {
var _local2 = coins[_local3];
if ((_local2._y < _local5) && (_local2 != currCoin)) {
_local5 = _local2._y;
_local4 = _local2;
}
_local3++;
}
return(_local4);
}
var _local5 = -100000;
var _local3 = 0;
while (_local3 < coins.length) {
var _local2 = coins[_local3];
if ((_local2._y > _local5) != currCoin) {
_local5 = _local2._y;
_local4 = _local2;
}
_local3++;
}
return(_local4);
}
function allowForRadius(obj) {
for (var _local3 in obj) {
obj[_local3] = obj[_local3] + currCoin.r;
}
}
function suffle(arr) {
var _local4 = new Array();
var _local3 = arr.slice(0);
var _local1 = 0;
while (_local1 < arr.length) {
var _local2 = Math.floor(Math.random() * _local3.length);
_local4[_local1] = _local3[_local2];
_local3.splice(_local2, 1);
_local1++;
}
arr = _local4;
return(_local4);
}
}
Symbol 172 MovieClip [__Packages.com.bentempleton.User] Frame 0
class com.bentempleton.User
{
static var uniqueInstance;
var introCount, played, luckyDip, teamsLoaded, submitted, widget, stadium, nextStadium, tipTrigger, gameDur, gameStart, scoreTip, callback, send_lv, load_lv, team, totaliser, totaliser_lv, countdown, currDate, dispDate, countdown_lv, rank, teams, targetPlays, totalPlays, targetDate, loadDelay, msRemaining, cdInt, _from_screen;
function User () {
init();
}
function init() {
}
function setup() {
introCount = 0;
played = false;
luckyDip = false;
teamsLoaded = false;
submitted = false;
widget = new Object({highscore:60000});
}
function chooseStadium() {
if ((introCount == 0) || (introCount > 1)) {
var _local4 = _global.root.stadia;
var _local5 = Math.ceil(Math.random() * _local4.numStadia);
var _local3 = _local4["stadium" + _local5];
stadium = nextStadium;
if (stadium == undefined) {
stadium = _local3;
}
while (stadium == _local3) {
_local5 = Math.ceil(Math.random() * _local4.numStadia);
_local3 = _local4["stadium" + _local5];
}
nextStadium = _local3;
}
introCount++;
}
function calcFinalScore() {
tipTrigger = _global.root.tipTriggers;
gameDur = getTimer() - gameStart;
var _local3 = goals - oppScore;
var _local5 = ((numBonuses == 0) ? 1 : (numBonuses));
score = Math.round((_local3 * 1000) + (numBonuses * 100)) - (numPasses * 50);
if (isNaN(score)) {
score = 0;
}
trace("++++++++++++ FINAL SCORE +++++++++");
trace(" goals : " + goals);
trace(" oppGoals : " + oppScore);
trace(" goalDiff : " + _local3);
trace("numBonuses : " + numBonuses);
trace(" numPasses : " + numPasses);
trace(" game dur : " + gameDur);
trace(" SCORE : " + score);
var _local4 = numPasses / goals;
trace("min pass ratio " + tipTrigger.passRatio);
trace(" min bonuses " + _global.root.tipTriggers.minBonuses);
if (numBonuses == 0) {
scoreTip = com.bentempleton.Language.getTip("bonus");
scoreTip.tipType = "No Bonuses! : ";
} else if (score <= tipTrigger.minScore) {
scoreTip = com.bentempleton.Language.getTip();
scoreTip.tipType = "Bad overall score : ";
} else if ((_local3 < tipTrigger.goalDiff) && (oppScore != 0)) {
scoreTip = com.bentempleton.Language.getTip("goaldiff");
scoreTip.tipType = "Bad goal difference : ";
} else if (_local4 < tipTrigger.passRatio) {
scoreTip = com.bentempleton.Language.getTip("pass");
scoreTip.tipType = "Bad pass ratio : ";
} else if (numBonuses < tipTrigger.minBonuses) {
scoreTip = com.bentempleton.Language.getTip("bonus");
scoreTip.tipType = "Not many bonuses : ";
} else {
scoreTip = com.bentempleton.Language.getTip();
scoreTip.tipType = "Some random feedback : ";
}
trace("+++++++++++++++++++++++++++++++++");
}
function submitUser(sendObj, callback) {
this.callback = callback;
sendObj.name = _global.capFirstLetters(sendObj.name);
_global.traceLV(sendObj, "SEND OBJ");
send_lv = new LoadVars();
load_lv = new LoadVars();
for (var _local4 in sendObj) {
if (_local4 == "name") {
send_lv.username = sendObj[_local4];
} else {
send_lv[_local4] = sendObj[_local4];
}
this[_local4] = sendObj[_local4];
}
send_lv.teamID = team.ID;
send_lv.scoreEncode = _global.MD5.hex_md5(score + secretword);
send_lv.score = score;
send_lv.passes = numPasses;
send_lv.bonuses = numBonuses;
send_lv.duration = gameDur;
send_lv.against = oppScore;
send_lv.goals = goals;
send_lv.cb = getTimer();
_global.traceLV(send_lv, "SEND_LV");
load_lv.onLoad = mx.utils.Delegate.create(this, parseUser);
send_lv.sendAndLoad(_global.scriptURL + "submitUser", load_lv);
}
function getTeams(callback) {
trace("callback " + callback);
this.callback = callback;
load_lv = new LoadVars();
load_lv.onLoad = mx.utils.Delegate.create(this, parseTeams);
load_lv.load(_global.scriptURL + "getTeams");
}
function getTotaliser(clip) {
totaliser = clip;
totaliser_lv = new LoadVars();
totaliser_lv.onLoad = mx.utils.Delegate.create(this, parseTotaliser);
totaliser_lv.load(_global.scriptURL + "getUniquePlays");
}
function setupCountdown(clip) {
countdown = clip;
countdown.t_txt.text = com.bentempleton.Language.__get__defaults().countdown_label;
countdown.timer_mc.d_txt.text = "--";
countdown.timer_mc.m_txt.text = "--:--";
countdown.timer_mc.s_txt.text = "--";
if (currDate == undefined) {
dispDate = new Object();
countdown.loader_mc.attachMovie("loader", "loader", 0);
countdown.timer_mc._visible = false;
countdown_lv = new LoadVars();
countdown_lv.onLoad = mx.utils.Delegate.create(this, parseDates);
countdown_lv.load(_global.scriptURL + "getPrizeCountdown");
} else {
updateCountdown(0);
}
}
function parseUser(success) {
if (success) {
submitted = true;
rank = load_lv.rank;
} else {
rank = "--";
}
callback();
}
function parseTeams(success) {
teams = new Array();
var _local8 = (_global.root.knockOutPhase ? (_global.root.numTeams) : (_global.root.preKnockOutTeams));
if (success) {
var _local3 = 0;
while (_local3 < _local8) {
var _local4 = new Object();
_local4.teamname = load_lv["te" + _local3];
_local4.ID = load_lv["id" + _local3];
_local4.frameName = "team_" + (_local3 + 1);
if ((_local4.ID != undefined) && (_local4.teamname != undefined)) {
teams.push(_local4);
}
_local3++;
}
} else {
var _local3 = 0;
while (_local3 < 16) {
var _local4 = new Object({teamname:"team_" + (_local3 + 1), ID:_local3, frameName:"team_" + (_local3 + 1)});
teams.push(_local4);
_local3++;
}
}
callback();
}
function parseTotaliser(success) {
targetPlays = _global.root.targetPlays;
if (success) {
totalPlays = Number(totaliser_lv.uniquePlays);
} else {
totalPlays = 52000;
}
putTotaliser();
}
function parseDates(success) {
if (success) {
var _local3 = countdown_lv.today.split("-");
var _local2 = countdown_lv.target.split("-");
trace((_local3 + " ") + _local2);
currDate = new Date(_local3[0], _local3[1] - 1, _local3[2], _local3[3], _local3[4], _local3[5]);
targetDate = new Date(_local2[0], _local2[1] - 1, _local2[2], _local2[3], _local2[4], _local2[5]);
} else {
currDate = new Date();
targetDate = new Date();
targetDate.setDate(currDate.getDate() + 10);
}
startCountdown();
}
function doAFterLoad() {
callback();
clearInterval(loadDelay);
}
function putTotaliser() {
var _local3 = totalPlays / targetPlays;
var _local2 = 100 * _local3;
totaliser.bar_mc.tween = new mx.transitions.Tween(totaliser.bar_mc, "_yscale", mx.transitions.easing.Strong.easeOut, totaliser.bar_mc._yscale, _local2, 60, false);
trace((((("SETTING UP TOTALISER " + _local2) + " ") + _local3) + " ") + totaliser.bar_mc._yscale);
totaliser.bar_mc.tween.onMotionChanged = function () {
trace("totaliser " + this.obj);
};
}
function startCountdown() {
countdown.timer_mc._visible = true;
countdown.loader_mc.loader.removeMovieClip();
msRemaining = targetDate - currDate;
dispDate.s = Math.floor(msRemaining / 1000);
dispDate.m = Math.floor(dispDate.s / 60);
dispDate.h = Math.floor(dispDate.m / 60);
dispDate.d = Math.floor(dispDate.h / 24);
dispDate.s = dispDate.s % 60;
dispDate.m = dispDate.m % 60;
dispDate.h = dispDate.h % 24;
dispDate.d = dispDate.d % 365;
cdInt = setInterval(mx.utils.Delegate.create(this, updateCountdown), 1000, 1);
updateCountdown(0);
}
function killCountdown() {
trace("killing COUNTDOWN interval");
clearInterval(cdInt);
}
function updateCountdown(force) {
if (force != 0) {
dispDate.s--;
msRemaining--;
}
if (dispDate.s == -1) {
dispDate.s = 59;
dispDate.m--;
}
if (dispDate.m == -1) {
dispDate.m = 59;
dispDate.h--;
}
if (dispDate.h == -1) {
dispDate.h = 11;
dispDate.d--;
}
if (dispDate.d == -1) {
dispDate.d = 14;
dispDate.h = 0;
dispDate.m = 0;
dispDate.s = 0;
}
countdown.timer_mc.d_txt.text = ((dispDate.d < 10) ? ("0" + dispDate.d) : (dispDate.d));
var _local2 = ((dispDate.h < 10) ? ("0" + dispDate.h) : (dispDate.h));
var _local3 = ((dispDate.m < 10) ? ("0" + dispDate.m) : (dispDate.m));
countdown.timer_mc.m_txt.text = (_local2 + ":") + _local3;
countdown.timer_mc.s_txt.text = ((dispDate.s < 10) ? ("0" + dispDate.s) : (dispDate.s));
}
function getTeam(ID) {
var _local3;
var _local2 = 0;
while (_local2 < teams.length) {
if (teams[_local2].ID == ID) {
_local3 = teams[_local2];
break;
}
_local2++;
}
return(_local3);
}
static function get curr() {
if (uniqueInstance == undefined) {
uniqueInstance = new com.bentempleton.User();
uniqueInstance.setup();
}
return(uniqueInstance);
}
function set from_screen(from) {
trace("setting from_screen " + from);
_from_screen = from;
//return(from_screen);
}
function get from_screen() {
trace("GETTING from_screen " + _from_screen);
return(_from_screen);
}
var goals = 0;
var score = 0;
var oppScore = 0;
var numPasses = 0;
var numBonuses = 0;
var shotsOnGoal = 0;
var secretword = "savethemonkeys";
}
Symbol 173 MovieClip [__Packages.com.bentempleton.Language] Frame 0
class com.bentempleton.Language
{
static var uniqueInstance;
var DATA, TC, currLanguage, callback, errorFunc, xml, callbackParam;
function Language () {
init();
setup();
}
function init() {
DATA = new Object({_loaded:false});
TC = new Object({general:{_loaded:false}, lucky:{_loaded:false}});
}
function setup() {
}
function loadLanguage(lang, callback, errorFunc) {
currLanguage = lang.toLowerCase();
this.callback = callback;
this.errorFunc = errorFunc;
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = mx.utils.Delegate.create(this, parseLanguage);
var _local3 = ((_global.XMLURL + currLanguage) + ".xml?cb=") + getTimer();
xml.load(_local3);
}
function loadTC(type, callback) {
var _local4 = (((((_global.XMLURL + "tc_") + type) + "_") + currLanguage) + ".xml?cb=") + getTimer();
var _local3 = this[("parse_" + type) + "TC"];
this.callback = callback.func;
callbackParam = callback.param;
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = mx.utils.Delegate.create(this, _local3);
xml.load(_local4);
}
function parseLanguage(success) {
var _local12 = xml.firstChild;
if (success) {
var _local10 = 0;
while (_local10 < _local12.childNodes.length) {
DATA._loaded = true;
var _local3 = new Object();
var _local11 = _local12.childNodes[_local10];
_local3 = makeObj(_local11);
if (_local3.help_screen.walkthrough != undefined) {
var _local9 = new Array();
var _local5 = 1;
while (_local5 < 20) {
var _local7 = _local3.help_screen.walkthrough["tip_" + _local5];
if (_local7 != undefined) {
_local9.push(_local7);
}
_local5++;
}
_local3.help_screen.walkthrough = _local9;
} else if (_local3.tips != undefined) {
var _local8 = new Array("pass", "goaldiff", "bonus", "random");
for (var _local13 in _local3.tips) {
var _local6 = _local13.split("_")[0];
if (DATA[_local6 + "_tips"] == undefined) {
DATA[_local6 + "_tips"] = new Array();
}
DATA[_local6 + "_tips"].push(_local3.tips[_local13]);
}
DATA.allTips = new Array();
var _local4 = 0;
while (_local4 < _local8.length) {
if (DATA[_local8[_local4] + "_tips"] != undefined) {
DATA.allTips = DATA.allTips.concat(DATA[_local8[_local4] + "_tips"]);
}
_local4++;
}
}
if (_local3.screen_name == undefined) {
_local3.screen_name = _local11.nodeName;
}
DATA[_local3.screen_name] = _local3;
_local10++;
}
_global.root.stadia.stadium1.stadiumName = stadia.stadium1_name;
_global.root.stadia.stadium2.stadiumName = stadia.stadium2_name;
_global.root.stadia.stadium3.stadiumName = stadia.stadium3_name;
_global.root.stadia.stadium4.stadiumName = stadia.stadium4_name;
_global.root.stadia.stadium5.stadiumName = stadia.stadium5_name;
_global.root.countries.unshift(defaults.country_choose);
_global.traceOBJ(DATA, "LANGUAGE");
DATA.playing_in.body = _global.makeHTML(DATA.playing_in.body, ["**", "^*"], ["<b>", "</b>"]);
callback();
} else {
trace("XML not loaded ");
errorFunc();
}
}
function parse_generalTC(success) {
trace("parsing GENRERAL terms cons XML");
var _local2 = xml.firstChild;
if (success) {
TC.general = makeObj(_local2);
TC.general._loaded = true;
} else {
trace("XML not loaded ");
errorFunc();
}
callback(callbackParam, TC.general);
}
function parse_luckyTC(success) {
trace("parsing LUCKY terms cons XML");
var _local2 = xml.firstChild;
if (success) {
TC.lucky = makeObj(_local2);
TC.lucky._loaded = true;
} else {
trace("XML not loaded ");
errorFunc();
}
callback(callbackParam, TC.lucky);
}
static function set screen(screen) {
currLang.currScreen = currLang.DATA[screen];
//return(com.bentempleton.Language.screen);
}
static function get screen() {
return(currLang.currScreen);
}
static function get currLang() {
if (uniqueInstance == undefined) {
uniqueInstance = new com.bentempleton.Language();
}
return(uniqueInstance);
}
static function get defaults() {
return(currLang.DATA.defaults);
}
static function getTC(tc) {
if (tc == undefined) {
tc = "general";
}
trace((("TCs " + tc) + " ") + currLang.TC[tc]._loaded);
return(currLang.TC[tc]);
}
static function get stadia() {
return(currLang.DATA.stadia);
}
static function getTip(tipType) {
if (tipType == undefined) {
var _local2 = Math.floor(Math.random() * currLang.DATA.allTips.length);
return(currLang.DATA.allTips[_local2]);
}
var _local2 = Math.floor(Math.random() * currLang.DATA[tipType + "_tips"].length);
return(currLang.DATA[tipType + "_tips"][_local2]);
}
function makeObj(xml) {
var _local7 = new Object();
var _local3 = 0;
while (_local3 < xml.childNodes.length) {
var _local2 = xml.childNodes[_local3].nodeName;
var _local5 = com.xml.XMLparser.getNodeByName(xml, _local2);
var _local4 = com.xml.XMLparser.getNodeText(_local5);
if (_local4 == null) {
_local7[_local2] = makeObj(_local5);
} else {
_local7[_local2] = _local4;
}
_local3++;
}
return(_local7);
}
}
Symbol 174 MovieClip [__Packages.com.bentempleton.BonusZone] Frame 0
class com.bentempleton.BonusZone extends MovieClip
{
static var typesCopy;
var root, game, FB, bonusDisplay, _name, ID, bonusType, bonusProps, mysteryType, activatedBy, hit, _visible, _x;
function BonusZone () {
super();
root = this;
init();
}
function init() {
}
function setup(game) {
this.game = game;
FB = game.FB;
bonusDisplay = game.table[_name];
bonusDisplay._visible = false;
var _local4 = Math.floor(Math.random() * typesCopy.length);
ID = _local4 + 1;
bonusType = typesCopy.splice(_local4, 1)[0];
var _local3 = _global.root[bonusType + "Bonuses"];
var _local5 = Math.floor(Math.random() * _local3.length);
bonusProps = _local3[_local5];
if (bonusType == "mystery") {
mysteryType = bonusProps.bType;
} else {
mysteryType = "time";
}
if ((bonusType == "time") || (mysteryType == "time")) {
bonusProps.val = _global.randBetween(bonusProps._min, bonusProps._max);
}
reset();
}
function reset() {
activatedBy = undefined;
hit._width = _global.randBetween(_global.root.bonuses.minW, _global.root.bonuses.maxW);
_visible = true;
var _local3 = _global.root.bonuses.maxX - hit._width;
_x = _global.randBetween(_global.root.bonuses.minX, _local3);
root.t_txt.text = com.bentempleton.Language.__get__defaults()[bonusType + "_bonus"];
root.t_txt._visible = true;
}
function showBonus() {
var _local3 = mysteryType + "_bonus";
game.bonusToActivate = this;
_visible = false;
bonusDisplay._visible = true;
bonusDisplay.gotoAndStop(_local3);
bonusDisplay.pulse_mc.gotoAndPlay("show");
bonusDisplay.icon_mc.t_txt.text = FB[_local3 + "_title"];
_global.snd.playSound("bonus", 1);
game.nextPhase = undefined;
game.doNextPhase();
}
function checkCoin(coin) {
if (coin.hit.hitTest(hit)) {
if (activatedBy != undefined) {
return(undefined);
}
activatedBy = coin;
showBonus();
}
}
static var types = new Array("time", "mystery");
}
Symbol 175 MovieClip [__Packages.mx.transitions.easing.None] Frame 0
class mx.transitions.easing.None
{
function None () {
}
static function easeNone(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeIn(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeOut(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeInOut(t, b, c, d) {
return(((c * t) / d) + b);
}
static var version = "1.1.0.52";
}
Symbol 176 MovieClip [__Packages.com.bentempleton.DragWidget_sm] Frame 0
class com.bentempleton.DragWidget_sm extends com.bentempleton.DragWidget
{
var root, hand_mc, arm_mc, chalk, _parent, scale_multiplier, _yscale, dragging, dragBounds, activityRadius, draggerOffset, originals, powerMultiplyer, minPower, _x, coin, _y, areaEntered, game, myRadians, myDegrees, x_ratio, y_ratio, clickOffset, power, override, releaseAngle, tween, armIsActive, __get__armActive;
function DragWidget_sm () {
super();
root = this;
init();
setup();
}
function init() {
hand_mc = arm_mc.hand_mc;
chalk = _parent.chalk_mc;
scale_multiplier = _yscale / 100;
trace("this.scale_multiplier " + scale_multiplier);
dragging = false;
dragBounds = new Object({_min:15, _max:50, overshoot:0, overshootMax:30});
dragBounds.dragMin = 15;
hand_mc._x = dragBounds._min;
activityRadius = 120;
draggerOffset = new Object({x:0, y:0, cX:0, cY:0});
originals = new Object({arm:{x:arm_mc._x, y:arm_mc._y, r:arm_mc._rotation}, hand:{x:hand_mc._x}});
powerMultiplyer = 0.4;
minPower = 5;
chalk._visible = false;
}
function setup() {
armActive = (true);
hand_mc.onPress = mx.utils.Delegate.create(this, doDrag);
hand_mc.onRelease = (hand_mc.onReleaseOutside = mx.utils.Delegate.create(this, relaseWidget));
hand_mc.flag_mc.gotoAndStop(com.bentempleton.Widget.__get__instance().user.colour);
hand_mc.flag_mc.t_txt.text = ((!com.bentempleton.Widget.__get__instance().user.bestPlayer) ? (com.bentempleton.Widget.__get__instance().user.initials) : (com.bentempleton.Widget.__get__instance().user.bestPlayer));
}
function reset(x, y) {
_x = coin._x + draggerOffset.x;
_y = coin._y + draggerOffset.y;
chalk._x = _x + draggerOffset.cX;
chalk._y = _y + draggerOffset.cY;
arm_mc._rotation = originals.arm.r;
hand_mc._x = originals.hand.x;
armActive = (true);
var _local2 = hand_mc.getBounds(hand_mc._parent);
if ((((hand_mc._xmouse > _local2.xMin) && (hand_mc._xmouse < _local2.xMax)) && (hand_mc._ymouse > _local2.yMin)) && (hand_mc._ymouse < _local2.yMax)) {
chalk._visible = true;
}
hand_mc.enabled = true;
areaEntered = false;
}
function setArmRotation() {
var _local6 = Math.sqrt((root._xmouse * root._xmouse) + (root._ymouse * root._ymouse));
if (((dragging || ((_local6 < activityRadius) && (game.strikeNum > 0))) || (((_local6 < activityRadius) && (_root._xmouse > _x)) && (game.strikeNum == 0))) || ((_local6 < activityRadius) && (areaEntered))) {
chalk._visible = true;
areaEntered = true;
var _local5 = _parent._xmouse - _x;
var _local4 = (_parent._ymouse - _y) / scale_multiplier;
myRadians = Math.atan2(_local4, _local5);
myDegrees = (myRadians * 180) / Math.PI;
arm_mc._rotation = myDegrees;
chalk._rotation = myDegrees;
var _local7 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
x_ratio = _local5 / _local7;
y_ratio = _local4 / _local7;
if (dragging) {
var _local3 = _local7 - clickOffset;
if (_local3 < dragBounds._min) {
_local3 = dragBounds._min;
} else if (_local3 > dragBounds._max) {
_local3 = dragBounds._max;
}
hand_mc._x = _local3;
}
} else {
chalk._visible = false;
}
}
function doDrag() {
clickOffset = arm_mc._xmouse - hand_mc._x;
dragging = true;
}
function relaseWidget() {
dragging = false;
armActive = (false);
chalk._visible = false;
var _local2 = Math.round((100 * (hand_mc._x - dragBounds._min)) / (dragBounds._max - dragBounds._min));
power = powerMultiplyer * Math.round((100 * (hand_mc._x - dragBounds._min)) / (dragBounds._max - dragBounds._min));
if (power < minPower) {
power = minPower;
}
override = false;
var _local3 = (myDegrees * Math.PI) / 180;
releaseAngle = _local3 - Math.PI;
tween.stop();
dragBounds.overshoot = (_local2 / 100) * dragBounds.overshootMax;
trace("POWER " + _local2);
trace((("OVERSHOOT " + dragBounds.overshoot) + " drag min ") + dragBounds._min);
tween = new mx.transitions.Tween(hand_mc, "_x", mx.transitions.easing.None.easeOut, hand_mc._x, dragBounds._min - dragBounds.overshoot, 4, false);
var DW = this;
tween.onMotionChanged = function () {
if (this.time == 3) {
DW.fireCoin();
delete DW.tween.onMotionChanged;
}
};
}
function fireCoin() {
game.fireCoin();
coin = undefined;
hand_mc.enabled = false;
}
function set armActive(onOrOff) {
if (onOrOff) {
arm_mc.onEnterFrame = mx.utils.Delegate.create(this, setArmRotation);
} else {
delete arm_mc.onEnterFrame;
}
armIsActive = onOrOff;
//return(__get__armActive());
}
}
Symbol 177 MovieClip [__Packages.com.bentempleton.InterferenceObj] Frame 0
class com.bentempleton.InterferenceObj extends MovieClip
{
var objType, _name, r, _width, _bounceDecay, game, collRoot, pnt_this, _x, _y, pnt_next, pnt_travel, bounds, getBounds, coin, freezeFace;
function InterferenceObj () {
super();
init();
}
function init() {
setupBounds();
objType = _name.split("_")[2];
r = Math.round(_width / 2);
_bounceDecay = 0.4;
game = _global.root.game_mc;
collRoot = game.createEmptyMovieClip("collTests", 600);
}
function setup(game) {
this.game = game;
}
function reset() {
pnt_this = new flash.geom.Point(_x, _y);
pnt_next = new flash.geom.Point(_x, _y);
pnt_travel = new flash.geom.Point(0, 0);
}
function setupBounds(coin) {
bounds = getBounds(_global.root.game_mc);
if (coin != undefined) {
bounds.xMax = bounds.xMax + coin.r;
bounds.yMax = bounds.yMax + coin.r;
bounds.xMin = bounds.xMin - coin.r;
bounds.yMin = bounds.yMin - coin.r;
bounds.l1 = {p0:{x:bounds.xMin, y:bounds.yMin}, p1:{x:bounds.xMax, y:bounds.yMin}, d:21, plane:"T"};
bounds.l2 = {p0:{x:bounds.xMax, y:bounds.yMin}, p1:{x:bounds.xMax, y:bounds.yMax}, d:31, plane:"R"};
bounds.l3 = {p0:{x:bounds.xMax, y:bounds.yMax}, p1:{x:bounds.xMin, y:bounds.yMax}, d:41, plane:"B"};
bounds.l4 = {p0:{x:bounds.xMin, y:bounds.yMax}, p1:{x:bounds.xMin, y:bounds.yMin}, d:51, plane:"L"};
}
}
function drawMe(vx, vy) {
}
function checkCollisions(pnt_this, pnt_next, pnt_travel, coin) {
this.coin = coin;
var _local11 = false;
setupBounds(coin);
var _local4;
var _local3 = new Array(bounds.l1, bounds.l2, bounds.l3, bounds.l4);
var _local15 = new Array();
var _local2 = 0;
while (_local2 < _local3.length) {
if (checkCrossOver({p0:pnt_this, p1:pnt_next}, _local3[_local2])) {
trace("hype " + _local3[_local2].hype);
if ((_local4 == undefined) || (_local3[_local2].hype < _local4.hype)) {
_local4 = _local3[_local2];
}
}
_local2++;
}
if (_local4 != undefined) {
_local11 = true;
var _local14 = pnt_travel;
var _local10 = pnt_this;
if (_local4.plane == "T") {
pnt_travel.y = -Math.abs(pnt_travel.y);
} else if (_local4.plane == "R") {
pnt_travel.x = Math.abs(pnt_travel.x);
} else if (_local4.plane == "B") {
pnt_travel.y = Math.abs(pnt_travel.y);
} else if (_local4.plane == "L") {
pnt_travel.x = -Math.abs(pnt_travel.x);
}
pnt_travel.y = pnt_travel.y * bounceDecay;
pnt_next.y = pnt_this.y + pnt_travel.y;
pnt_travel.x = pnt_travel.x * bounceDecay;
pnt_next.x = pnt_this.x + pnt_travel.x;
trace((("this.freezeFace " + freezeFace) + " | line.plane ") + _local4.plane);
if (((_local4.ip != undefined) && (freezeFace != undefined)) && (freezeFace == _local4.plane)) {
this.coin._x = _local4.ip.x;
this.coin._y = _local4.ip.y;
this.coin.frozen = true;
trace("* * * * * * * * * FRZEN * * * * * * * * * *");
_local4.ip = undefined;
pnt_travel.x = 0;
pnt_travel.y = 0;
}
trace("!!!!!!!! COLLISION");
return({coll:true, objType:objType});
}
return({coll:false, objType:objType});
}
function within(pnt_next) {
if ((((pnt_next.x > bounds.xMin) && (pnt_next.x < bounds.xMax)) && (pnt_next.y > bounds.yMin)) && (pnt_next.y < bounds.yMax)) {
return(true);
}
return(false);
}
function checkCrossOver(coin, line) {
line.ip = undefined;
var _local4 = new Object({p0:coin.p0, p1:coin.p1, vx:coin.p1.x - coin.p0.x, vy:coin.p1.y - coin.p0.y});
var _local2 = new Object({p0:line.p0, p1:line.p1, vx:line.p1.x - line.p0.x, vy:line.p1.y - line.p0.y, d:line.d});
var _local10 = new Object({vx:_local2.p0.x - _local4.p0.x, vy:_local2.p0.y - _local4.p0.y});
var _local6 = perP(_local10, _local2) / perP(_local4, _local2);
var _local3 = new Object();
_local3.x = _local4.p0.x + (_local4.vx * _local6);
_local3.y = _local4.p0.y + (_local4.vy * _local6);
var _local11 = ((_local2.p0.y < _local2.p1.y) ? (_local2.p0.y) : (_local2.p1.y));
var _local9 = ((_local2.p0.x > _local2.p1.x) ? (_local2.p0.x) : (_local2.p1.x));
var _local8 = ((_local2.p0.y > _local2.p1.y) ? (_local2.p0.y) : (_local2.p1.y));
var _local12 = ((_local2.p0.x < _local2.p1.x) ? (_local2.p0.x) : (_local2.p1.x));
if (game.strikeNum > 1) {
}
line.hype = Math.abs(Math.sqrt(((_local3.x - _local4.p0.x) * (_local3.x - _local4.p0.x)) + ((_local3.y - _local4.p0.y) * (_local3.y - _local4.p0.y))));
if ((((((_local3.x >= _local12) && (_local3.x <= _local9)) && (_local3.y >= _local11)) && (_local3.y <= _local8)) && (_local6 >= 0)) && (_local6 <= 1)) {
line.ip = _local3;
return(true);
}
return(false);
}
function displaceGoalCoin(coin) {
}
function perP(va, vb) {
var _local1 = (va.vx * vb.vy) - (va.vy * vb.vx);
return(_local1);
}
function get bounceDecay() {
if (objType == "wood") {
return(0.01);
}
return(_bounceDecay);
}
}
Symbol 178 MovieClip [__Packages.com.bentempleton.Goal] Frame 0
class com.bentempleton.Goal extends MovieClip
{
var root, finger, inner, visState, hands, keeperPaused, game, onEnterFrame, __get__keeper;
function Goal () {
super();
root = this;
init();
setup();
}
function init() {
finger = root.goal_mc.goalie_mc;
inner = root.goal_mc;
visState = false;
vis = (false);
var _local13 = new Object({p0:{x:inner.leftPost_mc._x, y:inner.leftPost_mc._y}, p1:{x:inner.rightPost_mc._x, y:inner.rightPost_mc._y}});
var _local4 = _global.root.game_mc.l_mc.getBounds(_global.root.game_mc);
var _local6 = _global.root.game_mc.b_mc.getBounds(_global.root.game_mc);
var _local5 = _global.root.game_mc.r_mc.getBounds(_global.root.game_mc);
var _local3 = _global.root.radius;
hands = new Object({t1:_local4.yMin - _local3, l1:_local4.xMin - _local3, b1:_local4.yMax + _local3, l2:_local6.xMin - _local3, t2:_local5.yMin - _local3, l3:_local5.xMin - _local3, b2:_local5.yMax + _local3});
keeperPaused = false;
}
function setup() {
}
function drawMe() {
}
function checkWoodwork() {
var _local3;
var _local2 = 0;
while (_local2 < com.bentempleton.Game.coins.length) {
_local3 = com.bentempleton.Game.coins[_local2].checkCollisions();
_local2++;
}
if (_local3.coll && (_local3.objType == "wood")) {
vis = (false);
game.nextPhase = "restart";
game.FB.action("woodwork");
delete onEnterFrame;
}
}
function get goal_p0() {
var _local3 = inner.goal_r_wood.getBounds(_global.root.game_mc);
var _local4 = new Object({x:_local3.xMax, y:_local3.yMax});
return(_local4);
}
function get goal_p1() {
var _local3 = inner.goal_l_wood.getBounds(_global.root.game_mc);
var _local4 = new Object({x:_local3.xMax, y:_local3.yMin});
return(_local4);
}
function set vis(vis) {
if (visState != vis) {
visState = vis;
var _local3 = (vis ? "show" : "hide");
root.gotoAndPlay(_local3);
}
if (visState) {
}
//return(this.vis);
}
function get vis() {
return(visState);
}
function set keeper(pauseKeeper) {
if (pauseKeeper) {
keeperPaused = pauseKeeper;
inner.play();
} else {
keeperPaused = pauseKeeper;
inner.stop();
}
//return(__get__keeper());
}
}
Symbol 179 MovieClip [__Packages.com.bentempleton.Feedback] Frame 0
class com.bentempleton.Feedback extends MovieClip
{
var root, showing, notepad, gotoAndPlay, game, currFeedback;
function Feedback () {
super();
root = this;
init();
setup();
}
function init() {
showing = false;
notepad = root.notepad_mc;
}
function setup() {
}
function action(fType) {
if (fType.split("_")[1] == "sm") {
gotoAndPlay(fType);
showing = true;
} else if (game.playable || (fType == "gameover")) {
showing = true;
if (fType == "goal") {
_global.root.cheerleaders_mc.showing = true;
_global.root.cheerleaders_mc.gotoAndPlay("show");
}
if (fType == "gameover") {
gotoAndPlay("gameover");
} else {
gotoAndPlay("feedback");
}
root.foul_mc.t_txt.text = this[fType + "_title"];
root.foul_mc.gotoAndStop(fType);
notepad.t_txt.text = this[fType + "_title"];
notepad.b_txt.text = this[fType + "_body"];
root.disable_btn.useHandCursor = false;
currFeedback = fType;
}
}
function returnToGame() {
game.doNextPhase();
}
}
Symbol 180 MovieClip [__Packages.com.bentempleton.Game_sm] Frame 0
class com.bentempleton.Game_sm extends com.bentempleton.Game
{
var root, FB, UI, timer, table, goalie, dragger, collisionMap, coinOffTable, user, stationaryCoins, originals, overrideCollisions, bonusInts, depthManager, _visible, coinPositioning, playable, countdown, countdownInt, strikeNum, validGoal, collision, getCoin, currCoin, ballsMoving, MASTER_INT, checkCoinCollisions, updateVector, goalLine, checkCrossOver, nextCoin;
function Game_sm () {
super();
root = this;
init();
}
function init() {
FB = root.feedback_mc;
FB.game = this;
UI = _global.root.interface_mc;
timer = UI.timer_mc;
table = root.table_mc;
goalie = root.goal_mc;
dragger = root.dragWidget_mc;
collisionMap = root.intHolder_mc;
FB.gotoAndStop("home");
goalie.goal_mc.goal_b_wood.freezeFace = "R";
goalie.goal_mc.goal_r_wood.freezeFace = "B";
goalie.goal_mc.goal_l_wood.freezeFace = "T";
trace("collisionMap " + collisionMap);
coinOffTable = false;
user = com.bentempleton.Widget.__get__instance().user;
stationaryCoins = new Array();
originals = new Object();
overrideCollisions = false;
bonusInts = new Object();
depthManager = _global.root.gameDepths;
}
function setup() {
_visible = true;
table.msg_mc.t_txt.text = user.message;
com.bentempleton.Game.coins = new Array(root.coin1_mc, root.coin2_mc, root.coin3_mc);
com.bentempleton.Game.circles = new Array();
com.bentempleton.Game.polygons = new Array();
var _local2 = 0;
while (_local2 < 20) {
if (collisionMap[("bounce_" + _local2) + "_rect"] != undefined) {
com.bentempleton.Game.polygons.push(collisionMap[("bounce_" + _local2) + "_rect"]);
} else if (collisionMap[("bounce_" + _local2) + "_circle"] != undefined) {
com.bentempleton.Game.circles.push(collisionMap[("bounce_" + _local2) + "_circle"]);
}
_local2++;
}
com.bentempleton.Game.polygons.push(goalie.goal_mc.goal_b_wood, goalie.goal_mc.goal_r_wood, goalie.goal_mc.goal_l_wood, goalie.goal_mc.goal_f_wood);
com.bentempleton.Game.allCircles = com.bentempleton.Game.coins.concat(com.bentempleton.Game.circles);
coinPositioning = new Object();
coinPositioning.coin1_mc = root.coin1Pos_mc.getBounds(root);
coinPositioning.coin2_mc = root.coin2Pos_mc.getBounds(root);
coinPositioning.coin3_mc = root.coin3Pos_mc.getBounds(root);
_local2 = 0;
while (_local2 < com.bentempleton.Game.coins.length) {
com.bentempleton.Game.coins[_local2].posBounds = coinPositioning;
com.bentempleton.Game.coins[_local2].setup(this);
originals[com.bentempleton.Game.coins[_local2]._name] = {x:com.bentempleton.Game.coins[_local2]._x, y:com.bentempleton.Game.coins[_local2]._y};
_local2++;
}
dragger.game = this;
table.swapDepths(depthManager.table);
dragger.chalk.swapDepths(depthManager.chalk);
dragger.swapDepths(depthManager.dragger);
root.goal_mc.swapDepths(depthManager.goal);
FB.swapDepths(depthManager.FB);
restart();
dragger.armActive = false;
playable = false;
}
function prepareGame() {
com.bentempleton.Widget.__set__screen("gameplay");
timer.killTimer();
timer.label_txt.text = com.bentempleton.Widget.__get__screen().time_label;
timer.t_txt.text = "00:00:00";
UI.score_mc.label_txt.text = com.bentempleton.Widget.__get__screen().goals_label;
FB.clock = com.bentempleton.Widget.__get__screen().clock_stopped;
FB.playOn = com.bentempleton.Widget.__get__screen().continue_body.toUpperCase();
FB.goal = com.bentempleton.Widget.__get__screen().goal.toUpperCase();
FB.noGoal = com.bentempleton.Widget.__get__screen().no_goal;
updateUserScore(0);
countdown = 3;
countdownToBegin();
countdownInt = setInterval(mx.utils.Delegate.create(this, countdownToBegin), 1000);
}
function countdownToBegin() {
if (countdown > 0) {
FB.gotoAndStop("countdown");
FB.countdown_mc.gotoAndStop("c" + countdown);
countdown--;
} else {
dragger.armActive = true;
timer.startTimer();
FB.gotoAndStop("home");
playable = true;
clearInterval(countdownInt);
}
}
function restart() {
FB.click_mc.disable_btn.onPress = undefined;
FB.gotoAndStop("home");
strikeNum = 0;
validGoal = false;
timer.pauseTimer(false);
var _local2 = 0;
while (_local2 < com.bentempleton.Game.allCircles.length) {
com.bentempleton.Game.allCircles[_local2].reset();
if (com.bentempleton.Game.allCircles[_local2].objType == "coin") {
com.bentempleton.Game.allCircles[_local2].swapDepths(depthManager.coins + _local2);
}
_local2++;
}
setupNextCoin();
}
function fireCoin() {
if (playable) {
var _local2 = 0;
while (_local2 < com.bentempleton.Game.coins.length) {
com.bentempleton.Game.coins[_local2].setupForMove();
_local2++;
}
strikeNum++;
collision = false;
coinOffTable = false;
var _local3 = getCoin("t");
var _local4 = getCoin("b");
overrideCollisions = false;
currCoin.pnt_travel = flash.geom.Point.polar(dragger.power, dragger.releaseAngle);
currCoin.pnt_next.x = currCoin.pnt_next.x + currCoin.pnt_travel.x;
currCoin.pnt_next.y = currCoin.pnt_next.y + currCoin.pnt_travel.y;
currCoin.moving = (ballsMoving = true);
MASTER_INT = setInterval(mx.utils.Delegate.create(this, MASTER_FUNC), 10);
}
}
function MASTER_FUNC() {
ballsMoving = false;
var _local6 = 0;
while (_local6 < com.bentempleton.Game.allCircles.length) {
var _local2 = com.bentempleton.Game.allCircles[_local6];
var _local4 = 0;
while (_local4 < com.bentempleton.Game.allCircles.length) {
var _local3 = com.bentempleton.Game.allCircles[_local4];
if ((_local3 != _local2) && (_local2.moving || (_local3.moving))) {
checkCoinCollisions(_local2, _local3);
}
_local4++;
}
if (_local2.objType == "coin") {
if (_local2.moving) {
ballsMoving = true;
}
_local2.checkCollisions();
_local2.drawMe();
var _local5 = new Object();
_local5.p0 = currCoin.origP0;
_local5.p1 = currCoin.nextP0;
updateVector(_local5, true);
goalLine = new Object();
goalLine.p0 = goalie.goal_p0;
goalLine.p1 = goalie.goal_p1;
updateVector(goalLine, true);
}
_local6++;
}
if (ballsMoving == false) {
clearInterval(MASTER_INT);
determineNextPhase();
}
}
function determineNextPhase() {
var _local2 = 0;
while (_local2 < com.bentempleton.Game.circles.length) {
com.bentempleton.Game.circles[_local2].reset();
_local2++;
}
var _local4 = new Object();
var _local5 = 0;
var _local3 = 0;
var _local8;
_local2 = 0;
while (_local2 < com.bentempleton.Game.coins.length) {
if (com.bentempleton.Game.coins[_local2]._x < ((table._width / 2) + table._x)) {
_local5++;
}
if (com.bentempleton.Game.coins[_local2] != currCoin) {
_local4["coin" + _local3] = com.bentempleton.Game.coins[_local2];
_local3++;
}
if (com.bentempleton.Game.coins[_local2].hitWoodwork) {
user.shotsOnGoal++;
}
_local2++;
}
var _local6 = new Object();
_local6.p0 = currCoin.origP0;
_local6.p1 = currCoin.currP0;
updateVector(_local6, true);
var _local7 = new Object();
_local7.p0 = _local4.coin0.currP0;
_local7.p1 = _local4.coin1.currP0;
updateVector(_local7, true);
if (checkCrossOver(_local6, _local7) && (checkCrossOver(_local6, goalLine, true))) {
doGoal();
FB.action("goal_sm");
} else {
FB.action("noGoal_sm");
}
setupPauseScreen();
}
function doNextPhase() {
}
function setupPauseScreen() {
timer.pauseTimer(true);
FB.click_mc.disable_btn.onPress = mx.utils.Delegate.create(this, restart);
}
function setupNextCoin() {
currCoin = nextCoin;
currCoin.override = false;
dragger.coin = currCoin;
dragger.reset();
}
function endGame() {
clearInterval(MASTER_INT);
timer.killTimer();
playable = false;
user.played = true;
user.userTime = timer.elapsed;
user.userTimeDisp = com.bentempleton.Timer_sm.formatTime(timer.elapsed);
com.bentempleton.Widget.__get__instance().setupEndScreen();
}
function doGoal() {
updateUserScore(1);
if (user.goals == _global.root.targetGoals) {
endGame();
}
}
function updateUserScore(num) {
if (num == undefined) {
} else if (num == 0) {
user.goals = 0;
} else if ((user.goals + num) >= 0) {
user.goals = user.goals + num;
}
UI.score_mc.t_txt.text = _global.root.targetGoals - user.goals;
}
}
Symbol 181 MovieClip [__Packages.com.bentempleton.Coin_sm] Frame 0
class com.bentempleton.Coin_sm extends com.bentempleton.Coin
{
var ID, _name, root, outer, inner, stationary, bigger, tweens, resetVectors, origR, r, objType, friction, decay, doBounceDecay, originals, storeOriginalPos, moving, posBounds, pnt_travel, getFriction, _y, _x, onEnterFrame, _alpha, _xscale, _yscale, pnt_this, pnt_next, offTable, override, hitWoodwork;
function Coin_sm () {
super();
init();
}
function init() {
if (com.bentempleton.Coin.instances == undefined) {
com.bentempleton.Coin.instances = new Array();
}
com.bentempleton.Coin.instances.push(this);
ID = _name.split("_")[0].slice(4);
root = this;
outer = this;
inner = root.inner_mc;
stationary = true;
bigger = false;
tweens = new Object();
resetVectors();
origR = _global.root.radius_sm;
r = _global.root.radius_sm;
objType = "coin";
friction = new Object({fraction:5, f1:0.94, f2:0.7, f3:0.7, perim:40});
decay = new Object({main:0.5, target:0.8});
doBounceDecay = false;
originals = new Object();
storeOriginalPos();
moving = false;
root.coin_mc.marker_mc.gotoAndStop(_name);
posBounds = new Object();
}
function speedDecay() {
if (originals.travelX == undefined) {
originals.travelX = pnt_travel.x;
}
if (originals.travelY == undefined) {
originals.travelY = pnt_travel.y;
}
var _local2 = new Object();
_local2.x = originals.travelX / friction.fraction;
_local2.y = originals.travelY / friction.fraction;
var friction = getFriction({x:_x, y:_y}, pnt_travel, _local2);
pnt_travel.x = pnt_travel.x * friction;
pnt_travel.y = pnt_travel.y * friction;
}
function reset() {
delete onEnterFrame;
var _local2 = getPos();
_x = _local2.x;
_y = _local2.y;
_alpha = originals.startPos.a;
_xscale = (_yscale = originals.startPos.s);
pnt_this = new flash.geom.Point(_x, _y);
pnt_next = new flash.geom.Point(_x, _y);
pnt_travel = new flash.geom.Point(0, 0);
offTable = false;
override = false;
hitWoodwork = false;
}
function getPos() {
var _local3 = posBounds[_name];
var _local5 = _global.randBetween(_local3.xMin, _local3.xMax);
var _local4 = _global.randBetween(_local3.yMin, _local3.yMax);
return({x:_local5, y:_local4});
}
}
Symbol 11 MovieClip [__Packages.com.rubberductions.Tracker] Frame 0
class com.rubberductions.Tracker extends MovieClip
{
var lvID, lvs, sessionID, referrer, flashMinorVersion, flashMajorVersion, debug, CID, baseURL, userID, projectID, getIDFunc, userLV, getURL;
function Tracker () {
super();
initVars();
}
function initVars() {
lvID = 0;
lvs = [];
sessionID = "-1";
referrer = ((_root.referrer == undefined) ? "" : (_root.referrer));
var _local3 = com.rubberductions.Utils.getFlashVersion();
flashMinorVersion = (_local3.result ? (_local3.minor) : -1);
flashMajorVersion = (_local3.result ? (_local3.major) : -1);
}
function getNextLvID() {
return(++lvID);
}
function getALoadVars(label) {
var _local2 = new LoadVars();
_local2.__arrID = getNextLvID();
_local2.__label = label;
_local2.__cb = this;
_local2.onLoad = function (success) {
if (success) {
this.__cb.checkRequest(this);
} else {
this.__cb.badRequest(this);
}
};
lvs[_local2.__arrID] = _local2;
return(_local2);
}
function badRequest(lv) {
output(("request " + lv.__label) + " failed");
delete lvs[lv.__arrID];
}
function checkRequest(lv) {
if (lv.ok == "1") {
output(("request " + lv.__label) + " returned ok");
} else {
output(("request " + lv.__label) + " failed on the server");
}
if (lv.sessionID != undefined) {
sessionID = lv.sessionID;
}
delete lvs[lv.__arrID];
}
function output(str) {
if (debug) {
trace("TRACKER: " + str);
}
}
function checkReady() {
if ((((CID != undefined) && (baseURL != undefined)) && (userID != undefined)) && (projectID != undefined)) {
return(true);
}
output("prerequisits haven't been defined, check you have made calls to setBaseURL() ,setCampaignID(), setProjectID() and initialise() and that they returned correctly");
return(false);
}
function initialise(cbFunction) {
if (typeof(cbFunction) == "function") {
getIDFunc = cbFunction;
var _local2 = com.rubberductions.Utils.readLSO(projectID, "id");
if (_local2 != "") {
userID = _local2;
output("cookie found... letting you know");
getIDFunc(true);
} else {
output("cookie not found...");
requestUserID();
}
} else {
output("check the passed function");
}
}
function requestUserID() {
if (CID != undefined) {
output(("asking the server for a new user id from: " + baseURL) + GETID);
userLV = new LoadVars();
userLV.CID = CID;
userLV.onLoad = mx.utils.Delegate.create(this, userIDRequestResponse);
userLV.sendAndLoad(baseURL + GETID, userLV, "POST");
} else {
output("define the campaign id first before calling requestUserID");
}
}
function userIDRequestResponse(success) {
if (success) {
if (userLV.id != undefined) {
output("server provided a user id: " + userLV.id);
userID = userLV.id;
com.rubberductions.Utils.writeLSO(projectID, "id", userID);
output("wrote the coookie");
getIDFunc(true);
} else {
output("server didn't provide a user id");
getIDFunc(false);
}
} else {
output("request for the user id failed");
getIDFunc(false);
}
delete userLV;
}
function setBaseURL(u) {
if (typeof(u) == "string") {
baseURL = u;
return(true);
}
output("check the URL you passed to setBaseURL()");
return(false);
}
function setProjectID(id) {
if (typeof(id) == "string") {
projectID = id;
output("project id set: " + projectID);
return(true);
}
output("project id was not a string");
return(false);
}
function setCampaignID(id) {
if (typeof(id) == "string") {
CID = id;
output("campaign id set: " + CID);
return(true);
}
output("campaign id was not a number");
return(false);
}
function load() {
if (checkReady()) {
var _local2 = getALoadVars("load");
_local2.CID = CID;
_local2.flversionmajor = flashMajorVersion;
_local2.flversionminor = flashMinorVersion;
_local2.referrer = referrer;
_local2.UID = userID;
_local2.sendAndLoad(baseURL + LOAD, _local2, "POST");
return(true);
}
return(false);
}
function startSession() {
sessionID = "0";
if (checkReady()) {
var _local2 = getALoadVars("start session");
_local2.CID = CID;
_local2.UID = userID;
_local2.currentTime = new Date().getTime();
_local2.sendAndLoad(baseURL + START_SESSION, _local2, "POST");
return(true);
}
return(false);
}
function endSession() {
if (checkReady()) {
var _local2 = getALoadVars("end session");
_local2.CID = CID;
_local2.UID = userID;
_local2.currentTime = new Date().getTime();
_local2.sessionID = sessionID;
_local2.sendAndLoad(baseURL + END_SESSION, _local2, "POST");
return(true);
}
return(false);
}
function exit(link, exitLabel, window) {
if (typeof(link) == "string") {
if (typeof(exitLabel) == "string") {
if (typeof(window) == "string") {
if (checkReady()) {
var _local2 = getALoadVars("exit");
_local2.UID = userID;
_local2.CID = CID;
_local2.label = exitLabel;
_local2.link = link;
_local2.sendAndLoad(baseURL + EXIT, _local2, "POST");
}
(getURL(link, window));// not popped
return(true);
}
output("check the window you passed");
} else {
output("check the exitLabel you passed");
}
} else {
output("check the link you passed");
}
return(false);
}
function conversion(label, type) {
if (typeof(label) == "string") {
if (typeof(type) == "string") {
if (checkReady()) {
var _local2 = getALoadVars("conversion");
_local2.UID = userID;
_local2.CID = CID;
_local2.label = label;
_local2.type = type;
_local2.sendAndLoad(baseURL + CONVERSION, _local2, "POST");
return(true);
}
return(false);
}
output("check the type you passed");
} else {
output("check the label you passed");
}
return(false);
}
function exitPass(toSplit) {
if (checkReady()) {
if (typeof(toSplit) == "string") {
var _local2 = toSplit.split("|");
exit(unescape(_local2[1]), _local2[0]);
return(true);
}
return(false);
}
}
function view(label) {
if (typeof(label) == "string") {
if (checkReady()) {
var _local2 = getALoadVars("view");
_local2.UID = userID;
_local2.CID = CID;
_local2.label = label;
_local2.sendAndLoad(baseURL + VIEW, _local2, "POST");
return(true);
}
} else {
output("check the label you passed");
return(false);
}
}
function custom(path, obj, id) {
if (typeof(path) == "string") {
if (typeof(obj) == "object") {
if (typeof(id) == "string") {
if (checkReady()) {
var _local3 = getALoadVars(id);
_local3.UID = userID;
_local3.CID = CID;
for (var _local4 in obj) {
_local3[_local4] = obj[_local4];
}
_local3.sendAndLoad(baseURL + path, _local3, "POST");
return(true);
}
return(false);
}
// unexpected jump
}
output("check the supplied data obj - doesn't seem to be a Object");
return(false);
}
output("check the supplied path - doesn't seem to be a string");
return(false);
}
function setVerbose(val) {
if (typeof(val) == "boolean") {
debug = val;
output("setVerbose: " + val);
return(true);
}
trace("TRACKER: setVerbose: param is not a boolean");
return(false);
}
static var GETID = "getUID";
static var LOAD = "load";
static var START_SESSION = "startSession";
static var END_SESSION = "endSession";
static var EXIT = "exit";
static var VIEW = "view";
static var CONVERSION = "conversion";
}
Symbol 15 MovieClip [__Packages.com.rubberductions.Utils] Frame 0
class com.rubberductions.Utils
{
function Utils () {
}
static function readLSO(lsoName, prop) {
if (lsoName != undefined) {
var _local1 = SharedObject.getLocal(lsoName);
if (_local1.data[prop] == undefined) {
return("");
}
return(_local1.data[prop]);
}
}
static function writeLSO(lsoName, prop, stuff) {
var _local1 = SharedObject.getLocal(lsoName);
_local1.data[prop] = stuff;
_local1.data.flush();
}
static function getFlashVersion() {
var _local1 = System.capabilities.version;
var _local2 = _local1.indexOf(" ");
if (_local2 != -1) {
_local1 = _local1.substr(_local2 + 1, _local1.length);
_local1 = _local1.split(",");
var _local5 = _local1[0];
var _local4 = _local1[1];
return({major:_local5, minor:_local4, result:true});
}
return({major:-1, minor:-1, result:false});
}
}
Symbol 14 MovieClip [tracker_] Frame 1
#initclip 26
Object.registerClass("tracker_", com.rubberductions.Tracker);
#endinitclip
Symbol 23 MovieClip Frame 1
stop();
Symbol 40 MovieClip [Coin] Frame 1
#initclip 34
Object.registerClass("Coin", com.bentempleton.Coin_sm);
#endinitclip
Symbol 54 MovieClip Frame 1
stop();
Symbol 57 MovieClip [DragWidget] Frame 1
#initclip 27
Object.registerClass("DragWidget", com.bentempleton.DragWidget_sm);
#endinitclip
Symbol 66 MovieClip [Int Obj Rect] Frame 1
#initclip 28
Object.registerClass("Int Obj Rect", com.bentempleton.InterferenceObj);
#endinitclip
Symbol 67 MovieClip Frame 40
this.gotoAndPlay("repeat");
Symbol 68 MovieClip [Goalie MAIN] Frame 1
#initclip 29
Object.registerClass("Goalie MAIN", com.bentempleton.Goal);
#endinitclip
Symbol 79 MovieClip Frame 1
stop();
disasble_btn.useHandCursor = false;
Symbol 79 MovieClip Frame 90
stop();
Symbol 80 MovieClip Frame 1
disable_btn.useHandCursor = false;
Symbol 85 MovieClip [Feedback Interface] Frame 1
#initclip 30
Object.registerClass("Feedback Interface", com.bentempleton.Feedback);
#endinitclip
stop();
Symbol 85 MovieClip [Feedback Interface] Frame 26
stop();
Symbol 85 MovieClip [Feedback Interface] Frame 27
top_txt.text = noGoal;
bot_txt.text = top_txt.text;
Symbol 85 MovieClip [Feedback Interface] Frame 45
stop();
Symbol 85 MovieClip [Feedback Interface] Frame 46
top_txt.text = goal;
bot_txt.text = top_txt.text;
Symbol 85 MovieClip [Feedback Interface] Frame 69
stop();
Symbol 89 MovieClip [Int Obj Circle] Frame 1
#initclip 31
Object.registerClass("Int Obj Circle", com.bentempleton.InterferenceObj);
#endinitclip
Symbol 91 MovieClip [Game] Frame 1
#initclip 32
Object.registerClass("Game", com.bentempleton.Game_sm);
#endinitclip
Symbol 101 MovieClip Frame 1
var proposition;
var header1;
var header2;
var header3;
var prompt;
stop();
Symbol 101 MovieClip Frame 324
this.gotoAndPlay("loop");
Symbol 101 MovieClip Frame 326
stop();
Symbol 105 MovieClip [Timer] Frame 1
#initclip 33
Object.registerClass("Timer", com.bentempleton.Timer_sm);
#endinitclip
Symbol 119 MovieClip Frame 1
stop();
Symbol 119 MovieClip Frame 8
stop();
Symbol 125 MovieClip Frame 1
stop();
Symbol 125 MovieClip Frame 10
stop();
Symbol 131 MovieClip Frame 1
stop();
Symbol 131 MovieClip Frame 8
stop();
Symbol 134 MovieClip Frame 1
stop();
Symbol 134 MovieClip Frame 8
stop();
Symbol 152 MovieClip [loader] Frame 1
var numClips = 12;
var rot = (360 / numClips);
var props = new Object({_min:10, _max:90});
props.inc = (props._max - props._min) / numClips;
this.inner_mc._rotation = Math.floor(Math.random() * 4) * rot;
var i = 0;
while (i < numClips) {
var clip = this.inner_mc["arm" + (i + 1)];
if (clip != undefined) {
clip._alpha = this.props._max - (i * this.props.inc);
}
i++;
}
this.onEnterFrame = function () {
this.inner_mc._rotation = this.inner_mc._rotation + 30;
};