__manifest={launch:"js/demoncastle",title:"魔兽城堡",sizes:[[320,480]],description:"恶魔入侵,赶快拿起宝剑杀敌!抵抗恶魔,保护城堡!",shortName:"魔兽城堡",orientation:"portrait",favicon:"media/images/favicon.ico",icons:{114:"media/images/icons/114.png"},version:"1.6.1"};__intl={LOADING:"加载中",HIGH_SCORE:"最高分:",PLAY:"开始游戏",READY:"准备",NEW_HIGH_SCORE:"新的最高纪录!",PAUSED:"游戏暂停",YOUR_SCORE:"你的分数:",PLAY_SOUND:"打开声音",QUIT:"退出游戏",CONTINUE:"继续游戏",GAME_OVER:"游戏结束",MONSTERS_SLAIN:"消灭怪物:",PLAY_AGAIN:"再玩一次"};var requirejs,require,define;(function(e){function t(e,t){var n=t&&t.split("/"),r=l.map,i=r&&r["*"]||{},s,o,u,a,f,c;if(e&&"."===e.charAt(0)&&t){n=n.slice(0,n.length-1);e=n.concat(e.split("/"));for(f=0;s=e[f];f++)if("."===s)e.splice(f,1),f-=1;else if(".."===s){if(1===f&&(".."===e[2]||".."===e[0]))return!0;0t.x&&e.y>t.y&&e.x(e/=r/2)?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t},inStrong:function(e,t,n,r){return n*(e/=r)*e*e*e+t},outStrong:function(e,t,n,r){return-n*((e=e/r-1)*e*e*e-1)+t},bothStrong:function(e,t,n,r){return 1>(e/=r/2)?n/2*e*e*e*e+t:-n/2*((e-=2)*e*e*e-2)+t},elasticIn:function(e,t,n,r,i,s){if(0==e)return t;if(1==(e/=r))return t+n;s||(s=.3*r);!i||ie?-.5*i*Math.pow(2,10*(e-=1))*Math.sin(2*(e*r-o)*Math.PI/s)+t:i*Math.pow(2,-10*(e-=1))*Math.sin(2*(e*r-o)*Math.PI/s)*.5+n+t},backIn:function(e,t,n,r,i){return void 0===i&&(i=1.70158),n*(e/=r)*e*((i+1)*e-i)+t},backOut:function(e,t,n,r,i){return void 0===i&&(i=1.70158),n*((e=e/r-1)*e*((i+1)*e+i)+1)+t},backBoth:function(e,t,n,r,i){return void 0===i&&(i=1.70158),1>(e/=r/2)?n/2*e*e*(((i*=1.525)+1)*e-i)+t:n/2*((e-=2)*e*(((i*=1.525)+1)*e+i)+2)+t},bounceIn:function(t,n,r,i){return r-e.bounceOut(i-t,0,r,i)+n},bounceOut:function(e,t,n,r){return(e/=r)<1/2.75?7.5625*n*e*e+t:e<2/2.75?n*(7.5625*(e-=1.5/2.75)*e+.75)+t:e<2.5/2.75?n*(7.5625*(e-=2.25/2.75)*e+.9375)+t:n*(7.5625*(e-=2.625/2.75)*e+.984375)+t},bounceBoth:function(t,n,r,i){return t=this.interval&&(this._elapsed=0,++this._loops,this.fire("elapsed",[this._loops]))}})});define("djinn/XHR",[],function(){return function(e,t,n,r){n=n||{};var i="",s=new XMLHttpRequest;s.open(e,t,!0);if("POST"==e.toUpperCase()){for(var o in r)if("object"==typeof r[o]&&r[o].length)for(e=0,t=r[o].length;ethis.height?"landscape":"portrait":t.orientation}}});this._cacheDimensions();this._updateSize();if(this.isTouch){e=bind(this,function(e){this._hideAddressBar()});for(var n=["touchstart","touchmove","touchend"],r=0,i=n.length;r=i&&t&&t()},f=function(e,t){logger.error("Failed to load asset: "+e);a(e,t)},l=0,c=e.length;l=h.length)logger.info("[assets.load] Skipping empty asset path"),--i;var p=o.inferAssetType(h);r[h]=(0,s[p])(h,a,f)}}},o.unload=function(e){"string"==typeof e&&(e=[e]);for(var t=0,n=e.length;t=this.opacity)){var t=~~this.x,n=~~this.y;e.save();e.translate(t+this.anchorX,n+this.anchorY);e.globalAlpha=this.compositeOpacity;0!=this.rotation&&e.rotate(this.rotation);1!=this.scale&&e.scale(this.scale,this.scale);(this.flipHorizontal||this.flipVertical)&&e.scale(this.flipHorizontal?-1:1,this.flipVertical?-1:1);e.translate(-this.anchorX,-this.anchorY);this.clip&&(e.beginPath(),e.rect(0,0,this.width,this.height),e.clip());this.render&&0this._tweenQueue.length)){var t=this._tweenQueue[0];t.elapsed+=e;if(null===t.properties)t.elapsed>=t.duration&&(this._tweenQueue.shift(),t.callback&&t.callback());else{e=Math.ceil(t.duration/e);var n=Math.floor(t.elapsed/t.duration*e);if(n>=e){for(var r in t.properties)this[r]=t.properties[r].to;this._tweenQueue.shift();t.callback&&t.callback()}else for(r in t.properties){var i=t.properties[r];null==i.from&&(i.from=this[r]);i=t.transition(n,i.from,i.to-i.from,e);this[r]=i}}}},_getCurrentLayout:function(){var e=s.width+"x"+s.height;return this._layouts&&this._layouts[e]?this._layouts[e]:null},_initLayouts:function(){if(null!=this._layouts){var e=this._layouts.init,t=e?e.conf||{}:{},n=this._getCurrentLayout();n&&n.conf&&(t=merge(n.conf,t));this.set(t);if(e&&e.children)for(var r in e.children){var n=e.children[r],i=n.conf||{},s=this._getCurrentLayout(),t=null;null!=s&&s.children&&s.children[r]&&(t=s.children[r],i=merge(t.conf,i));n=new(n.ctor||u)(merge({parent:this,tag:r},i));t&&t.align&&n.align.apply(n,t.align)}this.reflow()}},_renderDebug:function(e){e.lineWidth=1;var t=this.boundingBox,n=t.x-this.x,r=t.y-this.y;e.fillStyle="rgba(255, 0, 0, 0.15)";e.fillRect(n,r,t.width,t.height);e.strokeStyle="rgb(255, 0, 0)";e.strokeRect(n,r,t.width,t.height);e.strokeStyle="rgb(0, 0, 255)";e.strokeRect(0,0,this.width,this.height)}});return u.transitions=t,u});define("djinn/helpers/RotateDeviceView",["djinn/View"],function(e){return e.extend({init:function(t){t=merge(t,{visible:!1,z:Infinity,backgroundColor:"rgb(255, 255, 255)"});this._super(t);this._rotateView=(new e({parent:this,width:250,height:250,image:"__rotateImage"})).align("center","center")},reflow:function(){this.width=this.parent.width;this.height=this.parent.height;this._rotateView.align("center","center");this._super()}})});define("djinn/ui/ProgressBar",["djinn/View"],function(e){return e.extend({init:function(e){e=merge(e,{progress:0});this._super(e);this.progress=Number(e.progress)},render:function(e){this._super(e);var t=this.width*this.progress;e.fillStyle="rgb(100, 100, 100)";e.fillRect(0,0,t,this.height);e.lineWidth=2;e.strokeStyle="rgb(230, 230, 230)";e.strokeRect(0,0,this.width,this.height)}})});define("djinn/TextView",["djinn/View","djinn/client"],function(e,t){var n=e.extend({init:function(e){Object.defineProperty(this,"text",{get:function(){return this._rawText},set:function(e){this._lineBuffer=null;this._rawText=e?String(e):null}});e=merge(e,n.defaults);e.parent&&(!e.width||1>e.width)&&(e.width=e.parent.width);if(!e.height||1>e.height)e.height=e.fontSize;this._super(e);this._lineBuffer=null;this.fontSize=Number(e.fontSize);this.fontFamily=e.fontFamily;this.color=e.color;this.shadowColor=e.shadowColor;this.strokeColor=e.strokeColor;this.strokeWidth=e.strokeWidth;this.textAlign=e.textAlign;this.verticalAlign=e.verticalAlign;this.text=e.text},render:function(e){this._super(e);if(!(void 0===this.text||null===this.text||1>this.text.length)){null==this._lineBuffer&&this._bufferLines(this.text,e);var n=drawY=0;"center"==this.textAlign&&(n=this.width/2);"right"==this.textAlign&&(n=this.width);"middle"==this.verticalAlign&&(drawY=this.height/2);this._applyContextSettings(e);for(var r=0,i=this._lineBuffer.length;rthis.width?(++r,this._lineBuffer[r]=n[i]):this._lineBuffer[r]=u}}});return n.defaults={fontSize:20,fontFamily:"Helvetica, Arial, Verdana, Microsoft Yahei, 微软雅黑, STXihei, 华文细黑, sans-serif",color:"rgb(0, 0, 0)",textAlign:"left",verticalAlign:"top",text:""},n});define("djinn/helpers/LoadingScreen","djinn/manifest djinn/assets djinn/View djinn/TextView djinn/ui/ProgressBar djinn/utils/viewEffects".split(" "),function(e,t,n,r,i,s){var o=merge(e.splash,{fadeDuration:1,displayDuration:0,backgroundColor:"rgb(0, 0, 0)",imageWidth:100,imageHeight:100});return n.extend({init:function(e){Object.defineProperty(this,"loadingProgress",{set:function(e){this._loadingBar.progress=e;this._loadingText.text="LOADING: "+~~(100*e)+"%"}});e=merge({tag:"LoadingScreen",acceptInputEvents:!0,cancelInputEvents:!0,visible:!1,backgroundColor:o.backgroundColor,z:Infinity},e);this._super(e);o.image&&(t.load(o.image),this._splashImage=(new n({parent:this,image:o.image,width:o.imageWidth,height:o.imageHeight})).align("center","center"));e=.05*this.height;this._loadingBar=(new i({parent:this,visible:!1,width:.8*this.width,height:e})).align("center","bottom",0,-e);this._loadingText=(new r({parent:this,visible:!1,text:"LOADING",textAlign:"center",verticalAlign:"middle",color:"rgb(255, 255, 255)",fontSize:~~(.75*e),height:e})).align("center","bottom",0,-e);this._uiDelayTimer=this.createBoundTimer(500,bind(this,"_onDelayElapsed"));this.on("inputStart",this,"_onInputStart")},show:function(e){this.set({opacity:0,visible:!0});s.fadeIn(this,{duration:o.fadeDuration});this.delayTween(o.displayDuration,function(){e&&e()});this._uiDelayTimer.start()},hide:function(e){this.acceptInputEvents=!1;s.fadeOut(this,{duration:o.fadeDuration},bind(this,function(){this.visible=!1;e&&e()}))},_onDelayElapsed:function(){this._uiDelayTimer.stop();1>this._loadingBar.progress&&(this._loadingText.visible=!0,this._loadingBar.visible=!0)},_onInputStart:function(e){this._onDelayElapsed();this.completeTween()}})});define("djinn/Game","djinn/Emitter djinn/globalTimer djinn/client djinn/stage djinn/View djinn/TextView djinn/helpers/RotateDeviceView djinn/helpers/LoadingScreen djinn/manifest djinn/assets".split(" "),function(e,t,n,r,i,s,o,u,a,f){return e.extend({init:function(e){e=merge(e,{showLoadingScreen:!1});this._super(e);this.showLoadingScreen=e.showLoadingScreen;this._splashFinished=!1;this._loadingProgress=0;this.view=new i({tag:"GameRootView",acceptInputEvents:!0,width:r.width,height:r.height});r.on("resize",this,"_onStageResize");"both"!=a.orientation&&(this._rotateDeviceView=new o({parent:this.view}),e=bind(this,function(){a.orientation!=n.orientation?this._rotateDeviceView.show():this._rotateDeviceView.hide()}),n.on("orientationChange",e),e());this._loadingScreen=new u({parent:this.view,visible:!1})},run:function(){t.on("tick",this,"_update");t.start();this.showLoadingScreen&&(r.eraseBeforeRender=!0,this._loadingScreen.show(bind(this,"_onSplashFinish")))},stop:function(){t.stop();t.off("tick",this)},preloadAssets:function(e){f.load(e,bind(this,"_onLoadComplete"),bind(this,"_onLoadProgress"))},_onLoadProgress:function(e,t,n,r,i){this._loadingProgress=i;this._loadingScreen.loadingProgress=this._loadingProgress;this._checkGameReady()},_onLoadComplete:function(){this.fire("load")},_update:function(e){this._react();this.view.preTick(e);this._render()},_react:function(){for(var e=r.getInputEvents(),t=e.length,n=0;n=1e3/t.frameRate&&(this._frameElapsed=0,++this._frameIndex,e=t.frames.length-1,this._frameIndex>e&&(0==t.loop?(this._frameIndex=e,this._animating=!1,this.fire("animationEnd")):this._frameIndex=0))}},render:function(e){if(this._currentAnim){var t=this._animations[this._currentAnim],n=t.frames[this._frameIndex],r=n[0],n=n[1];this._image&&this._image.ready&&((t.flipHorizontal||t.flipVertical)&&e.scale(t.flipHorizontal?-1:1,t.flipVertical?-1:1),r+this.width>this._image.width||n+this.height>this._image.height?logger.warn("Invalid sprite coordinates!"):e.drawImage(this._image,r,n,this.width,this.height,0,0,this.width,this.height))}else this._super(e)},playAnimation:function(e,t){if(this._currentAnim!=e||!1!==t)this._animating=!0,this._currentAnim=e,this._frameElapsed=this._frameIndex=0}})});define("js/data/weapons",{axe:{bounce:!0,damage:10,interval:200,rotate:!0,speed:250},axe2:{bounce:!0,damage:15,interval:250,rotate:!0,speed:300},axe3:{bounce:!0,damage:20,interval:250,rotate:!0,sound:"xamAttackIce",speed:300},spear:{damage:10,interval:400,speed:600},spear2:{damage:15,interval:300,speed:700},spear3:{damage:20,interval:250,speed:800},sword:{damage:10,interval:400,speed:250},sword2:{damage:15,interval:250,speed:300},sword3:{damage:20,interval:200,sound:"xamAttackFire",speed:500},runeforge:{damage:30,interval:150,sound:"xamAttackFire",speed:750}});define("js/view/DifficultyView",["djinn/View"],function(e){return e.extend({init:function(e){e=merge(e,{opacity:.5});this._super(e)},render:function(e){e.fillStyle="rgb(0, 0, 0)";e.fillRect(this.center.x-50,this.center.y-50,100,100);e.fillStyle="rgb(250, 250, 0)";e.fillRect(this.center.x-50,this.center.y+50,100,-(this.difficulty.value/100*100));e.font="20px Helvetica, Arial, Verdana, Microsoft Yahei, 微软雅黑, STXihei, 华文细黑, sans-serif";e.textAlign="center";e.fillText(Math.round(this.difficulty.value),this.center.x,this.center.y);var t=(this.difficulty.rateOfIncrease-1.6)/1.6;e.fillStyle="rgb(250, 0, 0)";e.fillRect(this.center.x-50-10,this.center.y+50,10,-(100*t));t=Math.sin(this.difficulty.fluctuation);e.fillStyle="rgb(0, 0, 250)";e.fillRect(this.center.x+50,this.center.y,10,50*t)}})});define("js/view/viewData",{width:320,height:480,backgroundColor:"rgb(10, 10, 10)",color:"rgb(240, 240, 240)",margin:10,fontFamily:"Helvetica, Arial, Verdana, Microsoft Yahei, 微软雅黑, STXihei, 华文细黑, sans-serif",fontSize:16,shadowColor:"rgb(10, 10, 10)",targetMaxY:346,numbers:{fontFamily:"Helvetica, Arial, Verdana, Microsoft Yahei, 微软雅黑, STXihei, 华文细黑, sans-serif",strokeColor:"rgb(10, 10, 10)",strokeWidth:3},bars:{backgroundColor:"rgba(10, 10, 10, 0.75)",getColor:function(e){return.25>=e?"rgb(250, 30, 37)":.5>=e?"rgb(233, 116, 28)":"rgb(64, 188, 63)"},height:6},objects:{image:"media/images/objects.png",width:32,height:32,types:{heart:{imageX:128,imageY:0},starburst:{imageX:160,imageY:0,z:3},axe:{imageX:0,imageY:64},axe2:{imageX:32,imageY:64},axe3:{imageX:64,imageY:64},spear:{imageX:0,imageY:32},spear2:{imageX:32,imageY:32},spear3:{imageX:64,imageY:32},sword:{imageX:0,imageY:0},sword2:{imageX:32,imageY:0},sword3:{imageX:64,imageY:0},runeforge:{imageX:92,imageY:0}}},modal:{image:"media/images/modal.png",offsetX:4,width:264,height:264},titleScreen:{image:"media/images/title_bg.png",title:{image:"media/images/title.png",y:24,width:316,height:142},highScore:{fontSize:18,valueFontSize:48,x:95,y:220},button:{x:196,y:316},monsters:{image:"media/images/title_monsters.png",x:38,width:246,height:94}},button:{image:"media/images/button.png",color:"rgb(240, 240, 240)",width:118,height:56},battleScreen:{fontSize:48,painColor:"rgb(211, 43, 48)",wallY:320,headerPanel:{image:"media/images/header_panel.png",width:320,height:64,z:3},pauseButton:{image:"media/images/pause.png",margin:4,width:40,height:40},progressBar:{image:"media/images/bar_filler.png",x:20,y:52,z:4,width:280,height:8},battleField:{image:"media/images/battle_field.png",width:320,height:416},equippedWeapon:{backgroundColor:"rgba(0, 0, 0, 0.75)",x:214,y:4,width:40,height:40},lever:{image:"media/images/lever.png",margin:-4,width:80,height:56}},overlay:{z:5},xam:{image:"media/images/xam.png",y:314,z:2,width:32,height:32,animations:{up:{frameRate:5,frames:[[0,0],[32,0]]},upPain:{frameRate:5,frames:[[0,96],[32,96]]},left:{frameRate:5,frames:[[0,32],[32,32]]},leftPain:{frameRate:5,frames:[[0,128],[32,128]]},right:{frameRate:5,frames:[[0,64],[32,64]]},rightPain:{frameRate:5,frames:[[0,160],[32,160]]},death:{frameRate:4,frames:[[0,192],[32,192],[64,192]],loop:!1}}},spawnPoints:{small:[32,64,128,160,224,256],large:[32,128,224]},monster:{bat:{image:"media/images/monsters/bat.png"},demoblin:{image:"media/images/monsters/demoblin.png"},flamingSkull:{image:"media/images/monsters/flaming_skull.png"},gel:{image:"media/images/monsters/gel.png"},goblin:{image:"media/images/monsters/goblin.png"},wizard:{image:"media/images/monsters/wizard.png"},owlbear:{image:"media/images/monsters/owlbear.png"},cyclops:{image:"media/images/monsters/cyclops.png"},dragon:{image:"media/images/monsters/green_dragon.png"},width:32,height:32,largeWidth:64,largeHeight:64,getAnimations:function(e,t){return{down:{frameRate:5,frames:[[0,0],[e,0]]},up:{frameRate:5,frames:[[0,t],[e,t]]},downPain:{frameRate:5,frames:[[0,3*t],[e,3*t]]},upPain:{frameRate:5,frames:[[0,4*t],[e,4*t]]},idle:{frameRate:0,frames:[[0,0]]},idlePain:{frameRate:0,frames:[[0,3*t]]},death:{frameRate:3,frames:[[0,6*t],[e,6*t],[2*e,6*t]],loop:!1}}}},gameOverScreen:{color:"rgb(216, 200, 161)",padding:20,header:{fontSize:32},monstersSlain:{fontSize:20,y:70},monstersSlainValue:{y:85},debugMode:{fontSize:20,y:120},highScore:{y:132},button:{image:"media/images/buttons_colored_narrow.png",quitImageY:112,y:174,width:98,height:56},highScoreDragon:{image:"media/images/high_score_dragon.png",x:220,y:20,z:2,width:116,height:132}},settingsScreen:{color:"rgb(216, 200, 161)",padding:20,header:{fontSize:32},yourScore:{fontSize:16,y:70},highScore:{fontSize:16,y:95},playSound:{fontSize:24,y:125,width:132,height:38},button:{image:"media/images/buttons_colored_narrow.png",quitImageY:112,y:174,width:98,height:56}},checkbox:{color:"rgb(216, 200, 161)",image:"media/images/checkbox.png",width:38,height:38},health:{between:6,margin:8}});define("js/data/monsters",["djinn/math/Vector2","djinn/Timer","djinn/math/core","../view/viewData"],function(e,t,n,r){return{bat:{bounce:!0,health:10,damage:1,init:function(){this.velocity=new e(n.random(-10,10),50);this._changeDirectionTimer=(new t(500)).on("elapsed",bind(this,function(){this.velocity=new e(n.random(-50,50),n.random(10,100));this._changeDirectionTimer.start(n.random(500,5e3))})).start()},tick:function(e){this.xr.width-r.margin&&(this.velocity.x=-this.velocity.x,this.right=r.width-r.margin);this.y<-this.height&&(this.velocity.y=-this.velocity.y,this.y=-this.height)}},goblin:{health:15,damage:1,init:function(){this.velocity=new e(0,120)}},demoblin:{health:50,damage:1,init:function(){this.velocity=new e(0,75)}},flamingSkull:{bounce:!0,health:30,damage:1,init:function(){var t=n.random(100,200)*(n.random(0,1)||-1);this.velocity=new e(t,n.random(40,60))},tick:function(e){this.xr.width-r.margin&&(this.velocity.x=-this.velocity.x,this.right=r.width-r.margin)}},gel:{bounce:!0,health:30,damage:1,init:function(){this.velocity=new e(n.random(-50,50),50)},onHit:function(){this.velocity=new e(n.random(-50,50),-200)},tick:function(e){this.xr.width-r.margin&&(this.velocity.x=-this.velocity.x,this.right=r.width-r.margin);this.y<-this.height&&(this.velocity.y=-this.velocity.y,this.y=-this.height)}},wizard:{health:40,damage:1,init:function(){this._radians=0;this._startX=this.x;this.velocity=new e(0,50);this._radius=25;this._tickMod=300},tick:function(e){this._radians+=e/this._tickMod;this._radians>=2*Math.PI&&(this._radians-=2*Math.PI);this.x=this._startX+Math.sin(this._radians)*this._radius;this.y<-this.height&&(this.velocity.y=-this.velocity.y,this.y=-this.height)}},owlbear:{size:"large",health:60,damage:1,init:function(){this.velocity=new e(0,80)}},cyclops:{size:"large",health:80,damage:1,init:function(){this.velocity=new e(0,60)}},dragon:{size:"large",health:150,damage:1,init:function(){this.velocity=new e(0,60)}}}});define("js/view/ProgressBar",["djinn/View","djinn/intl","../model/GameModel","./viewData"],function(e,t,n,r){return e.extend({init:function(e){e=merge({image:r.battleScreen.progressBar.image,x:r.battleScreen.progressBar.x,y:r.battleScreen.progressBar.y,z:r.battleScreen.progressBar.z,width:r.battleScreen.progressBar.width,height:r.battleScreen.progressBar.height},e);this._super(e);this.monstersSlain=0},increment:function(){this.monstersSlain+=1;this._update()},reset:function(){this._gotNewHighScore=!1;this.monstersSlain=this.imageY=0;this._update()},_update:function(){var e=Math.min(this.monstersSlain/n.get("highScore"),1);this.width=r.battleScreen.progressBar.width*e;this.imageY=1==e?this.height:0;!this._gotNewHighScore&&1==e&&(this._gotNewHighScore=!0,this.fire("newHighScore"))}})});define("js/view/WeaponView",["djinn/View","djinn/math/Vector2","../data/weapons","./viewData"],function(e,t,n,r){return e.extend({init:function(e){e=merge({image:r.objects.image,width:r.objects.width,height:r.objects.height},e);this._super(e);this._data=n[e.type];this.bounce=this._data.bounce;this.damage=this._data.damage;this.speed=this._data.speed;var t=r.objects.types;this.imageX=t[e.type].imageX;this.imageY=t[e.type].imageY;this.velocity=e.targetVector.scale(this.speed||0);this.rotation=e.targetVector.heading},tick:function(e){e/=1e3;this._data.rotate&&(this.rotation-=.2,0>this.rotation&&(this.rotation+=2*Math.PI));this.velocity&&(this.x+=this.velocity.x*e,this.y+=this.velocity.y*e)}})});define("js/view/HighScoreDragonView",["djinn/View","djinn/math/core","djinn/utils/transitions","./viewData"],function(e,t,n,r){return e.extend({init:function(e){e=merge({image:r.gameOverScreen.highScoreDragon.image,anchorY:r.gameOverScreen.highScoreDragon.height/5,width:r.gameOverScreen.highScoreDragon.width,height:r.gameOverScreen.highScoreDragon.height,x:r.gameOverScreen.highScoreDragon.x,y:r.gameOverScreen.highScoreDragon.y,z:r.gameOverScreen.highScoreDragon.z},e);this._super(e);this._sway()},_sway:function(){if(this.visible){var e=Math.PI/16;this.tween({rotation:-e},4e3,n.easeBoth).tween({rotation:e},4e3,n.easeBoth,bind(this,"_sway"))}}})});define("js/view/polish",["djinn/math/core","djinn/utils/transitions","./viewData"],function(e,t,n){return{burst:function(e,n){e.opacity=0;e.scale=.5;e.tween({opacity:1,rotation:Math.PI/2,scale:1.5},100,t.linear).tween({opacity:0},100,t.linear,function(){n&&n()})},buttonPress:function(e,n){e.tween({y:e.y+e.height/10},50,t.linear).tween({y:e.y},50,t.linear,n)},fadeOut:function(e,n,r){e.tween({opacity:0},n,t.linear,r)},fadeIn:function(e,n,r){e.tween({opacity:1},n,t.linear,r)},hover:function(e){var t=e.y;e.tick=function(e){void 0===this._radians&&(this._radians=0);this._radians+=e/300;this._radians>=2*Math.PI&&(this._radians-=2*Math.PI);this.y=t+2*Math.sin(this._radians)}},popIn:function(r,i,s,o){var u=1==e.random(1,2)?2:-2,u=e.clamp(r.x+r.width*u,0,n.width-r.width),a=r.y;r.opacity=s||0;r.scale=i||.5;r.y+=r.height/2;r.tween({opacity:1,scale:1,x:u,y:a},200,t.linear).tween({scale:1.25},50,t.linear).tween({scale:1},50,t.linear,o)},popOut:function(e,n,r,i){e.opacity=1;e.tween({scale:.75},50,t.linear).tween({opacity:0,scale:2},250,t.linear,i)},vibrate:function(t,n,r,i,s){t.completeTween();r=r||10;i=(i||250)/r;n=n||6;for(var o=t.x,u=t.y,a=0;a2*Math.PI&&(this._radians-=2*Math.PI),this._highScoreText.scale=1.5+Math.sin(this._radians)/10)}})});define("js/view/HealthView",["djinn/View","djinn/utils/transitions","../model/GameModel","./polish","./viewData"],function(e,t,n,r,i){return e.extend({init:function(t){t=merge({width:i.width,height:i.height},t);this._super(t);this._maxHealth=n.MAX_PLAYER_HEALTH;this._heartViews=[];t=i.objects.width+i.health.between;for(var r=0;rn&&(e=i.makeFromHeading(n));break;case"move":o[this.weapon].bounce?(this._weaponToggle=!this._weaponToggle,e=new i({x:this.center.x+(this._weaponToggle?-this.width:this.width),y:this.center.y-3*this.height})):e=new i({x:this.center.x,y:this.center.y-this.height}),e.subtract(this.center).normalize()}this.fire("attack",[e])}},enter:function(){var e=u.width/2;this.playAnimation(this.xe?(s.play("xamDies"),this.alive=!1,this._inPain=!1,this._showPain=!1,this.playAnimation("death")):(s.play("xamPain"),this.invincible=!0,this._invincibleTimer.start(),this._inPain=!0,this._showPain=!0,this._painFlickerTimer.start(),this._painResetTimer.start(),this.playAnimation(this.currentAnimation))},tick:function(e){this._super(e);if(this.alive&&this.target&&(this.canAttack&&this.attack(),"move"==this.controlScheme)){var t=this.center.x-this.target.x,n=Math.abs(t);n>=u.margin?this.playAnimation(0t&&(this.x+=e*this.speed)):this.x=this.target.x-this.width/2}}})});define("js/view/MonsterView","djinn/Sprite djinn/math/Vector2 djinn/utils/transitions ../Sound ../model/GameModel ../data/monsters ./polish ./viewData".split(" "),function(e,t,n,r,i,s,o,u){return e.extend({init:function(e){this._data=s[e.type];if("large"==this._data.size)var t=u.monster.largeWidth,n=u.monster.largeHeight;else t=u.monster.width,n=u.monster.height;e=merge({image:u.monster[e.type].image,y:-n,width:t,height:n,animations:u.monster.getAnimations(t,n)},e);this._super(e);this._data=s[e.type];this._health=this._data.health;this._data.init&&this._data.init.apply(this);this.alive=!0;this.rotVelocity={x:0,y:0};this.speed=150;this.playAnimation("down")},attack:function(){i.hitPlayer(this._data.damage);this._bounceBack()},_bounceBack:function(){this._data.bounce?this.velocity.y*=-1:this.rotVelocity.y="large"==this._data.size?-450:-350},hit:function(e){this._health-=e;if(0this.rotVelocity.y&&(this.y+=this.rotVelocity.y*t,this.rotVelocity.y+=e/2,0u.battleScreen.wallY&&(this.bottom=u.battleScreen.wallY,this._bounceBack())}},wander:function(){this.velocity.y=0;this.playAnimation("idle");this.delayTween(1500,bind(this,function(){this.velocity.y=-(this.speed/5);this.playAnimation("up")}))}})});define("js/view/LootView","djinn/View djinn/TextView djinn/utils/transitions ../Sound ../model/GameModel ./polish ./viewData".split(" "),function(e,t,n,r,i,s,o){return e.extend({init:function(e){e=merge({image:o.objects.image,imageX:o.objects.types[e.type].imageX,imageY:o.objects.types[e.type].imageY,width:o.objects.width,height:o.objects.height},e);this._super(e);this._type=e.type;e.creator&&this.centerOn(e.creator);0>this.y&&(this.y=0);s.popIn(this,null,null,bind(this,function(){s.hover(this);this.numFlashes=1;this.delayTween(1e3);for(var e=0;20>e;++e)this.delayTween(6*(30-e),bind(this,function(){this.opacity=1==this.opacity?0:1;20==++this.numFlashes&&(this.expired=!0)}))}))},collect:function(){if(!this.collected){this.collected=!0;switch(this._type){case"heart":i.healPlayer(1);break;default:r.play("equip"),i.equipWeapon(this._type)}this.cancelTween();s.popOut(this,null,null,bind(this,function(){this.expired=!0}))}}})});define("js/view/BattleScreen","djinn/View djinn/TextView djinn/math/core djinn/utils/transitions djinn/intl ../Sound ../model/GameModel ../data/monsters ./ProgressBar ./XamView ./WeaponView ./MonsterView ./LootView ./HealthView ./DifficultyView ./PauseButton ./StarburstView ./EquippedWeaponView ./polish ./viewData".split(" "),function(e,t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b){return e.extend({init:function(n){n=merge({acceptInputEvents:!0,width:b.width,height:b.height},n);this._super(n);this._combo=0;this.paused=this.running=!1;this._spawnTimer=this.createBoundTimer(0,"_onSpawnTimerElapsed");this._spawnCount=1;n=new e({acceptInputEvents:!0,parent:this,image:b.battleScreen.headerPanel.image,z:b.battleScreen.headerPanel.z,width:b.battleScreen.headerPanel.width,height:b.battleScreen.headerPanel.height});this._healthView=new p({parent:n});this._equippedWeaponView=(new g({parent:n,visible:!1,width:b.width,height:b.height,z:100})).on("depleted",this,"_onEquippedWeaponDepleted");var r=b.battleScreen.pauseButton;this._pauseButton=(new v({acceptInputEvents:!0,parent:n})).align("right","top",-r.margin,r.margin);this._progressBar=(new a({parent:n})).on("newHighScore",this,"_onNewHighScore");this._battleFieldView=(new e({parent:this,image:b.battleScreen.battleField.image,width:b.battleScreen.battleField.width,height:b.battleScreen.battleField.height})).align(null,"bottom");this._messageText=(new t({parent:this,fontSize:b.battleScreen.fontSize,textAlign:"center",visible:!1})).align("center","center");this._xamView=(new f({parent:this._battleFieldView})).on("attack",this,"_onXamAttack");this._leverView=(new e({parent:this._battleFieldView,image:b.battleScreen.lever.image,width:b.battleScreen.lever.width,height:b.battleScreen.lever.height})).align("center","bottom",null,b.battleScreen.lever.margin);this._difficultyView=new d({parent:this,visible:!1,width:b.width,height:b.height,z:100});this._overlayView=new e({parent:this,backgroundColor:b.battleScreen.painColor,opacity:0,width:this.width,height:this.height});this._overlayView.tick=function(e){0e?["bat","goblin","demoblin"]:50>e?["demoblin","flamingSkull","gel","goblin","owlbear"]:70>e?"bat demoblin flamingSkull gel goblin wizard owlbear cyclops".split(" "):90>e?["demoblin","flamingSkull","wizard","owlbear","cyclops"]:100>e?["flamingSkull","gel","wizard","owlbear","cyclops"]:["dragon"];return e[n.random(0,e.length-1)]},_getNextSpawnTime:function(){var e=this._getComputedDifficulty();return 25>e?n.random(1500,2e3):50>e?n.random(1e3,1500):90>e?n.random(750,1250):n.random(500,1e3)},_getRandomWeaponType:function(){var e=this._xamView.weapon,t=e.replace(/\d/,""),r=Number(e.substr(-1));if("runeforge"==e)return null;isNaN(r)?(r=["axe","spear","sword"],t=r.indexOf(t),r[t]+="2",r.push(e+"2")):r=3==r?[e,e,"runeforge"]:[e,t+String(r+1)];return r[n.random(r)]},_makeDamageStarburst:function(e){(new m({parent:this._battleFieldView})).centerOn(e)},_onEquippedWeaponDepleted:function(){var e=["axe","spear","sword"];this._xamView.equipWeapon(e[n.random(e)])},_resetDifficulty:function(e){this._difficulty.fluctuation=0;this._difficulty.rateOfIncrease=1.6;this._difficulty.value=e||0},_onXamAttack:function(e){e&&(e=(new l({parent:this._battleFieldView,targetVector:e,type:this._xamView.weapon})).centerOn(this._xamView),this._weaponViews[e.id]=e)},_onInputStart:function(e){if(this._acceptInput){this._inputStarted=!0;var t=this._clampInput(e.point);this._xamView.target=t;this._updateLever(e.point)}},_onInputMove:function(e){if(this._acceptInput&&this._inputStarted){var t=this._clampInput(e.point);this._xamView.target=t;this._updateLever(e.point)}},_onInputEnd:function(e){this._inputStarted=!1;this._xamView.target=null},_onGotWeapon:function(e){this._equippedWeaponView.equipWeapon(e);this._xamView.equipWeapon(e)},_onNewHighScore:function(){this._showNewHighScoreText()},_onPlayerDamaged:function(){this._spawnTimer.start(2e3);this._xamView.takeDamage(o.playerHealth);this._healthView.takeDamage(o.playerHealth);this._difficulty.rateOfIncrease=1.6;this._difficulty.rateOfIncrease+=(o.MAX_PLAYER_HEALTH-o.playerHealth)/o.MAX_PLAYER_HEALTH*1.6;this._comboBreaker();y.vibrate(this);this._overlayView.opacity=.6;1>o.playerHealth&&(s.stop("music"),this._pauseButton.enabled=!1,this._leverView.imageY=this._leverView.height,this._acceptInput=!1,this._spawnTimer.stop(),this._forEach(this._monsterViews,function(e){e.alive&&e.wander()}),this._equippedWeaponView.hide(),this.fire("gameOver",[this._progressBar.monstersSlain]))},_onPlayerHealed:function(e){this._healthView.heal(e)},reset:function(){o.reset();this.running=this.paused=!1;this._spawnCount=1;this._combo=0;this._progressBar.reset();this._xamView.reset();this._healthView.reset();this._leverView.align("center");this._leverView.imageY=this._leverView.height;this._pauseButton.enabled=!1;this._equippedWeaponView.hide();this._difficulty=this._difficultyView.difficulty={fluctuation:0,rateOfIncrease:1.6,value:1};this._forEach(this._weaponViews,bind(this,function(e){e.removeFromParent();delete this._weaponViews[e.id]}));this._weaponViews={};this._forEach(this._monsterViews,bind(this,function(e){e.removeFromParent();delete this._monsterViews[e.id]}));this._monsterViews={};this._forEach(this._lootViews,bind(this,function(e){e.removeFromParent();delete this._lootViews[e.id]}));this._lootViews={}},_onSpawnTimerElapsed:function(){if(this._acceptInput){for(var e=0;e=e.x?(e.x=0,e.velocity.x*=-1):e.x>=b.width-e.width&&(e.x=b.width-e.width,e.velocity.x*=-1),e.y<=-e.height&&(delete this._weaponViews[e.id],e.removeFromParent(),this._comboBreaker());else if(e.x<=-e.width||e.x>=b.width||e.y<=-e.height)delete this._weaponViews[e.id],e.removeFromParent(),this._comboBreaker()}));this._forEach(this._lootViews,bind(this,function(e){this._forEach(this._weaponViews,bind(this,function(t){e&&n.intersects(e,t)&&e.collect()}));e.expired&&(e.removeFromParent(),delete this._lootViews[e.id])}));var t=0;this._forEach(this._monsterViews,bind(this,function(e){++t;this._xamView.alive&&!this._xamView.invincible&&e.y>=b.battleScreen.wallY-e.height&&(e.attack(),this._makeDamageStarburst({x:e.center.x,y:e.center.y+e.height/2}));this._forEach(this._weaponViews,bind(this,function(t){if(e&&n.intersects(e,t)){var r=t.damage;delete this._weaponViews[t.id];t.removeFromParent();this._makeDamageStarburst(e.center);e.hit(r)&&(this._spawnLoot(e),delete this._monsterViews[e.id],this._incrementCombo(),this._progressBar.increment())}}))}));1>t&&(this._spawnTimer.reset(),this._spawnMonster())}},start:function(){s.play("");this.running=!0;this._xamView.enter();this._showReadyText(500);this._spawnTimer.start(2500);this.delayTween(2500,bind(this,function(){this._acceptInput=!0;this._leverView.imageY=0;this._pauseButton.enabled=!0}))},_updateDifficulty:function(e){var t=this._difficulty.fluctuation,t=t+e/2e3;t>=2*Math.PI&&(t-=2*Math.PI);this._difficulty.fluctuation=t;this._difficulty.value+=e/1e3*this._difficulty.rateOfIncrease;this._difficulty.value=n.clamp(this._difficulty.value,1,100);this._difficultyView.difficulty=this._difficulty},_updateLever:function(e){this._leverView.x=n.clamp(e.x-this._leverView.width/2,b.margin,b.width-b.margin-this._leverView.width)},_comboBreaker:function(){this._combo=0},hide:function(){this.running=!1;this._super()},_incrementCombo:function(){++this._combo}})});define("js/view/CheckboxView","djinn/View djinn/TextView djinn/utils/transitions ../Sound ./polish ./viewData ../model/GameModel".split(" "),function(e,t,n,r,i,s,o){return e.extend({init:function(e){var n=s.checkbox;this._super(merge(e,{acceptInputEvents:!0}));this._checked=r.enabled;this._imageView=new t({parent:this,image:n.image,imageY:this._checked?0:n.height,width:n.width,height:n.height});this._textView=new t({parent:this,text:e.text,color:s.checkbox.color,verticalAlign:"middle",x:this._imageView.right+s.margin,y:this.height/2-s.margin/2});this.on("inputStart",this,"_onInputStart");Object.defineProperty(this,"text",{set:function(e){this._textView.text=e}})},_onInputStart:function(){i.buttonPress(this._imageView,bind(this,function(){this._checked=!this._checked;this._imageView.imageY=this._checked?0:this._imageView.height;r.enabled=this._checked;o.set("soundEnabled",r.enabled);this.fire("check")}))}})});define("js/view/SettingsScreen","djinn/View djinn/TextView djinn/utils/transitions djinn/intl ../Sound ../model/GameModel ./ButtonView ./CheckboxView ./viewData".split(" "),function(e,t,n,r,i,s,o,u,a){return e.extend({init:function(n){n=merge({acceptInputEvents:!0,width:a.width,height:a.height},n);this._super(n);this._modalView=(new e({acceptInputEvents:!0,parent:this,image:a.modal.image,width:a.modal.width,height:a.modal.height})).align("center","center",a.modal.offsetX);this._modalStartY=this._modalView.y;this._settingsText=(new t({parent:this._modalView,text:r.get("PAUSED"),color:a.settingsScreen.color,fontSize:a.settingsScreen.header.fontSize,textAlign:"center",y:a.settingsScreen.padding})).align("center");this._yourScoreText=(new t({parent:this._modalView,color:a.settingsScreen.color,fontSize:a.settingsScreen.yourScore.fontSize,textAlign:"center",y:a.settingsScreen.yourScore.y})).align("center");this._highScoreText=(new t({parent:this._modalView,color:a.settingsScreen.color,fontSize:a.settingsScreen.highScore.fontSize,textAlign:"center",y:a.settingsScreen.highScore.y})).align("center");n=a.settingsScreen.button;var i=a.margin/2;this._quitButton=(new o({parent:this._modalView,image:n.image,text:r.get("QUIT"),defaultImageY:n.quitImageY,x:this._modalView.width/2-n.width-i,y:n.y,width:n.width,height:n.height})).on("pressed",this,"_onPressedQuit");this._continueButton=(new o({parent:this._modalView,image:n.image,text:r.get("CONTINUE"),x:this._modalView.width/2+i,y:a.settingsScreen.button.y,width:n.width,height:n.height})).on("pressed",this,"_onPressedContinue")},_onPressPlaySound:function(){logger.log("toggle sound")},_onPressedContinue:function(){i.play("input");this._continueButton.disable();this.fire("continue")},_onPressedQuit:function(){i.play("input");this._quitButton.disable();this.fire("quit")},show:function(e){this._modalView.y=-this._modalView.height;this._quitButton.enable();this._continueButton.enable();this._yourScoreText.text=r.get("YOUR_SCORE")+" "+e;this._highScoreText.text=r.get("HIGH_SCORE")+" "+s.get("highScore");this._super();this._modalView.tween({y:this._modalStartY},500,n.easeOut)},hide:function(e){var t=this._super;this._modalView.tween({y:-this._modalView.height},500,n.easeIn,function(){t();e&&e()})},tick:function(e){this._super&&this._super(e)}})});define("js/OnslaughtDefense","djinn/Game djinn/View djinn/TextView djinn/globalTimer djinn/assets djinn/client djinn/stage djinn/intl ./model/GameModel ./view/TitleScreen ./view/BattleScreen ./view/GameOverScreen ./view/SettingsScreen ./view/polish ./view/viewData ./Sound".split(" "),function(e,t,n,r,i,s,o,u,a,f,l,c,h,p,d,v){return e.extend({init:function(e){this._super(merge(e,{showFPS:!1,eraseBeforeRender:!1}));n.defaults.color=d.color;n.defaults.fontFamily=d.fontFamily;n.defaults.fontSize=d.fontSize;n.defaults.shadowColor=d.shadowColor;s.on("orientationChange",this,"_updateOrientation");(new n({parent:this.view,text:u.get("LOADING"),textAlign:"center"})).align("center","center");i.load([d.titleScreen.image,d.titleScreen.title.image,d.titleScreen.monsters.image,d.button.image],bind(this,function(){this._preloadImages();this._makeViews();this._updateOrientation();this._titleScreen.show();!s.isIOS&&v.load()}));s.isIOS&&o.on("initialInput",function(){v.load()})},_makeViews:function(){var e=new t({acceptInputEvents:!0,parent:this.view,clip:!0,backgroundColor:d.backgroundColor,width:d.width,height:d.height});this._battleScreen=(new l({parent:e,visible:!1})).on("gameOver",this,"_onGameOver").on("pressedPause",this,"_onPressedPause");this._gameOverScreen=(new c({parent:e,visible:!1})).on("pressedContinue",this,"_onPressedGameOverContinue").on("pressedQuit",this,"_onPressedGameOverQuit");this._settingsScreen=(new h({parent:e,visible:!1})).on("quit",this,"_onPressedSettingsQuit").on("continue",this,"_onPressedSettingsContinue");this._titleScreen=(new f({parent:e,opacity:0})).on("playButton",this,"_onPressedPlay")},_onGameOver:function(e){this._gameOverScreen.delayTween(500,bind(this,function(){/*play68_submitScore(e);Play68.setRankingScoreDesc(e);*/var t=a.get("highScore");this._gameOverScreen.gotNewHighScore=e>t;this._gameOverScreen.monstersSlain=e;this._gameOverScreen.opacity=1;this._gameOverScreen.show();e>t&&a.set("highScore",e)}))},_onPressedGameOverContinue:function(){p.fadeOut(this._battleScreen,250);this._battleScreen.reset();this._gameOverScreen.hide(bind(this,function(){this._gameOverScreen.hide();this._battleScreen.show();p.fadeIn(this._battleScreen,500,bind(this,function(){this._battleScreen.start()}))}))},_onPressedGameOverQuit:function(){p.fadeOut(this._battleScreen,250);this._gameOverScreen.hide(bind(this,function(){this._titleScreen.show()}))},_onPressedSettingsQuit:function(){p.fadeOut(this._battleScreen,250);this._settingsScreen.hide(bind(this,function(){this._titleScreen.show()}))},_onPressedSettingsContinue:function(){this._settingsScreen.hide(bind(this,function(){this._battleScreen.togglePause()}))},_onPressedPause:function(e){this._battleScreen.togglePause();this._settingsScreen.show(e)},_onPressedPlay:function(){p.fadeOut(this._battleScreen,250);this._battleScreen.reset();p.fadeOut(this._titleScreen,500,bind(this,function(){this._titleScreen.hide();this._battleScreen.show();p.fadeIn(this._battleScreen,500,bind(this,function(){this._battleScreen.start()}))}))},_preloadImages:function(){i.load("media/images/bar_filler.png media/images/battle_field.png media/images/buttons_colored_narrow.png media/images/header_panel.png media/images/high_score_dragon.png media/images/lever.png media/images/modal.png media/images/objects.png media/images/pause.png media/images/xam.png media/images/checkbox.png media/images/monsters/bat.png media/images/monsters/demoblin.png media/images/monsters/flaming_skull.png media/images/monsters/gel.png media/images/monsters/goblin.png media/images/monsters/wizard.png media/images/monsters/owlbear.png media/images/monsters/cyclops.png media/images/monsters/green_dragon.png".split(" "),bind(this,function(){this._titleScreen.doneLoading()}))},_updateOrientation:function(){"portrait"!=s.orientation&&this._battleScreen.running&&(this._settingsScreen.show(),this._battleScreen.pause())}})});require(["djinn/global","djinn/manifest","djinn/assets","djinn/stage"],function(e,t,n,r){n.cacheImage("__rotateImage","data:image/jpeg;base64,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");r.matchSize(t.sizes);require(["js/OnslaughtDefense"],function(e){(new e).run()})})