/* (c) 2013-2022 GameMix Inc. All rights reserved. */ !function(){var t,u,a,o,c,p,g,f,m,y,i,s,v,e=document.getElementById("gameCanvas"),n=e.getContext("2d");function w(t,e){return i.call(t,e)}function r(t,e){var i,s,n,a,o,r,h,l,d,u,c=e&&e.split("/"),p=m.map,g=p&&p["*"]||{};if(t&&"."===t.charAt(0))if(e){for(c=c.slice(0,c.length-1),e=(t=t.split("/")).length-1,m.nodeIdCompat&&v.test(t[e])&&(t[e]=t[e].replace(v,"")),t=c.concat(t),l=0;l>>0;if("function"!=typeof t)throw new TypeError;for(i=0;i>>0;if("function"!=typeof t)throw new TypeError;for(i=0;it.x?this:t).x,this.y=(this.y>t.y?this:t).y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},lengthSquared:function(){return this.x*this.x+this.y*this.y},normalize:function(){var t,e=Math.sqrt(this.x*this.x+this.y*this.y);return ethis.right&&(t=this.left,this.left=this.right,this.right=t),this.top>this.bottom&&(t=this.top,this.top=this.bottom,this.bottom=t)},translate:function(t,e){this.translateX(t),this.translateY(e)},translateX:function(t){this.left+=t,this.right+=t},translateY:function(t){this.top+=t,this.bottom+=t},getWidth:function(){return this.right-this.left},getHeight:function(){return this.bottom-this.top},setWidth:function(t){this.right=this.left+t},setHeight:function(t){this.bottom=this.top+t},containsPoint:function(t,e){return t>=this.left&&t=this.top&&e=o.GAMEOVERROTATEDELAY&&(e.rotate(),this.lastGameOverAdRotate=t,this.dispatch(o.events.GAMEOVERADREFRESHED,{ad:e})))},showGameOverAd:function(t){this.enabled&&this.gameOverAdScreen&&(this.gameOverHideCallback=t,a.addClass(this.gameOverAdScreen,"show"),this.dispatch(o.events.GAMEOVERADSHOWN,{ad:this.currentGameOverAd}))},hideGameOverAd:function(){this.gameOverAdScreen&&a.removeClass(this.gameOverAdScreen,"show"),this.gameOverHideCallback&&(this.gameOverHideCallback(),this.gameOverHideCallback=null),this.dispatch(o.events.GAMEOVERADHIDDEN,{ad:this.currentGameOverAd})},shouldShowGameOverAd:function(){var t;return!!this.enabled&&(!!(t=this.getGameOverAd())&&t.shouldShow())},getGameOverAd:function(){if(this.enabled&&!this.currentGameOverAd)for(var t=s.getCurrentPlatform(),e=0;e=this.startTime&&e=this.startTime&&t=this.endTime:t>=this.endTime}},s}),n("j13e/anim/J13AnimSequence",["require","exports","module","../utils/J13Utils","./J13Anim"],function(t,e,i){"use strict";var s=t("../utils/J13Utils"),o=t("./J13Anim");function n(t){var e=t||{};o.call(this,t),this.anims=e.anims||[],this.overrideUseLogicTime=e.overrideUseLogicTime||!1,this.recalculateDuration(),this.currentIndex=this.anims.length}return n.prototype=s.inherit(new o,{recalculateDuration:function(){for(var t=0,e=0;eMath.PI;)i-=a;for(;i-e<=-Math.PI;)i+=a;this.propDeltas.angle=i-e}},stageRender:function(t,e,i,s){this.interpolated&&0===s.interpolation&&this.updatePreviousProperties(),this.visible&&0=this.children.length?(t.parent=this).children.push(t):this.children.splice(e,0,t),-1===i&&(t.dispatch(s.events.added,{parent:this}),this.dispatch(n.events.childAdded,{child:t}),this.dispatchAnyChildAdded(t)),this.children.length},removeChild:function(t){var e=this.children.indexOf(t);return-1!==e&&(t.parent=null,this.children.splice(e,1),t.dispatch(s.events.removed,{parent:this}),this.dispatch(n.events.childRemoved,{child:t}),this.dispatchAnyChildRemoved(t),!0)},removeChildAt:function(t){var e;return tt*t&&(this.velocity.normalize(),this.velocity.multiply(t))},limitAccel:function(t){this.maxAccelt*t&&(this.accel.normalize(),this.accel.multiply(t))},limitAngularVelocity:function(t){this.maxAngularSpeedt&&(this.angularVelocity=0=f.pipeDistance;)t=this.createPipesticleAt(e.gapRect.getCenterX(),e.gapRect.top-f.pipeDistance-f.pipeThickness,!0,!0),this.pipesticles.push(t),this.pipeLayer.addChild(t),e=t;for(;0-this.y+this.height;)this.pipeLayer.removeChild(this.pipesticles.shift())},createPipesticleAt:function(t,e,i,s){t=Math.floor(n.rangedRandom(n.clamp(f.pipeGap/2+30,t-f.pipeVariance,this.width-f.pipeGap/2-30),n.clamp(f.pipeGap/2+30,t+f.pipeVariance,this.width-f.pipeGap/2-30))),t=new l({left:t-f.pipeGap/2,right:t+f.pipeGap/2,top:e,bottom:e+f.pipeThickness});return new a({gapRect:t,width:this.width,generateTopBrick:i,generateBottomBrick:s})},shake:function(){r.animManager.startAnim(new d({duration:250,stepCallback:function(){this.anchorX=n.rangedRandom(-10,10),this.anchorY=n.rangedRandom(-10,10)}.bind(this)}))},update:function(t,e,i,s){if(this.state===f.states.collided&&(-1===this.deathTime?this.deathTime=i:-2!==this.deathTime&&100this.width&&(this.bird.x=this.width-this.bird.hitRect.getWidth()/2,this.bird.updateHitRect()),this.bird.y-this.minimumBirdCameraY<-this.y&&(this.y=-(this.bird.y-this.minimumBirdCameraY)),this.updatePipesticles(),this.state===f.states.playing)for(var n=0;n-this.y+this.height&&(this.hitType||(this.hitType=r.hitTypes.tooLow,this.shake(),r.soundManager.play(r.soundNames.crash)),this.bird.visible=!1,this.state=f.states.finished,this.dispatch(f.events.finished,{hitType:this.hitType})),this.ground.visible&&this.ground.y>-this.y+this.height&&(this.ground.visible=!1),this.bg&&this.bg.visible&&this.bg.y>-this.y+this.height&&(this.bg.visible=!1)}}}),f}),n("src/scenes/Scene",["require","exports","module","src/utils/Updatable","j13e/utils/J13Utils","j13e/display/J13DisplayItemContainer"],function(t,e,i){"use strict";var s=t("src/utils/Updatable"),n=t("j13e/utils/J13Utils"),a=t("j13e/display/J13DisplayItemContainer");function o(t){var e=t||{};a.call(this,t),this.game=e.game||null,this.width=e.width||0,this.height=e.height||0}return o.prototype=n.inherit(new a,s.prototype,{update:function(t,e,i,s){},show:function(t){this.visible=!0},hide:function(t){this.visible=!1}}),o}),n("j13e/anim/J13AnimGroup",["require","exports","module","./J13Anim","../utils/J13Utils"],function(t,e,i){"use strict";var n=t("./J13Anim"),t=t("../utils/J13Utils");function s(t){var e=t||{};n.call(this,t),this.anims=e.anims||[],this.applyDuration=e.hasOwnProperty("applyDuration")||-1,this.overrideUseLogicTime=e.overrideUseLogicTime||!1,this.recalculateDuration()}return s.prototype=t.inherit(new n,{recalculateDuration:function(){var t,e,i=0;if(-1!==this.applyDuration)for(this.duration=this.applyDuration,t=0;ti&&(i=e.duration);this.duration=i}},preStart:function(){for(var t=0;t=t.score||r===l.order.ASC&&n<=t.score)&&(i.splice(e,0,{time:s,score:n}),0===e&&(o=!0),a=!0),!a}),!a&&this.entries.lengththis.maxEntries;)this.entries.pop();return t||(t=JSON.stringify({entries:this.entries}),h.set(this.cookieSettings.name,t,this.cookieSettings.expires)),o}},l}),n("j13e/display/J13Buttonable",["require","exports","module"],function(t,e,i){"use strict";function s(t){}return s.isButton=function(t){if(!t)return!1;for(var e in s.prototype)if(s.prototype.hasOwnProperty(e)&&!t[e])return!1;return!0},s.prototype={events:s.events={CLICK:"click",DOWN:"down",UP:"up",HOVER:"hover",HOVEROUT:"hoverout",STATECHANGE:"statechange"},getId:function(){throw new Error("getId function must be overridden")},setWidth:function(t){throw new Error("setWidth function must be overridden")},getWidth:function(){throw new Error("getWidth function must be overridden")},setHeight:function(t){throw new Error("setHeight function must be overridden")},getHeight:function(){throw new Error("getHeight function must be overridden")},click:function(t){throw new Error("click function must be overridden")},down:function(t){throw new Error("down function must be overridden")},up:function(t){throw new Error("up function must be overridden")},hover:function(t){throw new Error("hover function must be overridden")},hoverOut:function(t){throw new Error("hoverOut function must be overridden")},setEnabled:function(t){throw new Error("setEnabled function must be overridden")},isEnabled:function(){throw new Error("isEnabled function must be overridden")},isUp:function(){throw new Error("isUp function must be overridden")},isDown:function(){throw new Error("isDown function must be overridden")},contains:function(t,e){throw new Error("contains function must be overridden")},isButtonVisibleOnStage:function(){throw new Error("isButtonVisibleOnStage function must be overridden")}},s}),n("j13e/display/J13DisplayButton",["require","exports","module","../utils/J13Utils","./J13DisplayItem","./J13Buttonable"],function(t,e,i){"use strict";var s=t("../utils/J13Utils"),n=t("./J13DisplayItem"),a=t("./J13Buttonable");function o(t){var e=t||{};n.call(this,t),this.displayItem=e.displayItem||this,this.id=e.id||"button-"+o.IDPOOL++,this.state=o.states.UP,this.width=e.width||0,this.height=e.height||0,this._enabled=!e.hasOwnProperty("enabled")||e.enabled,e.clickFunction&&this.displayItem.addListener(a.events.CLICK,e.clickFunction)}return o.IDPOOL=0,o.states={UP:"up",DOWN:"down",HOVER:"hover",DISABLED:"disabled"},o.events=s.extendObj(a.prototype.events,{STATECHANGE:"statechange"}),o.prototype=s.inherit(new n,a.prototype,{events:s.extendObj(n.prototype.events,o.events),states:o.states,getId:function(){return this.id},click:function(t){this._enabled&&this.displayItem.dispatch(a.events.CLICK,{originalEvent:t})},down:function(t){this._enabled&&(this.setState(o.states.DOWN),this.displayItem.dispatch(a.events.DOWN,{originalEvent:t}))},up:function(t){this._enabled&&(this.setState(o.states.UP),this.displayItem.dispatch(a.events.UP,{originalEvent:t}))},hover:function(t){this._enabled&&(this.setState(o.states.HOVER),this.displayItem.dispatch(a.events.HOVER,{originalEvent:t}))},hoverOut:function(t){this._enabled&&(this.setState(o.states.UP),this.displayItem.dispatch(a.events.HOVEROUT,{originalEvent:t}))},setState:function(t){this.state=t,this.displayItem.dispatch(o.events.STATECHANGE,{state:this.state})},setEnabled:function(t){this._enabled=t,this._enabled?this.setState(o.states.UP):this.setState(o.states.DISABLED)},isEnabled:function(){return this._enabled},isUp:function(){return this.state===o.states.UP},isDown:function(){return this.state===o.states.DOWN},contains:function(t,e){var i=this.getStageX(),s=this.getStageY();return i<=t&&tthis.volumeButton.y+this.volumeButton.height&&(t.data.scaledX=this.total||!this.strictLoad&&this.loaded+this.errors>=this.total)&&this.onAllLoad(t)},onError:function(t){this.dispatch(this.events.error,{loaded:this.strictLoad?this.loaded:this.loaded+this.errors,total:this.total,errors:this.errors,originalEvent:t})},onAllLoad:function(t){this.changeToLoadedState(),this.dispatch(this.events.allLoad,{loaded:this.strictLoad?this.loaded:this.loaded+this.errors,total:this.total,errors:this.errors,originalEvent:t})},changeToLoadingState:function(){this.state=a.states.loading},changeToLoadedState:function(){this.state=a.states.loaded},isFullyLoaded:function(){return this.state===a.states.loaded}}),a});var l,d={},C=null,A=!0,O=!1;try{"undefined"!=typeof AudioContext?C=new AudioContext:"undefined"!=typeof webkitAudioContext?C=new webkitAudioContext:A=!1}catch(t){A=!1}if(!A)if("undefined"!=typeof Audio)try{new Audio}catch(t){O=!0}else O=!0;function x(t){this._volume=1,this._muted=!1,this.usingWebAudio=A,this.ctx=C,this.noAudio=O,this._howls=[],this._codecs=t,this.iOSAutoEnable=!0}function I(t){var e=this;e._autoplay=t.autoplay||!1,e._buffer=t.buffer||!1,e._duration=t.duration||0,e._format=t.format||null,e._loop=t.loop||!1,e._loaded=!1,e._sprite=t.sprite||{},e._src=t.src||"",e._pos3d=t.pos3d||[0,0,-.5],e._volume=void 0!==t.volume?t.volume:1,e._urls=t.urls||[],e._rate=t.rate||1,e._model=t.model||null,e._onload=[t.onload||function(){}],e._onloaderror=[t.onloaderror||function(){}],e._onend=[t.onend||function(){}],e._onpause=[t.onpause||function(){}],e._onplay=[t.onplay||function(){}],e._onendTimer=[],e._webAudio=A&&!e._buffer,e._audioNode=[],e._webAudio&&e._setupAudioNode(),void 0!==C&&C&&P.iOSAutoEnable&&P._enableiOSAudio(),P._howls.push(e),e.load()}A&&((l=void 0===C.createGain?C.createGainNode():C.createGain()).gain.value=1,l.connect(C.destination)),x.prototype={volume:function(t){var e=this;if(0<=(t=parseFloat(t))&&t<=1){for(var i in e._volume=t,A&&(l.gain.value=t),e._howls)if(e._howls.hasOwnProperty(i)&&!1===e._howls[i]._webAudio)for(var s=0;sFPS-time: "+Math.round(1e3/t)+"
FPS-render: "+Math.round(a/(r/1e3))+"
FPS-logic: "+Math.round(o/(r/1e3)),this.lastFrameCapture=this.frameCount,this.lastRenderFrameCapture=this.renderFrameCount,this.lastLogicFrameCapture=this.logicFrameCount,this.lastFrameCaptureTime=i)),this.frameCount+=1},updateRenderFrameCount:function(){this.renderFrameCount+=1},updateLogicFrameCount:function(){this.logicFrameCount+=1}},n}),n("j13e/anim/J13AnimManager",["require","exports","module","./J13Anim","../utils/J13Utils","../utils/J13EventDispatcher"],function(t,e,i){"use strict";var l=t("./J13Anim"),s=t("../utils/J13Utils"),n=t("../utils/J13EventDispatcher");function a(t){var e,i=t||{};if(n.call(this,t),this.anims={},i.anims)for(e in i.anims)i.anims.hasOwnProperty(e)&&(this.anims[e]=i.anims[e],this.anims[e].manager=this);this.activeAnims=[],this.animIndexesToRemove=[],this.animsToStart=[]}return a.prototype=s.inherit(new n,{addAnim:function(t){(this.anims[t.id]=t).manager=this},removeAnim:function(t){t=this.anims["string"==typeof t?t:t.id];t&&(this.anims[t.id]=void 0,t.manager=null)},update:function(t,e,i,s){if(1this.maxFrameDelay?this.maxFrameDelay:t)/1e3,this.engineContext.dtm=t,this.engineContext.dts=e,this.engineContext.time=s,this.logicLoopEnabled)for(this.fixedAccumulator+=t,i=0;this.fixedAccumulator>=this.fixedLogicDTM&&iu.height)&&(l=a,h=Math.floor(o*l)):(iu.width)&&(h=n,l=Math.floor(h/o)),this.canvasCon.style.width=h+"px",this.canvasCon.style.height=l+"px",d.mouseManager.scaleX=d.mouseManager.scaleY=u.width/h)},createFadeOutTransition:function(){var e=this;return new y({startValue:0,endValue:1,duration:500,startCallback:function(){e.transitionOverlay.visible=!0,e.transitionOverlay.opacity=0},stepCallback:function(t){e.transitionOverlay.opacity=t}})},createFadeInTransition:function(){var e=this;return new y({startValue:1,endValue:0,duration:500,startCallback:function(){e.transitionOverlay.visible=!0,e.transitionOverlay.opacity=1},stepCallback:function(t){e.transitionOverlay.opacity=t},endCallback:function(){e.transitionOverlay.visible=!1,e.transitionOverlay.opacity=0}})},start:function(t){d.volumeSheet=new v({image:d.loadedImages[d.images.volumeSprite],spriteMap:d.spriteMap.volume}),d.patterns.stars=this.engine.canvasContext.createPattern(d.loadedImages[d.images.stars],"repeat"),d.patterns.dayStars=this.engine.canvasContext.createPattern(d.loadedImages[d.images.dayStars],"repeat"),this.playScreen=new g({game:this,width:u.width,height:u.height}),this.stage.addChild(this.playScreen),this.stage.removeChild(this.copyrightText),this.stage.addChild(this.copyrightText),this.transitionOverlay=new S({rect:new C({width:u.width,height:u.height}),fillStyle:"#000000",visible:!1,opacity:0}),this.stage.addChild(this.transitionOverlay),this.gsm.toState(d.gameStates.level,{reset:!0})},openMenu:function(t){this.gsm.getCurrentStateId()!==d.gameStates.mainMenu&&this.gsm.toState(d.gameStates.mainMenu)},logicLoop:function(t){var t=t.data,e=t.fixedDTM,i=t.fixedDTS,s=t.time;(new Date).getTime();t.started&&this.playScreen.update(e,i,s,t);(new Date).getTime();this.lastLogicTime=(new Date).getTime()},enterRenderLoop:function(t){this.debugRenderStartTime=(new Date).getTime()},exitRenderLoop:function(t){this.debugRenderEndTime=(new Date).getTime();this.debugRenderEndTime,this.debugRenderEndTime},getNumPlays:function(){return this.playScreen.numPlays},kikShare:function(t){window.cards&&window.cards.kik&&window.kik.send({title:"I got "+this.playScreen.score+" on Flappy Copter!",text:"Do you think you can fly higher?",pic:"/imgs/favicon-96.png",data:{score:this.playScreen.score,date:Date.now()}})},trace:function(t){this.engine.debugManager&&this.engine.debugManager.output&&(this.engine.debugManager.output.innerHTML=t||"")}}),I}),n("src/analytics",["require","src/Settings","cocoonjs/CocoonInclude"],function(t){var i,s,n,e,a,o,r,h,l=t("src/Settings"),d=t("cocoonjs/CocoonInclude");return l.cocoon?window.cordova||(i=!1,s=[],n=function(){for(var t;t=s.shift();)t=t,console.log("Sending "+t+" to the Webview"),d.App.forwardAsync(t)},window.gaInterfaceIsReady=function(){d.App.forwardAsync("CocoonJS.App.show(0, 0, "+window.innerWidth*window.devicePixelRatio+","+window.innerHeight*window.devicePixelRatio+");",function(){i=!0,n()})},console.log("Creating GAI interface"),d.App.loadInTheWebView("https://more.gamemix.com/cocoonoverlay.html?currentGame=undeadescape"),window.ga=function(){for(var t="",e=0;e