-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgame.min.js
441 lines (392 loc) · 162 KB
/
game.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
/*! Built with IMPACT - impactjs.com */
(function(window){"use strict";Number.prototype.map=function(istart,istop,ostart,ostop){return ostart+(ostop-ostart)*((this-istart)/(istop-istart));};Number.prototype.limit=function(min,max){return Math.min(max,Math.max(min,this));};Number.prototype.round=function(precision){precision=Math.pow(10,precision||0);return Math.round(this*precision)/precision;};Number.prototype.floor=function(){return Math.floor(this);};Number.prototype.ceil=function(){return Math.ceil(this);};Number.prototype.toInt=function(){return(this|0);};Number.prototype.toRad=function(){return(this/180)*Math.PI;};Number.prototype.toDeg=function(){return(this*180)/Math.PI;};Array.prototype.erase=function(item){for(var i=this.length;i--;){if(this[i]===item){this.splice(i,1);}}
return this;};Array.prototype.random=function(){return this[Math.floor(Math.random()*this.length)];};Function.prototype.bind=Function.prototype.bind||function(oThis){if(typeof this!=="function"){throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");}
var aArgs=Array.prototype.slice.call(arguments,1),fToBind=this,fNOP=function(){},fBound=function(){return fToBind.apply((this instanceof fNOP&&oThis?this:oThis),aArgs.concat(Array.prototype.slice.call(arguments)));};fNOP.prototype=this.prototype;fBound.prototype=new fNOP();return fBound;};window.ig={game:null,debug:null,version:'1.21',global:window,modules:{},resources:[],ready:false,baked:false,nocache:'',ua:{},prefix:(window.ImpactPrefix||''),lib:'lib/',_current:null,_loadQueue:[],_waitForOnload:0,$:function(selector){return selector.charAt(0)=='#'?document.getElementById(selector.substr(1)):document.getElementsByTagName(selector);},$new:function(name){return document.createElement(name);},copy:function(object){if(!object||typeof(object)!='object'||object instanceof HTMLElement||object instanceof ig.Class){return object;}
else if(object instanceof Array){var c=[];for(var i=0,l=object.length;i<l;i++){c[i]=ig.copy(object[i]);}
return c;}
else{var c={};for(var i in object){c[i]=ig.copy(object[i]);}
return c;}},merge:function(original,extended){for(var key in extended){var ext=extended[key];if(typeof(ext)!='object'||ext instanceof HTMLElement||ext instanceof ig.Class){original[key]=ext;}
else{if(!original[key]||typeof(original[key])!='object'){original[key]=(ext instanceof Array)?[]:{};}
ig.merge(original[key],ext);}}
return original;},ksort:function(obj){if(!obj||typeof(obj)!='object'){return[];}
var keys=[],values=[];for(var i in obj){keys.push(i);}
keys.sort();for(var i=0;i<keys.length;i++){values.push(obj[keys[i]]);}
return values;},setVendorAttribute:function(el,attr,val){var uc=attr.charAt(0).toUpperCase()+attr.substr(1);el[attr]=el['ms'+uc]=el['moz'+uc]=el['webkit'+uc]=el['o'+uc]=val;},getVendorAttribute:function(el,attr){var uc=attr.charAt(0).toUpperCase()+attr.substr(1);return el[attr]||el['ms'+uc]||el['moz'+uc]||el['webkit'+uc]||el['o'+uc];},normalizeVendorAttribute:function(el,attr){var prefixedVal=ig.getVendorAttribute(el,attr);if(!el[attr]&&prefixedVal){el[attr]=prefixedVal;}},getImagePixels:function(image,x,y,width,height){var canvas=ig.$new('canvas');canvas.width=image.width;canvas.height=image.height;var ctx=canvas.getContext('2d');var ratio=ig.getVendorAttribute(ctx,'backingStorePixelRatio')||1;ig.normalizeVendorAttribute(ctx,'getImageDataHD');var realWidth=image.width/ratio,realHeight=image.height/ratio;canvas.width=Math.ceil(realWidth);canvas.height=Math.ceil(realHeight);ctx.drawImage(image,0,0,realWidth,realHeight);return(ratio===1)?ctx.getImageData(x,y,width,height):ctx.getImageDataHD(x,y,width,height);},module:function(name){if(ig._current){throw("Module '"+ig._current.name+"' defines nothing");}
if(ig.modules[name]&&ig.modules[name].body){throw("Module '"+name+"' is already defined");}
ig._current={name:name,requires:[],loaded:false,body:null};ig.modules[name]=ig._current;ig._loadQueue.push(ig._current);return ig;},requires:function(){ig._current.requires=Array.prototype.slice.call(arguments);return ig;},defines:function(body){ig._current.body=body;ig._current=null;ig._initDOMReady();},addResource:function(resource){ig.resources.push(resource);},setNocache:function(set){ig.nocache=set?'?'+Date.now():'';},log:function(){},assert:function(condition,msg){},show:function(name,number){},mark:function(msg,color){},_loadScript:function(name,requiredFrom){ig.modules[name]={name:name,requires:[],loaded:false,body:null};ig._waitForOnload++;var path=ig.prefix+ig.lib+name.replace(/\./g,'/')+'.js'+ig.nocache;var script=ig.$new('script');script.type='text/javascript';script.src=path;script.onload=function(){ig._waitForOnload--;ig._execModules();};script.onerror=function(){throw('Failed to load module '+name+' at '+path+' '+'required from '+requiredFrom);};ig.$('head')[0].appendChild(script);},_execModules:function(){var modulesLoaded=false;for(var i=0;i<ig._loadQueue.length;i++){var m=ig._loadQueue[i];var dependenciesLoaded=true;for(var j=0;j<m.requires.length;j++){var name=m.requires[j];if(!ig.modules[name]){dependenciesLoaded=false;ig._loadScript(name,m.name);}
else if(!ig.modules[name].loaded){dependenciesLoaded=false;}}
if(dependenciesLoaded&&m.body){ig._loadQueue.splice(i,1);m.loaded=true;m.body();modulesLoaded=true;i--;}}
if(modulesLoaded){ig._execModules();}
else if(!ig.baked&&ig._waitForOnload==0&&ig._loadQueue.length!=0){var unresolved=[];for(var i=0;i<ig._loadQueue.length;i++){var unloaded=[];var requires=ig._loadQueue[i].requires;for(var j=0;j<requires.length;j++){var m=ig.modules[requires[j]];if(!m||!m.loaded){unloaded.push(requires[j]);}}
unresolved.push(ig._loadQueue[i].name+' (requires: '+unloaded.join(', ')+')');}
throw('Unresolved (circular?) dependencies. '+"Most likely there's a name/path mismatch for one of the listed modules:\n"+
unresolved.join('\n'));}},_DOMReady:function(){if(!ig.modules['dom.ready'].loaded){if(!document.body){return setTimeout(ig._DOMReady,13);}
ig.modules['dom.ready'].loaded=true;ig._waitForOnload--;ig._execModules();}
return 0;},_boot:function(){if(document.location.href.match(/\?nocache/)){ig.setNocache(true);}
ig.ua.pixelRatio=window.devicePixelRatio||1;ig.ua.viewport={width:window.innerWidth,height:window.innerHeight};ig.ua.screen={width:window.screen.availWidth*ig.ua.pixelRatio,height:window.screen.availHeight*ig.ua.pixelRatio};ig.ua.iPhone=/iPhone/i.test(navigator.userAgent);ig.ua.iPhone4=(ig.ua.iPhone&&ig.ua.pixelRatio==2);ig.ua.iPad=/iPad/i.test(navigator.userAgent);ig.ua.android=/android/i.test(navigator.userAgent);ig.ua.iOS=ig.ua.iPhone||ig.ua.iPad;ig.ua.mobile=ig.ua.iOS||ig.ua.android;},_initDOMReady:function(){if(ig.modules['dom.ready']){ig._execModules();return;}
ig._boot();ig.modules['dom.ready']={requires:[],loaded:false,body:null};ig._waitForOnload++;if(document.readyState==='complete'){ig._DOMReady();}
else{document.addEventListener('DOMContentLoaded',ig._DOMReady,false);window.addEventListener('load',ig._DOMReady,false);}}};ig.normalizeVendorAttribute(window,'requestAnimationFrame');if(window.requestAnimationFrame){var next=1,anims={};window.ig.setAnimation=function(callback,element){var current=next++;anims[current]=true;var animate=function(){if(!anims[current]){return;}
window.requestAnimationFrame(animate,element);callback();};window.requestAnimationFrame(animate,element);return current;};window.ig.clearAnimation=function(id){delete anims[id];};}
else{window.ig.setAnimation=function(callback,element){return window.setInterval(callback,1000/60);};window.ig.clearAnimation=function(id){window.clearInterval(id);};}
var initializing=false,fnTest=/xyz/.test(function(){xyz;})?/\bparent\b/:/.*/;window.ig.Class=function(){};var inject=function(prop){var proto=this.prototype;var parent={};for(var name in prop){if(typeof(prop[name])=="function"&&typeof(proto[name])=="function"&&fnTest.test(prop[name])){parent[name]=proto[name];proto[name]=(function(name,fn){return function(){var tmp=this.parent;this.parent=parent[name];var ret=fn.apply(this,arguments);this.parent=tmp;return ret;};})(name,prop[name]);}
else{proto[name]=prop[name];}}};window.ig.Class.extend=function(prop){var parent=this.prototype;initializing=true;var prototype=new this();initializing=false;for(var name in prop){if(typeof(prop[name])=="function"&&typeof(parent[name])=="function"&&fnTest.test(prop[name])){prototype[name]=(function(name,fn){return function(){var tmp=this.parent;this.parent=parent[name];var ret=fn.apply(this,arguments);this.parent=tmp;return ret;};})(name,prop[name]);}
else{prototype[name]=prop[name];}}
function Class(){if(!initializing){if(this.staticInstantiate){var obj=this.staticInstantiate.apply(this,arguments);if(obj){return obj;}}
for(var p in this){if(typeof(this[p])=='object'){this[p]=ig.copy(this[p]);}}
if(this.init){this.init.apply(this,arguments);}}
return this;}
Class.prototype=prototype;Class.prototype.constructor=Class;Class.extend=window.ig.Class.extend;Class.inject=inject;return Class;};})(window);
// lib/impact/image.js
ig.baked=true;ig.module('impact.image').defines(function(){"use strict";ig.Image=ig.Class.extend({data:null,width:0,height:0,loaded:false,failed:false,loadCallback:null,path:'',staticInstantiate:function(path){return ig.Image.cache[path]||null;},init:function(path){this.path=path;this.load();},load:function(loadCallback){if(this.loaded){if(loadCallback){loadCallback(this.path,true);}
return;}
else if(!this.loaded&&ig.ready){this.loadCallback=loadCallback||null;this.data=new Image();this.data.onload=this.onload.bind(this);this.data.onerror=this.onerror.bind(this);this.data.src=ig.prefix+this.path+ig.nocache;}
else{ig.addResource(this);}
ig.Image.cache[this.path]=this;},reload:function(){this.loaded=false;this.data=new Image();this.data.onload=this.onload.bind(this);this.data.src=this.path+'?'+Date.now();},onload:function(event){this.width=this.data.width;this.height=this.data.height;this.loaded=true;if(ig.system.scale!=1){this.resize(ig.system.scale);}
if(this.loadCallback){this.loadCallback(this.path,true);}},onerror:function(event){this.failed=true;if(this.loadCallback){this.loadCallback(this.path,false);}},resize:function(scale){var origPixels=ig.getImagePixels(this.data,0,0,this.width,this.height);var widthScaled=this.width*scale;var heightScaled=this.height*scale;var scaled=ig.$new('canvas');scaled.width=widthScaled;scaled.height=heightScaled;var scaledCtx=scaled.getContext('2d');var scaledPixels=scaledCtx.getImageData(0,0,widthScaled,heightScaled);for(var y=0;y<heightScaled;y++){for(var x=0;x<widthScaled;x++){var index=(Math.floor(y/scale)*this.width+Math.floor(x/scale))*4;var indexScaled=(y*widthScaled+x)*4;scaledPixels.data[indexScaled]=origPixels.data[index];scaledPixels.data[indexScaled+1]=origPixels.data[index+1];scaledPixels.data[indexScaled+2]=origPixels.data[index+2];scaledPixels.data[indexScaled+3]=origPixels.data[index+3];}}
scaledCtx.putImageData(scaledPixels,0,0);this.data=scaled;},draw:function(targetX,targetY,sourceX,sourceY,width,height){if(!this.loaded){return;}
var scale=ig.system.scale;sourceX=sourceX?sourceX*scale:0;sourceY=sourceY?sourceY*scale:0;width=(width?width:this.width)*scale;height=(height?height:this.height)*scale;ig.system.context.drawImage(this.data,sourceX,sourceY,width,height,ig.system.getDrawPos(targetX),ig.system.getDrawPos(targetY),width,height);ig.Image.drawCount++;},drawTile:function(targetX,targetY,tile,tileWidth,tileHeight,flipX,flipY){tileHeight=tileHeight?tileHeight:tileWidth;if(!this.loaded||tileWidth>this.width||tileHeight>this.height){return;}
var scale=ig.system.scale;var tileWidthScaled=Math.floor(tileWidth*scale);var tileHeightScaled=Math.floor(tileHeight*scale);var scaleX=flipX?-1:1;var scaleY=flipY?-1:1;if(flipX||flipY){ig.system.context.save();ig.system.context.scale(scaleX,scaleY);}
ig.system.context.drawImage(this.data,(Math.floor(tile*tileWidth)%this.width)*scale,(Math.floor(tile*tileWidth/this.width)*tileHeight)*scale,tileWidthScaled,tileHeightScaled,ig.system.getDrawPos(targetX)*scaleX-(flipX?tileWidthScaled:0),ig.system.getDrawPos(targetY)*scaleY-(flipY?tileHeightScaled:0),tileWidthScaled,tileHeightScaled);if(flipX||flipY){ig.system.context.restore();}
ig.Image.drawCount++;}});ig.Image.drawCount=0;ig.Image.cache={};ig.Image.reloadCache=function(){for(var path in ig.Image.cache){ig.Image.cache[path].reload();}};});
// lib/impact/font.js
ig.baked=true;ig.module('impact.font').requires('impact.image').defines(function(){"use strict";ig.Font=ig.Image.extend({widthMap:[],indices:[],firstChar:32,alpha:1,letterSpacing:1,lineSpacing:0,onload:function(ev){this._loadMetrics(this.data);this.parent(ev);},widthForString:function(text){if(text.indexOf('\n')!==-1){var lines=text.split('\n');var width=0;for(var i=0;i<lines.length;i++){width=Math.max(width,this._widthForLine(lines[i]));}
return width;}
else{return this._widthForLine(text);}},_widthForLine:function(text){var width=0;for(var i=0;i<text.length;i++){width+=this.widthMap[text.charCodeAt(i)-this.firstChar]+this.letterSpacing;}
return width;},heightForString:function(text){return text.split('\n').length*(this.height+this.lineSpacing);},draw:function(text,x,y,align){if(typeof(text)!='string'){text=text.toString();}
if(text.indexOf('\n')!==-1){var lines=text.split('\n');var lineHeight=this.height+this.lineSpacing;for(var i=0;i<lines.length;i++){this.draw(lines[i],x,y+i*lineHeight,align);}
return;}
if(align==ig.Font.ALIGN.RIGHT||align==ig.Font.ALIGN.CENTER){var width=this._widthForLine(text);x-=align==ig.Font.ALIGN.CENTER?width/2:width;}
if(this.alpha!==1){ig.system.context.globalAlpha=this.alpha;}
for(var i=0;i<text.length;i++){var c=text.charCodeAt(i);x+=this._drawChar(c-this.firstChar,x,y);}
if(this.alpha!==1){ig.system.context.globalAlpha=1;}
ig.Image.drawCount+=text.length;},_drawChar:function(c,targetX,targetY){if(!this.loaded||c<0||c>=this.indices.length){return 0;}
var scale=ig.system.scale;var charX=this.indices[c]*scale;var charY=0;var charWidth=this.widthMap[c]*scale;var charHeight=(this.height-2)*scale;ig.system.context.drawImage(this.data,charX,charY,charWidth,charHeight,ig.system.getDrawPos(targetX),ig.system.getDrawPos(targetY),charWidth,charHeight);return this.widthMap[c]+this.letterSpacing;},_loadMetrics:function(image){this.height=image.height-1;this.widthMap=[];this.indices=[];var px=ig.getImagePixels(image,0,image.height-1,image.width,1);var currentChar=0;var currentWidth=0;for(var x=0;x<image.width;x++){var index=x*4+3;if(px.data[index]>127){currentWidth++;}
else if(px.data[index]==0&¤tWidth){this.widthMap.push(currentWidth);this.indices.push(x-currentWidth);currentChar++;currentWidth=0;}}
this.widthMap.push(currentWidth);this.indices.push(x-currentWidth);}});ig.Font.ALIGN={LEFT:0,RIGHT:1,CENTER:2};});
// lib/impact/sound.js
ig.baked=true;ig.module('impact.sound').defines(function(){"use strict";ig.SoundManager=ig.Class.extend({clips:{},volume:1,format:null,init:function(){if(!ig.Sound.enabled||!window.Audio){ig.Sound.enabled=false;return;}
var probe=new Audio();for(var i=0;i<ig.Sound.use.length;i++){var format=ig.Sound.use[i];if(probe.canPlayType(format.mime)){this.format=format;break;}}
if(!this.format){ig.Sound.enabled=false;}},load:function(path,multiChannel,loadCallback){var realPath=ig.prefix+path.replace(/[^\.]+$/,this.format.ext)+ig.nocache;if(this.clips[path]){if(multiChannel&&this.clips[path].length<ig.Sound.channels){for(var i=this.clips[path].length;i<ig.Sound.channels;i++){var a=new Audio(realPath);a.load();this.clips[path].push(a);}}
return this.clips[path][0];}
var clip=new Audio(realPath);if(loadCallback){clip.addEventListener('canplaythrough',function cb(ev){clip.removeEventListener('canplaythrough',cb,false);loadCallback(path,true,ev);},false);clip.addEventListener('error',function(ev){loadCallback(path,false,ev);},false);}
clip.preload='auto';clip.load();this.clips[path]=[clip];if(multiChannel){for(var i=1;i<ig.Sound.channels;i++){var a=new Audio(realPath);a.load();this.clips[path].push(a);}}
return clip;},get:function(path){var channels=this.clips[path];for(var i=0,clip;clip=channels[i++];){if(clip.paused||clip.ended){if(clip.ended){clip.currentTime=0;}
return clip;}}
channels[0].pause();channels[0].currentTime=0;return channels[0];}});ig.Music=ig.Class.extend({tracks:[],namedTracks:{},currentTrack:null,currentIndex:0,random:false,_volume:1,_loop:false,_fadeInterval:0,_fadeTimer:null,_endedCallbackBound:null,init:function(){this._endedCallbackBound=this._endedCallback.bind(this);if(Object.defineProperty){Object.defineProperty(this,"volume",{get:this.getVolume.bind(this),set:this.setVolume.bind(this)});Object.defineProperty(this,"loop",{get:this.getLooping.bind(this),set:this.setLooping.bind(this)});}
else if(this.__defineGetter__){this.__defineGetter__('volume',this.getVolume.bind(this));this.__defineSetter__('volume',this.setVolume.bind(this));this.__defineGetter__('loop',this.getLooping.bind(this));this.__defineSetter__('loop',this.setLooping.bind(this));}},add:function(music,name){if(!ig.Sound.enabled){return;}
var path=music instanceof ig.Sound?music.path:music;var track=ig.soundManager.load(path,false);track.loop=this._loop;track.volume=this._volume;track.addEventListener('ended',this._endedCallbackBound,false);this.tracks.push(track);if(name){this.namedTracks[name]=track;}
if(!this.currentTrack){this.currentTrack=track;}},next:function(){if(!this.tracks.length){return;}
this.stop();this.currentIndex=this.random?Math.floor(Math.random()*this.tracks.length):(this.currentIndex+1)%this.tracks.length;this.currentTrack=this.tracks[this.currentIndex];this.play();},pause:function(){if(!this.currentTrack){return;}
this.currentTrack.pause();},stop:function(){if(!this.currentTrack){return;}
this.currentTrack.pause();this.currentTrack.currentTime=0;},play:function(name){if(name&&this.namedTracks[name]){var newTrack=this.namedTracks[name];if(newTrack!=this.currentTrack){this.stop();this.currentTrack=newTrack;}}
else if(!this.currentTrack){return;}
this.currentTrack.play();},getLooping:function(){return this._loop;},setLooping:function(l){this._loop=l;for(var i in this.tracks){this.tracks[i].loop=l;}},getVolume:function(){return this._volume;},setVolume:function(v){this._volume=v.limit(0,1);for(var i in this.tracks){this.tracks[i].volume=this._volume;}},fadeOut:function(time){if(!this.currentTrack){return;}
clearInterval(this._fadeInterval);this.fadeTimer=new ig.Timer(time);this._fadeInterval=setInterval(this._fadeStep.bind(this),50);},_fadeStep:function(){var v=this.fadeTimer.delta().map(-this.fadeTimer.target,0,1,0).limit(0,1)*this._volume;if(v<=0.01){this.stop();this.currentTrack.volume=this._volume;clearInterval(this._fadeInterval);}
else{this.currentTrack.volume=v;}},_endedCallback:function(){if(this._loop){this.play();}
else{this.next();}}});ig.Sound=ig.Class.extend({path:'',volume:1,currentClip:null,multiChannel:true,init:function(path,multiChannel){this.path=path;this.multiChannel=(multiChannel!==false);this.load();},load:function(loadCallback){if(!ig.Sound.enabled){if(loadCallback){loadCallback(this.path,true);}
return;}
if(ig.ready){ig.soundManager.load(this.path,this.multiChannel,loadCallback);}
else{ig.addResource(this);}},play:function(){if(!ig.Sound.enabled){return;}
this.currentClip=ig.soundManager.get(this.path);this.currentClip.volume=ig.soundManager.volume*this.volume;this.currentClip.play();},stop:function(){if(this.currentClip){this.currentClip.pause();this.currentClip.currentTime=0;}}});ig.Sound.FORMAT={MP3:{ext:'mp3',mime:'audio/mpeg'},M4A:{ext:'m4a',mime:'audio/mp4; codecs=mp4a'},OGG:{ext:'ogg',mime:'audio/ogg; codecs=vorbis'},WEBM:{ext:'webm',mime:'audio/webm; codecs=vorbis'},CAF:{ext:'caf',mime:'audio/x-caf'}};ig.Sound.use=[ig.Sound.FORMAT.OGG,ig.Sound.FORMAT.MP3];ig.Sound.channels=4;ig.Sound.enabled=true;});
// lib/impact/loader.js
ig.baked=true;ig.module('impact.loader').requires('impact.image','impact.font','impact.sound').defines(function(){"use strict";ig.Loader=ig.Class.extend({resources:[],gameClass:null,status:0,done:false,_unloaded:[],_drawStatus:0,_intervalId:0,_loadCallbackBound:null,init:function(gameClass,resources){this.gameClass=gameClass;this.resources=resources;this._loadCallbackBound=this._loadCallback.bind(this);for(var i=0;i<this.resources.length;i++){this._unloaded.push(this.resources[i].path);}},load:function(){ig.system.clear('#000');if(!this.resources.length){this.end();return;}
for(var i=0;i<this.resources.length;i++){this.loadResource(this.resources[i]);}
this._intervalId=setInterval(this.draw.bind(this),16);},loadResource:function(res){res.load(this._loadCallbackBound);},end:function(){if(this.done){return;}
this.done=true;clearInterval(this._intervalId);ig.system.setGame(this.gameClass);},draw:function(){this._drawStatus+=(this.status-this._drawStatus)/5;var s=ig.system.scale;var w=ig.system.width*0.6;var h=ig.system.height*0.1;var x=ig.system.width*0.5-w/2;var y=ig.system.height*0.5-h/2;ig.system.context.fillStyle='#000';ig.system.context.fillRect(0,0,480,320);ig.system.context.fillStyle='#fff';ig.system.context.fillRect(x*s,y*s,w*s,h*s);ig.system.context.fillStyle='#000';ig.system.context.fillRect(x*s+s,y*s+s,w*s-s-s,h*s-s-s);ig.system.context.fillStyle='#fff';ig.system.context.fillRect(x*s,y*s,w*s*this._drawStatus,h*s);},_loadCallback:function(path,status){if(status){this._unloaded.erase(path);}
else{throw('Failed to load resource: '+path);}
this.status=1-(this._unloaded.length/this.resources.length);if(this._unloaded.length==0){setTimeout(this.end.bind(this),250);}}});});
// lib/impact/timer.js
ig.baked=true;ig.module('impact.timer').defines(function(){"use strict";ig.Timer=ig.Class.extend({target:0,base:0,last:0,pausedAt:0,init:function(seconds){this.base=ig.Timer.time;this.last=ig.Timer.time;this.target=seconds||0;},set:function(seconds){this.target=seconds||0;this.base=ig.Timer.time;this.pausedAt=0;},reset:function(){this.base=ig.Timer.time;this.pausedAt=0;},tick:function(){var delta=ig.Timer.time-this.last;this.last=ig.Timer.time;return(this.pausedAt?0:delta);},delta:function(){return(this.pausedAt||ig.Timer.time)-this.base-this.target;},pause:function(){if(!this.pausedAt){this.pausedAt=ig.Timer.time;}},unpause:function(){if(this.pausedAt){this.base+=ig.Timer.time-this.pausedAt;this.pausedAt=0;}}});ig.Timer._last=0;ig.Timer.time=Number.MIN_VALUE;ig.Timer.timeScale=1;ig.Timer.maxStep=0.05;ig.Timer.step=function(){var current=Date.now();var delta=(current-ig.Timer._last)/1000;ig.Timer.time+=Math.min(delta,ig.Timer.maxStep)*ig.Timer.timeScale;ig.Timer._last=current;};});
// lib/impact/system.js
ig.baked=true;ig.module('impact.system').requires('impact.timer','impact.image').defines(function(){"use strict";ig.System=ig.Class.extend({fps:30,width:320,height:240,realWidth:320,realHeight:240,scale:1,tick:0,animationId:0,newGameClass:null,running:false,delegate:null,clock:null,canvas:null,context:null,init:function(canvasId,fps,width,height,scale){this.fps=fps;this.clock=new ig.Timer();this.canvas=ig.$(canvasId);this.resize(width,height,scale);this.context=this.canvas.getContext('2d');this.getDrawPos=ig.System.drawMode;if(this.scale!=1){ig.System.scaleMode=ig.System.SCALE.CRISP;}
ig.System.scaleMode(this.canvas,this.context);},resize:function(width,height,scale){this.width=width;this.height=height;this.scale=scale||this.scale;this.realWidth=this.width*this.scale;this.realHeight=this.height*this.scale;this.canvas.width=this.realWidth;this.canvas.height=this.realHeight;},setGame:function(gameClass){if(this.running){this.newGameClass=gameClass;}
else{this.setGameNow(gameClass);}},setGameNow:function(gameClass){ig.game=new(gameClass)();ig.system.setDelegate(ig.game);},setDelegate:function(object){if(typeof(object.run)=='function'){this.delegate=object;this.startRunLoop();}else{throw('System.setDelegate: No run() function in object');}},stopRunLoop:function(){ig.clearAnimation(this.animationId);this.running=false;},startRunLoop:function(){this.stopRunLoop();this.animationId=ig.setAnimation(this.run.bind(this),this.canvas);this.running=true;},clear:function(color){this.context.fillStyle=color;this.context.fillRect(0,0,this.realWidth,this.realHeight);},run:function(){ig.Timer.step();this.tick=this.clock.tick();this.delegate.run();ig.input.clearPressed();if(this.newGameClass){this.setGameNow(this.newGameClass);this.newGameClass=null;}},getDrawPos:null});ig.System.DRAW={AUTHENTIC:function(p){return Math.round(p)*this.scale;},SMOOTH:function(p){return Math.round(p*this.scale);},SUBPIXEL:function(p){return p*this.scale;}};ig.System.drawMode=ig.System.DRAW.SMOOTH;ig.System.SCALE={CRISP:function(canvas,context){ig.setVendorAttribute(context,'imageSmoothingEnabled',false);canvas.style.imageRendering='-moz-crisp-edges';canvas.style.imageRendering='-o-crisp-edges';canvas.style.imageRendering='-webkit-optimize-contrast';canvas.style.imageRendering='crisp-edges';canvas.style.msInterpolationMode='nearest-neighbor';},SMOOTH:function(canvas,context){ig.setVendorAttribute(context,'imageSmoothingEnabled',true);canvas.style.imageRendering='';canvas.style.msInterpolationMode='';}};ig.System.scaleMode=ig.System.SCALE.SMOOTH;});
// lib/impact/input.js
ig.baked=true;ig.module('impact.input').defines(function(){"use strict";ig.KEY={'MOUSE1':-1,'MOUSE2':-3,'MWHEEL_UP':-4,'MWHEEL_DOWN':-5,'BACKSPACE':8,'TAB':9,'ENTER':13,'PAUSE':19,'CAPS':20,'ESC':27,'SPACE':32,'PAGE_UP':33,'PAGE_DOWN':34,'END':35,'HOME':36,'LEFT_ARROW':37,'UP_ARROW':38,'RIGHT_ARROW':39,'DOWN_ARROW':40,'INSERT':45,'DELETE':46,'_0':48,'_1':49,'_2':50,'_3':51,'_4':52,'_5':53,'_6':54,'_7':55,'_8':56,'_9':57,'A':65,'B':66,'C':67,'D':68,'E':69,'F':70,'G':71,'H':72,'I':73,'J':74,'K':75,'L':76,'M':77,'N':78,'O':79,'P':80,'Q':81,'R':82,'S':83,'T':84,'U':85,'V':86,'W':87,'X':88,'Y':89,'Z':90,'NUMPAD_0':96,'NUMPAD_1':97,'NUMPAD_2':98,'NUMPAD_3':99,'NUMPAD_4':100,'NUMPAD_5':101,'NUMPAD_6':102,'NUMPAD_7':103,'NUMPAD_8':104,'NUMPAD_9':105,'MULTIPLY':106,'ADD':107,'SUBSTRACT':109,'DECIMAL':110,'DIVIDE':111,'F1':112,'F2':113,'F3':114,'F4':115,'F5':116,'F6':117,'F7':118,'F8':119,'F9':120,'F10':121,'F11':122,'F12':123,'SHIFT':16,'CTRL':17,'ALT':18,'PLUS':187,'COMMA':188,'MINUS':189,'PERIOD':190};ig.Input=ig.Class.extend({bindings:{},actions:{},presses:{},locks:{},delayedKeyup:{},isUsingMouse:false,isUsingKeyboard:false,isUsingAccelerometer:false,mouse:{x:0,y:0},accel:{x:0,y:0,z:0},initMouse:function(){if(this.isUsingMouse){return;}
this.isUsingMouse=true;var mouseWheelBound=this.mousewheel.bind(this);ig.system.canvas.addEventListener('mousewheel',mouseWheelBound,false);ig.system.canvas.addEventListener('DOMMouseScroll',mouseWheelBound,false);ig.system.canvas.addEventListener('contextmenu',this.contextmenu.bind(this),false);ig.system.canvas.addEventListener('mousedown',this.keydown.bind(this),false);ig.system.canvas.addEventListener('mouseup',this.keyup.bind(this),false);ig.system.canvas.addEventListener('mousemove',this.mousemove.bind(this),false);ig.system.canvas.addEventListener('touchstart',this.keydown.bind(this),false);ig.system.canvas.addEventListener('touchend',this.keyup.bind(this),false);ig.system.canvas.addEventListener('touchmove',this.mousemove.bind(this),false);},initKeyboard:function(){if(this.isUsingKeyboard){return;}
this.isUsingKeyboard=true;window.addEventListener('keydown',this.keydown.bind(this),false);window.addEventListener('keyup',this.keyup.bind(this),false);},initAccelerometer:function(){if(this.isUsingAccelerometer){return;}
window.addEventListener('devicemotion',this.devicemotion.bind(this),false);},mousewheel:function(event){var delta=event.wheelDelta?event.wheelDelta:(event.detail*-1);var code=delta>0?ig.KEY.MWHEEL_UP:ig.KEY.MWHEEL_DOWN;var action=this.bindings[code];if(action){this.actions[action]=true;this.presses[action]=true;this.delayedKeyup[action]=true;event.stopPropagation();event.preventDefault();}},mousemove:function(event){var internalWidth=parseInt(ig.system.canvas.offsetWidth)||ig.system.realWidth;var scale=ig.system.scale*(internalWidth/ig.system.realWidth);var pos={left:0,top:0};if(ig.system.canvas.getBoundingClientRect){pos=ig.system.canvas.getBoundingClientRect();}
var ev=event.touches?event.touches[0]:event;this.mouse.x=(ev.clientX-pos.left)/scale;this.mouse.y=(ev.clientY-pos.top)/scale;},contextmenu:function(event){if(this.bindings[ig.KEY.MOUSE2]){event.stopPropagation();event.preventDefault();}},keydown:function(event){var tag=event.target.tagName;if(tag=='INPUT'||tag=='TEXTAREA'){return;}
var code=event.type=='keydown'?event.keyCode:(event.button==2?ig.KEY.MOUSE2:ig.KEY.MOUSE1);if(event.type=='touchstart'||event.type=='mousedown'){this.mousemove(event);}
var action=this.bindings[code];if(action){this.actions[action]=true;if(!this.locks[action]){this.presses[action]=true;this.locks[action]=true;}
event.stopPropagation();event.preventDefault();}},keyup:function(event){var tag=event.target.tagName;if(tag=='INPUT'||tag=='TEXTAREA'){return;}
var code=event.type=='keyup'?event.keyCode:(event.button==2?ig.KEY.MOUSE2:ig.KEY.MOUSE1);var action=this.bindings[code];if(action){this.delayedKeyup[action]=true;event.stopPropagation();event.preventDefault();}},devicemotion:function(event){this.accel=event.accelerationIncludingGravity;},bind:function(key,action){if(key<0){this.initMouse();}
else if(key>0){this.initKeyboard();}
this.bindings[key]=action;},bindTouch:function(selector,action){var element=ig.$(selector);var that=this;element.addEventListener('touchstart',function(ev){that.touchStart(ev,action);},false);element.addEventListener('touchend',function(ev){that.touchEnd(ev,action);},false);},unbind:function(key){var action=this.bindings[key];this.delayedKeyup[action]=true;this.bindings[key]=null;},unbindAll:function(){this.bindings={};this.actions={};this.presses={};this.locks={};this.delayedKeyup={};},state:function(action){return this.actions[action];},pressed:function(action){return this.presses[action];},released:function(action){return this.delayedKeyup[action];},clearPressed:function(){for(var action in this.delayedKeyup){this.actions[action]=false;this.locks[action]=false;}
this.delayedKeyup={};this.presses={};},touchStart:function(event,action){this.actions[action]=true;this.presses[action]=true;event.stopPropagation();event.preventDefault();return false;},touchEnd:function(event,action){this.delayedKeyup[action]=true;event.stopPropagation();event.preventDefault();return false;}});});
// lib/impact/impact.js
ig.baked=true;ig.module('impact.impact').requires('dom.ready','impact.loader','impact.system','impact.input','impact.sound').defines(function(){"use strict";ig.main=function(canvasId,gameClass,fps,width,height,scale,loaderClass){ig.system=new ig.System(canvasId,fps,width,height,scale||1);ig.input=new ig.Input();ig.soundManager=new ig.SoundManager();ig.music=new ig.Music();ig.ready=true;var loader=new(loaderClass||ig.Loader)(gameClass,ig.resources);loader.load();};});
// lib/impact/animation.js
ig.baked=true;ig.module('impact.animation').requires('impact.timer','impact.image').defines(function(){"use strict";ig.AnimationSheet=ig.Class.extend({width:8,height:8,image:null,init:function(path,width,height){this.width=width;this.height=height;this.image=new ig.Image(path);}});ig.Animation=ig.Class.extend({sheet:null,timer:null,sequence:[],flip:{x:false,y:false},pivot:{x:0,y:0},frame:0,tile:0,loopCount:0,alpha:1,angle:0,init:function(sheet,frameTime,sequence,stop){this.sheet=sheet;this.pivot={x:sheet.width/2,y:sheet.height/2};this.timer=new ig.Timer();this.frameTime=frameTime;this.sequence=sequence;this.stop=!!stop;this.tile=this.sequence[0];},rewind:function(){this.timer.set();this.loopCount=0;this.tile=this.sequence[0];return this;},gotoFrame:function(f){this.timer.set(this.frameTime*-f);this.update();},gotoRandomFrame:function(){this.gotoFrame(Math.floor(Math.random()*this.sequence.length))},update:function(){var frameTotal=Math.floor(this.timer.delta()/this.frameTime);this.loopCount=Math.floor(frameTotal/this.sequence.length);if(this.stop&&this.loopCount>0){this.frame=this.sequence.length-1;}
else{this.frame=frameTotal%this.sequence.length;}
this.tile=this.sequence[this.frame];},draw:function(targetX,targetY){var bbsize=Math.max(this.sheet.width,this.sheet.height);if(targetX>ig.system.width||targetY>ig.system.height||targetX+bbsize<0||targetY+bbsize<0){return;}
if(this.alpha!=1){ig.system.context.globalAlpha=this.alpha;}
if(this.angle==0){this.sheet.image.drawTile(targetX,targetY,this.tile,this.sheet.width,this.sheet.height,this.flip.x,this.flip.y);}
else{ig.system.context.save();ig.system.context.translate(ig.system.getDrawPos(targetX+this.pivot.x),ig.system.getDrawPos(targetY+this.pivot.y));ig.system.context.rotate(this.angle);this.sheet.image.drawTile(-this.pivot.x,-this.pivot.y,this.tile,this.sheet.width,this.sheet.height,this.flip.x,this.flip.y);ig.system.context.restore();}
if(this.alpha!=1){ig.system.context.globalAlpha=1;}}});});
// lib/impact/entity.js
ig.baked=true;ig.module('impact.entity').requires('impact.animation','impact.impact').defines(function(){"use strict";ig.Entity=ig.Class.extend({id:0,settings:{},size:{x:16,y:16},offset:{x:0,y:0},pos:{x:0,y:0},last:{x:0,y:0},vel:{x:0,y:0},accel:{x:0,y:0},friction:{x:0,y:0},maxVel:{x:100,y:100},zIndex:0,gravityFactor:1,standing:false,bounciness:0,minBounceVelocity:40,anims:{},animSheet:null,currentAnim:null,health:10,type:0,checkAgainst:0,collides:0,_killed:false,slopeStanding:{min:(44).toRad(),max:(136).toRad()},init:function(x,y,settings){this.id=++ig.Entity._lastId;this.pos.x=x;this.pos.y=y;ig.merge(this,settings);},addAnim:function(name,frameTime,sequence,stop){if(!this.animSheet){throw('No animSheet to add the animation '+name+' to.');}
var a=new ig.Animation(this.animSheet,frameTime,sequence,stop);this.anims[name]=a;if(!this.currentAnim){this.currentAnim=a;}
return a;},update:function(){this.last.x=this.pos.x;this.last.y=this.pos.y;this.vel.y+=ig.game.gravity*ig.system.tick*this.gravityFactor;this.vel.x=this.getNewVelocity(this.vel.x,this.accel.x,this.friction.x,this.maxVel.x);this.vel.y=this.getNewVelocity(this.vel.y,this.accel.y,this.friction.y,this.maxVel.y);var mx=this.vel.x*ig.system.tick;var my=this.vel.y*ig.system.tick;var res=ig.game.collisionMap.trace(this.pos.x,this.pos.y,mx,my,this.size.x,this.size.y);this.handleMovementTrace(res);if(this.currentAnim){this.currentAnim.update();}},getNewVelocity:function(vel,accel,friction,max){if(accel){return(vel+accel*ig.system.tick).limit(-max,max);}
else if(friction){var delta=friction*ig.system.tick;if(vel-delta>0){return vel-delta;}
else if(vel+delta<0){return vel+delta;}
else{return 0;}}
return vel.limit(-max,max);},handleMovementTrace:function(res){this.standing=false;if(res.collision.y){if(this.bounciness>0&&Math.abs(this.vel.y)>this.minBounceVelocity){this.vel.y*=-this.bounciness;}
else{if(this.vel.y>0){this.standing=true;}
this.vel.y=0;}}
if(res.collision.x){if(this.bounciness>0&&Math.abs(this.vel.x)>this.minBounceVelocity){this.vel.x*=-this.bounciness;}
else{this.vel.x=0;}}
if(res.collision.slope){var s=res.collision.slope;if(this.bounciness>0){var proj=this.vel.x*s.nx+this.vel.y*s.ny;this.vel.x=(this.vel.x-s.nx*proj*2)*this.bounciness;this.vel.y=(this.vel.y-s.ny*proj*2)*this.bounciness;}
else{var lengthSquared=s.x*s.x+s.y*s.y;var dot=(this.vel.x*s.x+this.vel.y*s.y)/lengthSquared;this.vel.x=s.x*dot;this.vel.y=s.y*dot;var angle=Math.atan2(s.x,s.y);if(angle>this.slopeStanding.min&&angle<this.slopeStanding.max){this.standing=true;}}}
this.pos=res.pos;},draw:function(){if(this.currentAnim){this.currentAnim.draw(this.pos.x-this.offset.x-ig.game._rscreen.x,this.pos.y-this.offset.y-ig.game._rscreen.y);}},kill:function(){ig.game.removeEntity(this);},receiveDamage:function(amount,from){this.health-=amount;if(this.health<=0){this.kill();}},touches:function(other){return!(this.pos.x>=other.pos.x+other.size.x||this.pos.x+this.size.x<=other.pos.x||this.pos.y>=other.pos.y+other.size.y||this.pos.y+this.size.y<=other.pos.y);},distanceTo:function(other){var xd=(this.pos.x+this.size.x/2)-(other.pos.x+other.size.x/2);var yd=(this.pos.y+this.size.y/2)-(other.pos.y+other.size.y/2);return Math.sqrt(xd*xd+yd*yd);},angleTo:function(other){return Math.atan2((other.pos.y+other.size.y/2)-(this.pos.y+this.size.y/2),(other.pos.x+other.size.x/2)-(this.pos.x+this.size.x/2));},check:function(other){},collideWith:function(other,axis){},ready:function(){}});ig.Entity._lastId=0;ig.Entity.COLLIDES={NEVER:0,LITE:1,PASSIVE:2,ACTIVE:4,FIXED:8};ig.Entity.TYPE={NONE:0,A:1,B:2,BOTH:3};ig.Entity.checkPair=function(a,b){if(a.checkAgainst&b.type){a.check(b);}
if(b.checkAgainst&a.type){b.check(a);}
if(a.collides&&b.collides&&a.collides+b.collides>ig.Entity.COLLIDES.ACTIVE){ig.Entity.solveCollision(a,b);}};ig.Entity.solveCollision=function(a,b){var weak=null;if(a.collides==ig.Entity.COLLIDES.LITE||b.collides==ig.Entity.COLLIDES.FIXED){weak=a;}
else if(b.collides==ig.Entity.COLLIDES.LITE||a.collides==ig.Entity.COLLIDES.FIXED){weak=b;}
if(a.last.x+a.size.x>b.last.x&&a.last.x<b.last.x+b.size.x){if(a.last.y<b.last.y){ig.Entity.seperateOnYAxis(a,b,weak);}
else{ig.Entity.seperateOnYAxis(b,a,weak);}
a.collideWith(b,'y');b.collideWith(a,'y');}
else if(a.last.y+a.size.y>b.last.y&&a.last.y<b.last.y+b.size.y){if(a.last.x<b.last.x){ig.Entity.seperateOnXAxis(a,b,weak);}
else{ig.Entity.seperateOnXAxis(b,a,weak);}
a.collideWith(b,'x');b.collideWith(a,'x');}};ig.Entity.seperateOnXAxis=function(left,right,weak){var nudge=(left.pos.x+left.size.x-right.pos.x);if(weak){var strong=left===weak?right:left;weak.vel.x=-weak.vel.x*weak.bounciness+strong.vel.x;var resWeak=ig.game.collisionMap.trace(weak.pos.x,weak.pos.y,weak==left?-nudge:nudge,0,weak.size.x,weak.size.y);weak.pos.x=resWeak.pos.x;}
else{var v2=(left.vel.x-right.vel.x)/2;left.vel.x=-v2;right.vel.x=v2;var resLeft=ig.game.collisionMap.trace(left.pos.x,left.pos.y,-nudge/2,0,left.size.x,left.size.y);left.pos.x=Math.floor(resLeft.pos.x);var resRight=ig.game.collisionMap.trace(right.pos.x,right.pos.y,nudge/2,0,right.size.x,right.size.y);right.pos.x=Math.ceil(resRight.pos.x);}};ig.Entity.seperateOnYAxis=function(top,bottom,weak){var nudge=(top.pos.y+top.size.y-bottom.pos.y);if(weak){var strong=top===weak?bottom:top;weak.vel.y=-weak.vel.y*weak.bounciness+strong.vel.y;var nudgeX=0;if(weak==top&&Math.abs(weak.vel.y-strong.vel.y)<weak.minBounceVelocity){weak.standing=true;nudgeX=strong.vel.x*ig.system.tick;}
var resWeak=ig.game.collisionMap.trace(weak.pos.x,weak.pos.y,nudgeX,weak==top?-nudge:nudge,weak.size.x,weak.size.y);weak.pos.y=resWeak.pos.y;weak.pos.x=resWeak.pos.x;}
else if(ig.game.gravity&&(bottom.standing||top.vel.y>0)){var resTop=ig.game.collisionMap.trace(top.pos.x,top.pos.y,0,-(top.pos.y+top.size.y-bottom.pos.y),top.size.x,top.size.y);top.pos.y=resTop.pos.y;if(top.bounciness>0&&top.vel.y>top.minBounceVelocity){top.vel.y*=-top.bounciness;}
else{top.standing=true;top.vel.y=0;}}
else{var v2=(top.vel.y-bottom.vel.y)/2;top.vel.y=-v2;bottom.vel.y=v2;var nudgeX=bottom.vel.x*ig.system.tick;var resTop=ig.game.collisionMap.trace(top.pos.x,top.pos.y,nudgeX,-nudge/2,top.size.x,top.size.y);top.pos.y=resTop.pos.y;var resBottom=ig.game.collisionMap.trace(bottom.pos.x,bottom.pos.y,0,nudge/2,bottom.size.x,bottom.size.y);bottom.pos.y=resBottom.pos.y;}};});
// lib/impact/map.js
ig.baked=true;ig.module('impact.map').defines(function(){"use strict";ig.Map=ig.Class.extend({tilesize:8,width:1,height:1,data:[[]],name:null,init:function(tilesize,data){this.tilesize=tilesize;this.data=data;this.height=data.length;this.width=data[0].length;},getTile:function(x,y){var tx=Math.floor(x/this.tilesize);var ty=Math.floor(y/this.tilesize);if((tx>=0&&tx<this.width)&&(ty>=0&&ty<this.height)){return this.data[ty][tx];}
else{return 0;}},setTile:function(x,y,tile){var tx=Math.floor(x/this.tilesize);var ty=Math.floor(y/this.tilesize);if((tx>=0&&tx<this.width)&&(ty>=0&&ty<this.height)){this.data[ty][tx]=tile;}}});});
// lib/impact/collision-map.js
ig.baked=true;ig.module('impact.collision-map').requires('impact.map').defines(function(){"use strict";ig.CollisionMap=ig.Map.extend({lastSlope:1,tiledef:null,init:function(tilesize,data,tiledef){this.parent(tilesize,data);this.tiledef=tiledef||ig.CollisionMap.defaultTileDef;for(var t in this.tiledef){if(t|0>this.lastSlope){this.lastSlope=t|0;}}},trace:function(x,y,vx,vy,objectWidth,objectHeight){var res={collision:{x:false,y:false,slope:false},pos:{x:x,y:y},tile:{x:0,y:0}};var steps=Math.ceil(Math.max(Math.abs(vx),Math.abs(vy))/this.tilesize);if(steps>1){var sx=vx/steps;var sy=vy/steps;for(var i=0;i<steps&&(sx||sy);i++){this._traceStep(res,x,y,sx,sy,objectWidth,objectHeight,vx,vy,i);x=res.pos.x;y=res.pos.y;if(res.collision.x){sx=0;vx=0;}
if(res.collision.y){sy=0;vy=0;}
if(res.collision.slope){break;}}}
else{this._traceStep(res,x,y,vx,vy,objectWidth,objectHeight,vx,vy,0);}
return res;},_traceStep:function(res,x,y,vx,vy,width,height,rvx,rvy,step){res.pos.x+=vx;res.pos.y+=vy;var t=0;if(vx){var pxOffsetX=(vx>0?width:0);var tileOffsetX=(vx<0?this.tilesize:0);var firstTileY=Math.max(Math.floor(y/this.tilesize),0);var lastTileY=Math.min(Math.ceil((y+height)/this.tilesize),this.height);var tileX=Math.floor((res.pos.x+pxOffsetX)/this.tilesize);var prevTileX=Math.floor((x+pxOffsetX)/this.tilesize);if(step>0||tileX==prevTileX||prevTileX<0||prevTileX>=this.width){prevTileX=-1;}
if(tileX>=0&&tileX<this.width){for(var tileY=firstTileY;tileY<lastTileY;tileY++){if(prevTileX!=-1){t=this.data[tileY][prevTileX];if(t>1&&t<=this.lastSlope&&this._checkTileDef(res,t,x,y,rvx,rvy,width,height,prevTileX,tileY)){break;}}
t=this.data[tileY][tileX];if(t==1||t>this.lastSlope||(t>1&&this._checkTileDef(res,t,x,y,rvx,rvy,width,height,tileX,tileY))){if(t>1&&t<=this.lastSlope&&res.collision.slope){break;}
res.collision.x=true;res.tile.x=t;x=res.pos.x=tileX*this.tilesize-pxOffsetX+tileOffsetX;rvx=0;break;}}}}
if(vy){var pxOffsetY=(vy>0?height:0);var tileOffsetY=(vy<0?this.tilesize:0);var firstTileX=Math.max(Math.floor(res.pos.x/this.tilesize),0);var lastTileX=Math.min(Math.ceil((res.pos.x+width)/this.tilesize),this.width);var tileY=Math.floor((res.pos.y+pxOffsetY)/this.tilesize);var prevTileY=Math.floor((y+pxOffsetY)/this.tilesize);if(step>0||tileY==prevTileY||prevTileY<0||prevTileY>=this.height){prevTileY=-1;}
if(tileY>=0&&tileY<this.height){for(var tileX=firstTileX;tileX<lastTileX;tileX++){if(prevTileY!=-1){t=this.data[prevTileY][tileX];if(t>1&&t<=this.lastSlope&&this._checkTileDef(res,t,x,y,rvx,rvy,width,height,tileX,prevTileY)){break;}}
t=this.data[tileY][tileX];if(t==1||t>this.lastSlope||(t>1&&this._checkTileDef(res,t,x,y,rvx,rvy,width,height,tileX,tileY))){if(t>1&&t<=this.lastSlope&&res.collision.slope){break;}
res.collision.y=true;res.tile.y=t;res.pos.y=tileY*this.tilesize-pxOffsetY+tileOffsetY;break;}}}}},_checkTileDef:function(res,t,x,y,vx,vy,width,height,tileX,tileY){var def=this.tiledef[t];if(!def){return false;}
var lx=(tileX+def[0])*this.tilesize,ly=(tileY+def[1])*this.tilesize,lvx=(def[2]-def[0])*this.tilesize,lvy=(def[3]-def[1])*this.tilesize,solid=def[4];var tx=x+vx+(lvy<0?width:0)-lx,ty=y+vy+(lvx>0?height:0)-ly;if(lvx*ty-lvy*tx>0){if(vx*-lvy+vy*lvx<0){return solid;}
var length=Math.sqrt(lvx*lvx+lvy*lvy);var nx=lvy/length,ny=-lvx/length;var proj=tx*nx+ty*ny;var px=nx*proj,py=ny*proj;if(px*px+py*py>=vx*vx+vy*vy){return solid||(lvx*(ty-vy)-lvy*(tx-vx)<0.5);}
res.pos.x=x+vx-px;res.pos.y=y+vy-py;res.collision.slope={x:lvx,y:lvy,nx:nx,ny:ny};return true;}
return false;}});var H=1/2,N=1/3,M=2/3,SOLID=true,NON_SOLID=false;ig.CollisionMap.defaultTileDef={5:[0,1,1,M,SOLID],6:[0,M,1,N,SOLID],7:[0,N,1,0,SOLID],3:[0,1,1,H,SOLID],4:[0,H,1,0,SOLID],2:[0,1,1,0,SOLID],10:[H,1,1,0,SOLID],21:[0,1,H,0,SOLID],32:[M,1,1,0,SOLID],43:[N,1,M,0,SOLID],54:[0,1,N,0,SOLID],27:[0,0,1,N,SOLID],28:[0,N,1,M,SOLID],29:[0,M,1,1,SOLID],25:[0,0,1,H,SOLID],26:[0,H,1,1,SOLID],24:[0,0,1,1,SOLID],11:[0,0,H,1,SOLID],22:[H,0,1,1,SOLID],33:[0,0,N,1,SOLID],44:[N,0,M,1,SOLID],55:[M,0,1,1,SOLID],16:[1,N,0,0,SOLID],17:[1,M,0,N,SOLID],18:[1,1,0,M,SOLID],14:[1,H,0,0,SOLID],15:[1,1,0,H,SOLID],13:[1,1,0,0,SOLID],8:[H,1,0,0,SOLID],19:[1,1,H,0,SOLID],30:[N,1,0,0,SOLID],41:[M,1,N,0,SOLID],52:[1,1,M,0,SOLID],38:[1,M,0,1,SOLID],39:[1,N,0,M,SOLID],40:[1,0,0,N,SOLID],36:[1,H,0,1,SOLID],37:[1,0,0,H,SOLID],35:[1,0,0,1,SOLID],9:[1,0,H,1,SOLID],20:[H,0,0,1,SOLID],31:[1,0,M,1,SOLID],42:[M,0,N,1,SOLID],53:[N,0,0,1,SOLID],12:[0,0,1,0,NON_SOLID],23:[1,1,0,1,NON_SOLID],34:[1,0,1,1,NON_SOLID],45:[0,1,0,0,NON_SOLID]};ig.CollisionMap.staticNoCollision={trace:function(x,y,vx,vy){return{collision:{x:false,y:false,slope:false},pos:{x:x+vx,y:y+vy},tile:{x:0,y:0}};}};});
// lib/impact/background-map.js
ig.baked=true;ig.module('impact.background-map').requires('impact.map','impact.image').defines(function(){"use strict";ig.BackgroundMap=ig.Map.extend({tiles:null,scroll:{x:0,y:0},distance:1,repeat:false,tilesetName:'',foreground:false,enabled:true,preRender:false,preRenderedChunks:null,chunkSize:512,debugChunks:false,anims:{},init:function(tilesize,data,tileset){this.parent(tilesize,data);this.setTileset(tileset);},setTileset:function(tileset){this.tilesetName=tileset instanceof ig.Image?tileset.path:tileset;this.tiles=new ig.Image(this.tilesetName);this.preRenderedChunks=null;},setScreenPos:function(x,y){this.scroll.x=x/this.distance;this.scroll.y=y/this.distance;},preRenderMapToChunks:function(){var totalWidth=this.width*this.tilesize*ig.system.scale,totalHeight=this.height*this.tilesize*ig.system.scale;var chunkCols=Math.ceil(totalWidth/this.chunkSize),chunkRows=Math.ceil(totalHeight/this.chunkSize);this.preRenderedChunks=[];for(var y=0;y<chunkRows;y++){this.preRenderedChunks[y]=[];for(var x=0;x<chunkCols;x++){var chunkWidth=(x==chunkCols-1)?totalWidth-x*this.chunkSize:this.chunkSize;var chunkHeight=(y==chunkRows-1)?totalHeight-y*this.chunkSize:this.chunkSize;this.preRenderedChunks[y][x]=this.preRenderChunk(x,y,chunkWidth,chunkHeight);}}},preRenderChunk:function(cx,cy,w,h){var tw=w/this.tilesize/ig.system.scale+1,th=h/this.tilesize/ig.system.scale+1;var nx=(cx*this.chunkSize/ig.system.scale)%this.tilesize,ny=(cy*this.chunkSize/ig.system.scale)%this.tilesize;var tx=Math.floor(cx*this.chunkSize/this.tilesize/ig.system.scale),ty=Math.floor(cy*this.chunkSize/this.tilesize/ig.system.scale);var chunk=ig.$new('canvas');chunk.width=w;chunk.height=h;var oldContext=ig.system.context;ig.system.context=chunk.getContext("2d");for(var x=0;x<tw;x++){for(var y=0;y<th;y++){if(x+tx<this.width&&y+ty<this.height){var tile=this.data[y+ty][x+tx];if(tile){this.tiles.drawTile(x*this.tilesize-nx,y*this.tilesize-ny,tile-1,this.tilesize);}}}}
ig.system.context=oldContext;return chunk;},draw:function(){if(!this.tiles.loaded||!this.enabled){return;}
if(this.preRender){this.drawPreRendered();}
else{this.drawTiled();}},drawPreRendered:function(){if(!this.preRenderedChunks){this.preRenderMapToChunks();}
var dx=ig.system.getDrawPos(this.scroll.x),dy=ig.system.getDrawPos(this.scroll.y);if(this.repeat){var w=this.width*this.tilesize*ig.system.scale;dx=(dx%w+w)%w;var h=this.height*this.tilesize*ig.system.scale;dy=(dy%h+h)%h;}
var minChunkX=Math.max(Math.floor(dx/this.chunkSize),0),minChunkY=Math.max(Math.floor(dy/this.chunkSize),0),maxChunkX=Math.ceil((dx+ig.system.realWidth)/this.chunkSize),maxChunkY=Math.ceil((dy+ig.system.realHeight)/this.chunkSize),maxRealChunkX=this.preRenderedChunks[0].length,maxRealChunkY=this.preRenderedChunks.length;if(!this.repeat){maxChunkX=Math.min(maxChunkX,maxRealChunkX);maxChunkY=Math.min(maxChunkY,maxRealChunkY);}
var nudgeY=0;for(var cy=minChunkY;cy<maxChunkY;cy++){var nudgeX=0;for(var cx=minChunkX;cx<maxChunkX;cx++){var chunk=this.preRenderedChunks[cy%maxRealChunkY][cx%maxRealChunkX];var x=-dx+cx*this.chunkSize-nudgeX;var y=-dy+cy*this.chunkSize-nudgeY;ig.system.context.drawImage(chunk,x,y);ig.Image.drawCount++;if(this.debugChunks){ig.system.context.strokeStyle='#f0f';ig.system.context.strokeRect(x,y,this.chunkSize,this.chunkSize);}
if(this.repeat&&chunk.width<this.chunkSize&&x+chunk.width<ig.system.realWidth){nudgeX=this.chunkSize-chunk.width;maxChunkX++;}}
if(this.repeat&&chunk.height<this.chunkSize&&y+chunk.height<ig.system.realHeight){nudgeY=this.chunkSize-chunk.height;maxChunkY++;}}},drawTiled:function(){var tile=0,anim=null,tileOffsetX=(this.scroll.x/this.tilesize).toInt(),tileOffsetY=(this.scroll.y/this.tilesize).toInt(),pxOffsetX=this.scroll.x%this.tilesize,pxOffsetY=this.scroll.y%this.tilesize,pxMinX=-pxOffsetX-this.tilesize,pxMinY=-pxOffsetY-this.tilesize,pxMaxX=ig.system.width+this.tilesize-pxOffsetX,pxMaxY=ig.system.height+this.tilesize-pxOffsetY;for(var mapY=-1,pxY=pxMinY;pxY<pxMaxY;mapY++,pxY+=this.tilesize){var tileY=mapY+tileOffsetY;if(tileY>=this.height||tileY<0){if(!this.repeat){continue;}
tileY=(tileY%this.height+this.height)%this.height;}
for(var mapX=-1,pxX=pxMinX;pxX<pxMaxX;mapX++,pxX+=this.tilesize){var tileX=mapX+tileOffsetX;if(tileX>=this.width||tileX<0){if(!this.repeat){continue;}
tileX=(tileX%this.width+this.width)%this.width;}
if((tile=this.data[tileY][tileX])){if((anim=this.anims[tile-1])){anim.draw(pxX,pxY);}
else{this.tiles.drawTile(pxX,pxY,tile-1,this.tilesize);}}}}}});});
// lib/impact/game.js
ig.baked=true;ig.module('impact.game').requires('impact.impact','impact.entity','impact.collision-map','impact.background-map').defines(function(){"use strict";ig.Game=ig.Class.extend({clearColor:'#272727',gravity:0,screen:{x:0,y:0},_rscreen:{x:0,y:0},entities:[],namedEntities:{},collisionMap:ig.CollisionMap.staticNoCollision,backgroundMaps:[],backgroundAnims:{},autoSort:false,sortBy:null,cellSize:64,_deferredKill:[],_levelToLoad:null,_doSortEntities:false,staticInstantiate:function(){this.sortBy=this.sortBy||ig.Game.SORT.Z_INDEX;ig.game=this;return null;},loadLevel:function(data){this.screen={x:0,y:0};this.entities=[];this.namedEntities={};for(var i=0;i<data.entities.length;i++){var ent=data.entities[i];this.spawnEntity(ent.type,ent.x,ent.y,ent.settings);}
this.sortEntities();this.collisionMap=ig.CollisionMap.staticNoCollision;this.backgroundMaps=[];for(var i=0;i<data.layer.length;i++){var ld=data.layer[i];if(ld.name=='collision'){this.collisionMap=new ig.CollisionMap(ld.tilesize,ld.data);}
else{var newMap=new ig.BackgroundMap(ld.tilesize,ld.data,ld.tilesetName);newMap.anims=this.backgroundAnims[ld.tilesetName]||{};newMap.repeat=ld.repeat;newMap.distance=ld.distance;newMap.foreground=!!ld.foreground;newMap.preRender=!!ld.preRender;newMap.name=ld.name;this.backgroundMaps.push(newMap);}}
for(var i=0;i<this.entities.length;i++){this.entities[i].ready();}},loadLevelDeferred:function(data){this._levelToLoad=data;},getMapByName:function(name){if(name=='collision'){return this.collisionMap;}
for(var i=0;i<this.backgroundMaps.length;i++){if(this.backgroundMaps[i].name==name){return this.backgroundMaps[i];}}
return null;},getEntityByName:function(name){return this.namedEntities[name];},getEntitiesByType:function(type){var entityClass=typeof(type)==='string'?ig.global[type]:type;var a=[];for(var i=0;i<this.entities.length;i++){var ent=this.entities[i];if(ent instanceof entityClass&&!ent._killed){a.push(ent);}}
return a;},spawnEntity:function(type,x,y,settings){var entityClass=typeof(type)==='string'?ig.global[type]:type;if(!entityClass){throw("Can't spawn entity of type "+type);}
var ent=new(entityClass)(x,y,settings||{});this.entities.push(ent);if(ent.name){this.namedEntities[ent.name]=ent;}
return ent;},sortEntities:function(){this.entities.sort(this.sortBy);},sortEntitiesDeferred:function(){this._doSortEntities=true;},removeEntity:function(ent){if(ent.name){delete this.namedEntities[ent.name];}
ent._killed=true;ent.type=ig.Entity.TYPE.NONE;ent.checkAgainst=ig.Entity.TYPE.NONE;ent.collides=ig.Entity.COLLIDES.NEVER;this._deferredKill.push(ent);},run:function(){this.update();this.draw();},update:function(){if(this._levelToLoad){this.loadLevel(this._levelToLoad);this._levelToLoad=null;}
if(this._doSortEntities||this.autoSort){this.sortEntities();this._doSortEntities=false;}
this.updateEntities();this.checkEntities();for(var i=0;i<this._deferredKill.length;i++){this.entities.erase(this._deferredKill[i]);}
this._deferredKill=[];for(var tileset in this.backgroundAnims){var anims=this.backgroundAnims[tileset];for(var a in anims){anims[a].update();}}},updateEntities:function(){for(var i=0;i<this.entities.length;i++){var ent=this.entities[i];if(!ent._killed){ent.update();}}},draw:function(){if(this.clearColor){ig.system.clear(this.clearColor);}
this._rscreen.x=ig.system.getDrawPos(this.screen.x)/ig.system.scale;this._rscreen.y=ig.system.getDrawPos(this.screen.y)/ig.system.scale;var mapIndex;for(mapIndex=0;mapIndex<this.backgroundMaps.length;mapIndex++){var map=this.backgroundMaps[mapIndex];if(map.foreground){break;}
map.setScreenPos(this.screen.x,this.screen.y);map.draw();}
this.drawEntities();for(mapIndex;mapIndex<this.backgroundMaps.length;mapIndex++){var map=this.backgroundMaps[mapIndex];map.setScreenPos(this.screen.x,this.screen.y);map.draw();}},drawEntities:function(){for(var i=0;i<this.entities.length;i++){this.entities[i].draw();}},checkEntities:function(){var hash={};for(var e=0;e<this.entities.length;e++){var entity=this.entities[e];if(entity.type==ig.Entity.TYPE.NONE&&entity.checkAgainst==ig.Entity.TYPE.NONE&&entity.collides==ig.Entity.COLLIDES.NEVER){continue;}
var checked={},xmin=Math.floor(entity.pos.x/this.cellSize),ymin=Math.floor(entity.pos.y/this.cellSize),xmax=Math.floor((entity.pos.x+entity.size.x)/this.cellSize)+1,ymax=Math.floor((entity.pos.y+entity.size.y)/this.cellSize)+1;for(var x=xmin;x<xmax;x++){for(var y=ymin;y<ymax;y++){if(!hash[x]){hash[x]={};hash[x][y]=[entity];}
else if(!hash[x][y]){hash[x][y]=[entity];}
else{var cell=hash[x][y];for(var c=0;c<cell.length;c++){if(entity.touches(cell[c])&&!checked[cell[c].id]){checked[cell[c].id]=true;ig.Entity.checkPair(entity,cell[c]);}}
cell.push(entity);}}}}}});ig.Game.SORT={Z_INDEX:function(a,b){return a.zIndex-b.zIndex;},POS_X:function(a,b){return(a.pos.x+a.size.x)-(b.pos.x+b.size.x);},POS_Y:function(a,b){return(a.pos.y+a.size.y)-(b.pos.y+b.size.y);}};});
// lib/game/entities/baseButton.js
ig.baked=true;ig.module('game.entities.baseButton').requires('impact.entity').defines(function(){EntityBaseButton=ig.Entity.extend({size:{x:105,y:33},clickOnMe:function(){return(ig.input.mouse.y>this.pos.y&&ig.input.mouse.y<this.pos.y+this.size.y)&&(ig.input.mouse.x>this.pos.x&&ig.input.mouse.x<this.pos.x+this.size.x);},init:function(x,y,settings){this.addAnim('active',1,[0]);this.addAnim('clicked',1,[1]);this.addAnim('inactive',1,[2]);this.currentAnim=this.anims.inactive;this.parent(x,y,settings);},draw:function(){if(!this.player){this.player=ig.game.getEntitiesByType('EntityCircle')[0];}
if(this.player.currentPowerup&&!this.clickOnMe()){this.currentAnim=this.anims.active;}else if(this.player.currentPowerup&&this.clickOnMe()){if(ig.input.pressed('click')){this.currentAnim=this.anims.clicked;}else if(ig.input.released('click')){this.currentAnim=this.anims.active;}}
if(!this.player.currentPowerup){this.currentAnim=this.anims.inactive;}
this.parent();},getPlayer:function(){return ig.game.getEntitiesByType('EntityCircle')[0];}});});
// lib/game/entities/activateButton.js
ig.baked=true;ig.module('game.entities.activateButton').requires('game.entities.baseButton').defines(function(){EntityActivateButton=EntityBaseButton.extend({animSheet:new ig.AnimationSheet('media/activateButton.png',105,33),update:function(){this.parent();if(this.clickOnMe()){if(ig.input.pressed('click')){this.getPlayer().powerUpStartFunction();}}}});});
// lib/game/entities/dismissButton.js
ig.baked=true;ig.module('game.entities.dismissButton').requires('game.entities.baseButton').defines(function(){EntityDismissButton=EntityBaseButton.extend({animSheet:new ig.AnimationSheet('media/dismissButton.png',105,33),update:function(){this.parent();if(this.clickOnMe()){if(ig.input.pressed('click')){this.getPlayer().powerUpStopFunction();}}}});});
// lib/game/hud.js
ig.baked=true;ig.module('game.hud').requires('impact.game','impact.font','game.entities.activateButton','game.entities.dismissButton').defines(function(){Hud=ig.Class.extend({font:new ig.Font('media/accuracyfont.png'),scoreFont:new ig.Font('media/scorefont.png'),accuracyBorder:new ig.Image('media/accuracyBorder.png'),powerupBorder:new ig.Image('media/powerupBorder.png'),baseBorder:new ig.Image('media/baseBorder.png'),topBorder:new ig.Image('media/topborder.png',1024,20),init:function(player,base){this.base=base;this.player=player;this.drawHud();ig.game.spawnEntity('EntityActivateButton',789,35);ig.game.spawnEntity('EntityDismissButton',789,72);},drawHud:function(){this.topBorder.draw(0,120);var accuracyModifier=(this.player.powerModifier*10).round()-10;accuracyModifier=accuracyModifier<500?accuracyModifier:"OMG";this.font.draw('+ '+accuracyModifier+'%',215,25,ig.Font.ALIGN.RIGHT);this.accuracyBorder.draw(10,10);this.powerupBorder.draw(770,10);if(this.player.currentPowerup){this.player.currentPowerup.bigIcon.draw(938,38);}
this.baseBorder.draw(282,6);var baseHealthPercent=((this.base.health/this.base.maxHealth)*100).round();baseHealthPercent=baseHealthPercent>0?baseHealthPercent:0;this.font.draw(baseHealthPercent+'%',512,25,ig.Font.ALIGN.CENTER);this.scoreFont.draw('Score: '+GLOBAL_STATE.score,15,140,ig.Font.ALIGN.LEFT);}});});
// lib/game/entities/basePowerup.js
ig.baked=true;ig.module('game.entities.basePowerup').requires('impact.entity').defines(function(){EntityBasePowerup=ig.Entity.extend({animSheet:new ig.AnimationSheet('media/powerup.png',24,24),size:{x:24,y:24},powerupName:"",type:ig.Entity.TYPE.B,checkAgainst:ig.Entity.TYPE.A,collides:ig.Entity.COLLIDES.NONE,init:function(x,y,settings){this.bigIcon=new ig.Image('media/bigIcon.png');this.powerUp=true;this.font=new ig.Font('media/04b03.font.png');this.addAnim('idle',1,[0])
this.parent(x,y,settings);},powerUpStartFunction:function(){},powerUpStopFunction:function(){GLOBAL_STATE.hasPowerup=false;this.currentPowerup="";},attach:function(){var player=ig.game.getEntitiesByType(EntityCircle)[0];player.attach(this.powerUpStartFunction,this.powerUpStopFunction);player.currentPowerup={name:this.powerupName,bigIcon:this.bigIcon};this.kill();},check:function(other){if(GLOBAL_STATE.dragging===true&&GLOBAL_STATE.hasPowerup===false&&!other.walkSequence){this.attach();GLOBAL_STATE.hasPowerup=true;}}});});
// lib/game/entities/stun.js
ig.baked=true;ig.module('game.entities.stun').requires('impact.entity','game.entities.basePowerup').defines(function(){EntityStun=EntityBasePowerup.extend({animSheet:new ig.AnimationSheet('media/lovestun.png',24,24),powerupName:"Stun",init:function(x,y,settings){this.parent(x,y,settings);this.bigIcon=new ig.Image('media/stunIcon.png');},powerUpStartFunction:function(){this.parent();this.powerupActive=true;var myLoc=[this.pos.x.round(),this.pos.y.round()]
var badGuys=ig.game.getEntitiesByType('EntityBadguy');if(typeof badGuys[0]==='object'){this.tempCenter=badGuys[0].getTargetPath;this.stunned=[];for(var i=0;i<badGuys.length;i++){if(badGuys[i].pos.x>(myLoc[0]-100)&&badGuys[i].pos.x<(myLoc[0]+100)&&badGuys[i].pos.y>(myLoc[1]-100)&&badGuys[i].pos.y<(myLoc[1]+100)){this.stunned.push(badGuys[i]);var tempX=badGuys[i].pos.x;var tempY=badGuys[i].pos.y;var newPath=function(){return[tempX,tempY]};badGuys[i].getTargetPath=newPath;}}}
this.timeOut=5;this.powerUpTimer=new ig.Timer(1);ig.game.spawnEntity(EntityStunBlast,myLoc[0]-100,myLoc[1]-100);},powerUpStopFunction:function(){this.powerupActive=false;if(this.stunned){for(var i=0;i<this.stunned.length;i++){this.stunned[i].getTargetPath=this.tempCenter;}}
delete this.powerUpTimer;this.powerUpStartFunction=function(){};this.parent();},draw:function(){this.parent();this.font.draw('STUN',this.pos.x+12,this.pos.y-10,ig.Font.ALIGN.CENTER)}});EntityStunBlast=ig.Entity.extend({lifetime:.16,animSheet:new ig.AnimationSheet('media/stunBlast.png',200,200),init:function(x,y,settings){this.parent(x,y,settings);this.addAnim('boom',.04,[0,1,2,3]);this.currentAnim=this.anims.boom;this.blastTimer=new ig.Timer();},update:function(){if(this.blastTimer.delta()>this.lifetime){this.kill();return;}
this.parent();},});});
// lib/game/entities/bomb.js
ig.baked=true;ig.module('game.entities.bomb').requires('impact.entity','game.entities.basePowerup').defines(function(){EntityBomb=EntityBasePowerup.extend({animSheet:new ig.AnimationSheet('media/bomb.png',24,24),powerupName:"Bomb",init:function(x,y,settings){this.parent(x,y,settings);this.bigIcon=new ig.Image('media/bombIcon.png');},powerUpStartFunction:function(){this.parent();this.powerupActive=true;var myLoc=[this.pos.x.round(),this.pos.y.round()]
var badGuys=ig.game.getEntitiesByType('EntityBadguy');var killCount=0;if(!GLOBAL_STATE.gameOver){for(var x=0;x<badGuys.length;x++){if(badGuys[x].pos.x>(myLoc[0]-100)&&badGuys[x].pos.x<(myLoc[0]+100)&&badGuys[x].pos.y>(myLoc[1]-100)&&badGuys[x].pos.y<(myLoc[1]+100)&&killCount<3){badGuys[x].health=0;badGuys[x].kill();killCount++;GLOBAL_STATE.score+=2;}}}
this.timeOut=.01;this.powerUpTimer=new ig.Timer(1);ig.game.spawnEntity(EntityBombBlast,myLoc[0]-100,myLoc[1]-100);},powerUpStopFunction:function(){this.powerupActive=false;delete this.powerUpTimer;this.powerUpStartFunction=function(){};this.parent();},draw:function(){this.parent();this.font.draw('BOMB',this.pos.x+12,this.pos.y-10,ig.Font.ALIGN.CENTER)}});EntityBombBlast=ig.Entity.extend({lifetime:.16,animSheet:new ig.AnimationSheet('media/bombBlast.png',200,200),init:function(x,y,settings){this.parent(x,y,settings);this.addAnim('boom',.04,[0,1,2,3]);this.currentAnim=this.anims.boom;this.blastTimer=new ig.Timer();},update:function(){if(this.blastTimer.delta()>this.lifetime){this.kill();return;}
this.parent();},});});
// lib/game/entities/speed.js
ig.baked=true;ig.module('game.entities.speed').requires('impact.entity','game.entities.basePowerup').defines(function(){EntitySpeed=EntityBasePowerup.extend({animSheet:new ig.AnimationSheet('media/speed.png',24,24),powerupName:"Speed",init:function(x,y,settings){this.parent(x,y,settings);this.bigIcon=new ig.Image('media/speedIcon.png');},powerUpStartFunction:function(){this.parent();this.powerupActive=true;this.tightness=30;this.powerUpTimer=new ig.Timer(1);this.timeOut=5;},powerUpStopFunction:function(){this.powerupActive=false;this.tightness=7;delete this.powerUpTimer;this.powerUpStartFunction=function(){};this.parent();},draw:function(){this.parent();this.font.draw('SPEED',this.pos.x+12,this.pos.y-10,ig.Font.ALIGN.CENTER)}});});
// lib/game/entities/power.js
ig.baked=true;ig.module('game.entities.power').requires('impact.entity','game.entities.basePowerup').defines(function(){EntityPower=EntityBasePowerup.extend({animSheet:new ig.AnimationSheet('media/power.png',24,24),powerupName:"Power",init:function(x,y,settings){this.parent(x,y,settings);this.bigIcon=new ig.Image('media/powerIcon.png');},powerUpStartFunction:function(){this.parent();this.powerupActive=true;this.tempPowerModifier=this.powerModifier;this.powerModifier=1000;this.powerUpTimer=new ig.Timer(1);this.timeOut=2;},powerUpStopFunction:function(){this.powerupActive=false;if(this.tempPowerModifier){this.powerModifier=this.tempPowerModifier;}
delete this.powerUpTimer;this.powerUpStartFunction=function(){};this.parent();},draw:function(){this.parent();this.font.draw('POWER',this.pos.x+12,this.pos.y-10,ig.Font.ALIGN.CENTER)}});});
// lib/game/entities/powerupSpawner.js
ig.baked=true;ig.module('game.entities.powerupSpawner').requires('impact.entity','game.entities.stun','game.entities.bomb','game.entities.speed','game.entities.power').defines(function(){EntityPowerupSpawner=ig.Entity.extend({size:{x:20,y:20},minX:404,maxX:600,minY:260,maxY:536,powerups:['EntityBomb','EntityPower','EntityStun','EntitySpeed'],init:function(x,y,settings){this.parent(x,y,settings);var self=this;this.chain=new EventChain().wait(10).then(function(){self.spawnPowerup();}).repeat()},update:function(){this.chain()},spawnPowerup:function(){if(!this.otherPowerups()){this.spawnRandomPowerup();}},otherPowerups:function(){var powerups=ig.game.entities;for(var i=0;i<powerups.length;i++){if(powerups[i].powerUp){return true;}}},spawnRandomPowerup:function(){var randomPowerup=this.powerups[this.getRandom(0,3)]
var randomLocation=[this.getRandom(this.minX,this.maxX),this.getRandom(this.minY,this.maxY)]
ig.game.spawnEntity(randomPowerup,randomLocation[0],randomLocation[1])},getRandom:function(min,max){var random=Math.floor(Math.random()*(max-min+1))+min;return random;}});});
// lib/game/levels/level1.js
ig.baked=true;ig.module('game.levels.level1').requires('impact.image','game.entities.powerupSpawner').defines(function(){LevelLevel1={"entities":[{"type":"EntityPowerupSpawner","x":740,"y":536}],"layer":[{"name":"gameboardbg","width":16,"height":12,"linkWithCollision":false,"visible":1,"tilesetName":"media/gameboardbg.png","repeat":false,"preRender":true,"distance":"1","tilesize":64,"foreground":false,"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]},{"name":"background","width":64,"height":50,"linkWithCollision":false,"visible":1,"tilesetName":"media/bg.png","repeat":false,"preRender":false,"distance":"1","tilesize":16,"foreground":false,"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9,9,1,1,9,9,9,9,9,9,9,9,9,9,9,9,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,9,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,7,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,7,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,7,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9,9,1,1,9,9,9,9,9,9,9,9,9,9,9,9,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]},{"name":"collision","width":64,"height":50,"linkWithCollision":false,"visible":0,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":16,"foreground":false,"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]}]};LevelLevel1Resources=[new ig.Image('media/gameboardbg.png'),new ig.Image('media/bg.png')];});
// lib/game/levels/level2.js
ig.baked=true;ig.module('game.levels.level2').requires('impact.image','game.entities.powerupSpawner').defines(function(){LevelLevel2={"entities":[{"type":"EntityPowerupSpawner","x":740,"y":536}],"layer":[{"name":"gameboardbg","width":16,"height":12,"linkWithCollision":false,"visible":1,"tilesetName":"media/gameboardbg.png","repeat":false,"preRender":true,"distance":"1","tilesize":64,"foreground":false,"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]},{"name":"background","width":64,"height":50,"linkWithCollision":false,"visible":1,"tilesetName":"media/bg.png","repeat":false,"preRender":false,"distance":"1","tilesize":16,"foreground":false,"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,18,8,1,9,9,9,9,9,9,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,8,1,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,1,7,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,2,1,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,1,3,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,18,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,18,18,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,18,18,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,18,18,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,3,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,9,9,9,9,9,9,9,1,1,9,9,9,9,9,9,9,1,1,3,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]},{"name":"collision","width":64,"height":50,"linkWithCollision":false,"visible":0,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":16,"foreground":false,"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]}]};LevelLevel2Resources=[new ig.Image('media/gameboardbg.png'),new ig.Image('media/bg.png')];});
// lib/game/levels/level3.js
ig.baked=true;ig.module('game.levels.level3').requires('impact.image','game.entities.powerupSpawner').defines(function(){LevelLevel3={"entities":[{"type":"EntityPowerupSpawner","x":740,"y":536}],"layer":[{"name":"gameboardbg","width":16,"height":12,"linkWithCollision":false,"visible":1,"tilesetName":"media/gameboardbg.png","repeat":false,"preRender":true,"distance":"1","tilesize":64,"foreground":false,"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]},{"name":"background","width":64,"height":50,"linkWithCollision":false,"visible":1,"tilesetName":"media/bg.png","repeat":false,"preRender":false,"distance":"1","tilesize":16,"foreground":false,"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]},{"name":"collision","width":64,"height":50,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":16,"foreground":false,"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]}]};LevelLevel3Resources=[new ig.Image('media/gameboardbg.png'),new ig.Image('media/bg.png')];});
// lib/plugins/preloader.js
ig.baked=true;ig.module('plugins.preloader').requires('impact.loader').defines(function(){MyLoader=ig.Loader.extend({endTime:0,fadeToWhiteTime:200,fadeToGameTime:800,end:function(){this.parent();this.endTime=Date.now();ig.system.setDelegate(this);},run:function(){var t=Date.now()-this.endTime;var alpha=1;if(t<this.fadeToWhiteTime){this.draw();alpha=t.map(0,this.fadeToWhiteTime,0,1);}
else if(t<this.fadeToGameTime){ig.game.run();alpha=t.map(this.fadeToWhiteTime,this.fadeToGameTime,1,0);}
else{ig.system.setDelegate(ig.game);return;}
ig.system.context.fillStyle='rgba(0,0,0,'+alpha+')';ig.system.context.fillRect(0,0,ig.system.realWidth,ig.system.realHeight);},draw:function(){this.parent();var ctx=ig.system.context;var oneGAMLogo=new Image();var impactLogo=new Image();oneGAMLogo.src="data:image/png;base64,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";impactLogo.src="data:image/png;base64,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"
ctx.drawImage(oneGAMLogo,(ig.system.realWidth-250)/2,ig.system.realHeight/10);ctx.drawImage(impactLogo,(ig.system.realWidth-650)/2,ig.system.realHeight/10);}});});
// lib/plugins/astar-for-entities.js
ig.baked=true;ig.module('plugins.astar-for-entities').requires('impact.entity').defines(function(){ig.Entity.inject({path:null,headingDirection:0,maxMovementActive:false,maxMovement:200,directionChangeMalus45degree:0,directionChangeMalus90degree:0,ready:function(){this.directionChangeMalus45degree=ig.game.collisionMap.tilesize/4;this.directionChangeMalus90degree=ig.game.collisionMap.tilesize*5/8;},getPath:function(destinationX,destinationY,diagonalMovement,entityTypesArray,ignoreEntityArray){if(diagonalMovement==null){diagonalMovement=true;}
if(entityTypesArray==null){entityTypesArray=[];}
if(ignoreEntityArray==null){ignoreEntityArray=[];}
var mapWidth=ig.game.collisionMap.width,mapHeight=ig.game.collisionMap.height,mapTilesize=ig.game.collisionMap.tilesize,map=ig.game.collisionMap.data,diagonalMovementCosts=Math.sqrt(2);this._addEraseEntities(true,entityTypesArray,ignoreEntityArray);var startNode=new asfeNode((this.pos.x/mapTilesize).floor(),(this.pos.y/mapTilesize).floor(),-1,0),destinationNode=new asfeNode((destinationX/mapTilesize).floor(),(destinationY/mapTilesize).floor(),-1,0);if(destinationNode.x==startNode.x&&destinationNode.y==startNode.y){this.path=null;this._addEraseEntities(false,entityTypesArray,ignoreEntityArray);return;}
if(map[destinationNode.y][destinationNode.x]!=0){this.path=null;this._addEraseEntities(false,entityTypesArray,ignoreEntityArray);return;}
var open=[],closed=[];var nodes={};var bestCost,bestNode,currentNode,newX,newY,tempG,newNode,lastDirection,direction;open.push(startNode);nodes[startNode.x+','+startNode.y]=startNode;while(open.length>0){bestCost=open[0].f;bestNode=0;for(var i=1;i<open.length;i++){if(open[i].f<bestCost){bestCost=open[i].f;bestNode=i;}}
currentNode=open[bestNode];if(currentNode.x==destinationNode.x&¤tNode.y==destinationNode.y){this.path=[{x:destinationNode.x*mapTilesize,y:destinationNode.y*mapTilesize}];if(currentNode.x!=closed[currentNode.p].x&¤tNode.y!=closed[currentNode.p].y){lastDirection=0;}else if(currentNode.x!=closed[currentNode.p].x&¤tNode.y==closed[currentNode.p].y){lastDirection=1;}else if(currentNode.x==closed[currentNode.p].x&¤tNode.y!=closed[currentNode.p].y){lastDirection=2;}
while(true){currentNode=closed[currentNode.p];if(currentNode.p==-1){this._addEraseEntities(false,entityTypesArray,ignoreEntityArray);if(this.maxMovement>0&&this._getPathLength()>this.maxMovement&&this.maxMovementActive){this._createNewLimitedPath();}
return;}
if(currentNode.x!=closed[currentNode.p].x&¤tNode.y!=closed[currentNode.p].y){direction=0;}else if(currentNode.x!=closed[currentNode.p].x&¤tNode.y==closed[currentNode.p].y){direction=1;}else if(currentNode.x==closed[currentNode.p].x&¤tNode.y!=closed[currentNode.p].y){direction=2;}
if(direction!=lastDirection){this.path.unshift({x:currentNode.x*mapTilesize,y:currentNode.y*mapTilesize});}
lastDirection=direction;}}
open.splice(bestNode,1);closed.push(currentNode);currentNode.closed=true;direction=0;for(var dx=-1;dx<=1;dx++){for(var dy=-1;dy<=1;dy++){if(!diagonalMovement){if(Math.abs(dx)==Math.abs(dy)){continue;}}
if(dx==0&&dy==0){continue;}
direction++;newX=currentNode.x+dx;newY=currentNode.y+dy;if(newX<0||newX>=mapWidth||newY<0||newY>=mapHeight){continue;}
if(map[newY][newX]!=0){continue;}
if(dx==-1&&dy==-1&&(map[currentNode.y-1][currentNode.x]!=0||map[currentNode.y][currentNode.x-1]!=0)){continue;}
if(dx==1&&dy==-1&&(map[currentNode.y-1][currentNode.x]!=0||map[currentNode.y][currentNode.x+1]!=0)){continue;}
if(dx==-1&&dy==1&&(map[currentNode.y][currentNode.x-1]!=0||map[currentNode.y+1][currentNode.x]!=0)){continue;}
if(dx==1&&dy==1&&(map[currentNode.y][currentNode.x+1]!=0||map[currentNode.y+1][currentNode.x]!=0)){continue;}
if(nodes[newX+','+newY]){if(nodes[newX+','+newY].closed){continue;}
tempG=currentNode.g+Math.sqrt(Math.pow(newX-currentNode.x,2)+Math.pow(newY-currentNode.y,2));if(currentNode.d!=direction){if(currentNode.d==1&&(direction==2||direction==4)){tempG=tempG+this.directionChangeMalus45degree;}else if(currentNode.d==2&&(direction==1||direction==3)){tempG=tempG+this.directionChangeMalus45degree;}else if(currentNode.d==3&&(direction==2||direction==5)){tempG=tempG+this.directionChangeMalus45degree;}else if(currentNode.d==4&&(direction==1||direction==6)){tempG=tempG+this.directionChangeMalus45degree;}else if(currentNode.d==5&&(direction==3||direction==8)){tempG=tempG+this.directionChangeMalus45degree;}else if(currentNode.d==6&&(direction==4||direction==7)){tempG=tempG+this.directionChangeMalus45degree;}else if(currentNode.d==7&&(direction==6||direction==8)){tempG=tempG+this.directionChangeMalus45degree;}else if(currentNode.d==8&&(direction==5||direction==7)){tempG=tempG+this.directionChangeMalus45degree;}else{tempG=tempG+this.directionChangeMalus90degree;}}
if(tempG<nodes[newX+','+newY].g){nodes[newX+','+newY].g=tempG;nodes[newX+','+newY].f=tempG+nodes[newX+','+newY].h;nodes[newX+','+newY].p=closed.length-1;nodes[newX+','+newY].d=direction;}
continue;}
newNode=new asfeNode(newX,newY,closed.length-1,direction);nodes[newNode.x+','+newNode.y]=newNode;newNode.g=currentNode.g+Math.sqrt(Math.pow(newNode.x-currentNode.x,2)+Math.pow(newNode.y-currentNode.y,2));if(currentNode.d!=newNode.d&¤tNode.d!=0){if(currentNode.d==1&&(newNode.d==2||newNode.d==4)){newNode.g=newNode.g+this.directionChangeMalus45degree;}else if(currentNode.d==2&&(newNode.d==1||newNode.d==3)){newNode.g=newNode.g+this.directionChangeMalus45degree;}else if(currentNode.d==3&&(newNode.d==2||newNode.d==5)){newNode.g=newNode.g+this.directionChangeMalus45degree;}else if(currentNode.d==4&&(newNode.d==1||newNode.d==6)){newNode.g=newNode.g+this.directionChangeMalus45degree;}else if(currentNode.d==5&&(newNode.d==3||newNode.d==8)){newNode.g=newNode.g+this.directionChangeMalus45degree;}else if(currentNode.d==6&&(newNode.d==4||newNode.d==7)){newNode.g=newNode.g+this.directionChangeMalus45degree;}else if(currentNode.d==7&&(newNode.d==6||newNode.d==8)){newNode.g=newNode.g+this.directionChangeMalus45degree;}else if(currentNode.d==8&&(newNode.d==5||newNode.d==7)){newNode.g=newNode.g+this.directionChangeMalus45degree;}else{newNode.g=newNode.g+this.directionChangeMalus90degree;}}
if(diagonalMovement){var h_diagonal=Math.min(Math.abs(newNode.x-destinationNode.x),Math.abs(newNode.y-destinationNode.y));var h_straight=Math.abs(newNode.x-destinationNode.x)+Math.abs(newNode.y-destinationNode.y);newNode.h=(diagonalMovementCosts*h_diagonal)+(h_straight-(2*h_diagonal));}else{newNode.h=Math.abs(newNode.x-destinationNode.x)+Math.abs(newNode.y-destinationNode.y);}
newNode.f=newNode.g+newNode.h;open.push(newNode);}}}
this.path=null;this._addEraseEntities(false,entityTypesArray,ignoreEntityArray);return;},_addEraseEntities:function(addErase,entityTypesArray,ignoreEntityArray){var ignoreThisEntity;for(i=0;i<entityTypesArray.length;i++){var entities=ig.game.getEntitiesByType(entityTypesArray[i]);for(j=0;j<entities.length;j++){ignoreThisEntity=false;for(k=0;k<ignoreEntityArray.length;k++){if(ignoreEntityArray[k].id==entities[j].id){ignoreThisEntity=true;}}
if(!ignoreThisEntity){var sizeX=(entities[j].size.x/ig.game.collisionMap.tilesize).floor();var sizeY=(entities[j].size.y/ig.game.collisionMap.tilesize).floor();for(k=0;k<sizeX;k++){for(l=0;l<sizeY;l++){var changeTileX=(entities[j].pos.x/ig.game.collisionMap.tilesize).floor()+k,changeTileY=(entities[j].pos.y/ig.game.collisionMap.tilesize).floor()+l;if(changeTileX>=0&&changeTileX<ig.game.collisionMap.width&&changeTileY>=0&&changeTileY<ig.game.collisionMap.height){if(addErase&&ig.game.collisionMap.data[changeTileY][changeTileX]==0){ig.game.collisionMap.data[changeTileY][changeTileX]=9999;}else if(!addErase&&ig.game.collisionMap.data[changeTileY][changeTileX]==9999){ig.game.collisionMap.data[changeTileY][changeTileX]=0;}}}}}}}},_getPathLength:function(){var distance=0;if(this.path){var prevWaypoint=this.pos;for(var i=0;i<this.path.length;i++){if(this.path[i]){var currentWaypoint=this.path[i];distance+=this._distanceTo(prevWaypoint,currentWaypoint);prevWaypoint=currentWaypoint;}}}
return distance;},_createNewLimitedPath:function(){var newPath=new Array();var distance=0;if(this.path){var prevWaypoint=this.pos;for(var i=0;i<this.path.length;i++){if(this.path[i]){var currentWaypoint=this.path[i];var newDistance=distance+this._distanceTo(prevWaypoint,currentWaypoint);if(newDistance>this.maxMovement){var newWayPointLength=this.maxMovement-distance;var newMaxMovementLastWaypoint=this._getPointSomeDistanceFromStart(prevWaypoint,currentWaypoint,newWayPointLength);newPath.push(newMaxMovementLastWaypoint);break;}else{distance+=this._distanceTo(prevWaypoint,currentWaypoint);newPath.push(currentWaypoint);}
prevWaypoint=currentWaypoint;}}}
this.path=newPath;return;},_distanceTo:function(p1,p2){var distSquared=Math.sqrt(Math.pow((p1.x-p2.x),2)+Math.pow((p1.y-p2.y),2));return distSquared;},_getPointSomeDistanceFromStart:function(startPos,endPos,distanceFromStart){var totalDistance=this._distanceTo(startPos,endPos);var totalDelta={x:endPos.x-startPos.x,y:endPos.y-startPos.y};var percent=distanceFromStart/totalDistance;var delta={x:totalDelta.x*percent,y:totalDelta.y*percent};return{x:startPos.x+delta.x,y:startPos.y+delta.y};},followPath:function(speed,alignOnNearestTile){if(alignOnNearestTile==null){alignOnNearestTile=false;}
if(!this.path&&alignOnNearestTile){var cx=(this.pos.x/ig.game.collisionMap.tilesize).floor()*ig.game.collisionMap.tilesize,cy=(this.pos.y/ig.game.collisionMap.tilesize).floor()*ig.game.collisionMap.tilesize;if(cx!=this.pos.x||cy!=this.pos.y){var dx=this.pos.x-cx,dy=this.pos.y-cy;var dxp=cx+ig.game.collisionMap.tilesize-this.pos.x,dyp=cy+ig.game.collisionMap.tilesize-this.pos.y;if(dx<dxp){var tx=cx;}else{var tx=cx+ig.game.collisionMap.tilesize;}
if(dy<dyp){var ty=cy;}else{var ty=cy+ig.game.collisionMap.tilesize;}
this.path=[{x:tx,y:ty}];}}
if(this.path){if(((this.pos.x>=this.path[0].x&&this.last.x<this.path[0].x)||(this.pos.x<=this.path[0].x&&this.last.x>this.path[0].x)||this.pos.x==this.path[0].x)&&((this.pos.y>=this.path[0].y&&this.last.y<this.path[0].y)||(this.pos.y<=this.path[0].y&&this.last.y>this.path[0].y)||this.pos.y==this.path[0].y)){if(this.path.length==1){this.vel.x=0;this.pos.x=this.path[0].x;this.vel.y=0;this.pos.y=this.path[0].y;}
this.path.splice(0,1);if(!this.path.length){this.path=null;return;}}
if(this.pos.x!=this.path[0].x&&this.pos.y!=this.path[0].y){speed=Math.sqrt(Math.pow(speed,2)/2);}
if((this.pos.x>=this.path[0].x&&this.last.x<this.path[0].x)||(this.pos.x<=this.path[0].x&&this.last.x>this.path[0].x)){this.vel.x=0;this.pos.x=this.path[0].x;}else if(this.pos.x<this.path[0].x){this.vel.x=speed;}else if(this.pos.x>this.path[0].x){this.vel.x=-speed;}
if((this.pos.y>=this.path[0].y&&this.last.y<this.path[0].y)||(this.pos.y<=this.path[0].y&&this.last.y>this.path[0].y)){this.vel.y=0;this.pos.y=this.path[0].y;}else if(this.pos.y<this.path[0].y){this.vel.y=speed;}else if(this.pos.y>this.path[0].y){this.vel.y=-speed;}
if(this.vel.x<0&&this.vel.y<0){this.headingDirection=1;}else if(this.vel.x<0&&this.vel.y>0){this.headingDirection=3;}else if(this.vel.x>0&&this.vel.y<0){this.headingDirection=6;}else if(this.vel.x>0&&this.vel.y>0){this.headingDirection=8;}else if(this.vel.x<0){this.headingDirection=2;}else if(this.vel.x>0){this.headingDirection=7;}else if(this.vel.y<0){this.headingDirection=4;}else if(this.vel.y>0){this.headingDirection=5;}}else{this.vel.x=0;this.vel.y=0;this.headingDirection=0;}},drawPath:function(r,g,b,a,lineWidth){if(this.path){var mapTilesize=ig.game.collisionMap.tilesize;ig.system.context.strokeStyle='rgba('+r+', '+g+', '+b+', '+a+')';ig.system.context.lineWidth=lineWidth*ig.system.scale;ig.system.context.beginPath();ig.system.context.moveTo(ig.system.getDrawPos(this.pos.x+this.size.x/2-ig.game.screen.x),ig.system.getDrawPos(this.pos.y+this.size.y/2-ig.game.screen.y));for(var i=0;i<this.path.length;i++){ig.system.context.lineTo(ig.system.getDrawPos(this.path[i].x+mapTilesize/2-ig.game.screen.x),ig.system.getDrawPos(this.path[i].y+mapTilesize/2-ig.game.screen.y));}
ig.system.context.stroke();ig.system.context.closePath();}},init:function(x,y,settings){this.parent(x,y,settings);this.last={x:x,y:y};}});asfeNode=function(x,y,p,d){this.x=x;this.y=y;this.p=p;this.d=d;this.g=0;this.h=0;this.f=0;this.closed=false;};});
// lib/plugins/tween.js
ig.baked=true;ig.module('plugins.tween').requires('impact.entity').defines(function(){if(!Array.prototype.indexOf){Array.prototype.indexOf=function(el,start){var start=start||0;for(var i=0;i<this.length;++i){if(this[i]===el){return i;}}
return-1;};}
ig.Entity.prototype.tweens=[];ig.Entity.prototype._preTweenUpdate=ig.Entity.prototype.update;ig.Entity.prototype.update=function(){this._preTweenUpdate();if(this.tweens.length>0){var currentTweens=[];for(var i=0;i<this.tweens.length;i++){this.tweens[i].update();if(!this.tweens[i].complete)currentTweens.push(this.tweens[i]);}
this.tweens=currentTweens;}};ig.Entity.prototype.tween=function(props,duration,settings){var tween=new ig.Tween(this,props,duration,settings);this.tweens.push(tween);return tween;};ig.Entity.prototype.pauseTweens=function(){for(var i=0;i<this.tweens.length;i++){this.tweens[i].pause();}};ig.Entity.prototype.resumeTweens=function(){for(var i=0;i<this.tweens.length;i++){this.tweens[i].resume();}};ig.Entity.prototype.stopTweens=function(doComplete){for(var i=0;i<this.tweens.length;i++){this.tweens[i].stop(doComplete);}};ig.Tween=function(obj,properties,duration,settings){var _object=obj;var valuesStart={};var valuesEnd={};var valuesDelta={};var _elapsed=0;var timer=false;var started=false;var _props=properties;var _chained=false;this.duration=duration;this.complete=false;this.paused=false;this.easing=ig.Tween.Easing.Linear.EaseNone;this.onComplete=false;this.delay=0;this.loop=0;this.loopCount=-1;ig.merge(this,settings);this.loopNum=this.loopCount;this.chain=function(chainObj){_chained=chainObj;};this.initEnd=function(prop,from,to){if(typeof(from[prop])!=="object"){to[prop]=from[prop];}else{for(subprop in from[prop]){if(!to[prop])to[prop]={};this.initEnd(subprop,from[prop],to[prop]);}}};this.initStart=function(prop,end,from,to){if(typeof(from[prop])!=="object"){if(typeof(end[prop])!=="undefined")to[prop]=from[prop];}else{for(subprop in from[prop]){if(!to[prop])to[prop]={};if(typeof(end[prop])!=="undefined")this.initStart(subprop,end[prop],from[prop],to[prop]);}}};this.start=function(){this.complete=false;this.paused=false;this.loopNum=this.loopCount;_elapsed=0;if(_object.tweens.indexOf(this)==-1)_object.tweens.push(this);started=true;timer=new ig.Timer();for(var property in _props){this.initEnd(property,_props,valuesEnd);}
for(var property in valuesEnd){this.initStart(property,valuesEnd,_object,valuesStart);this.initDelta(property,valuesDelta,_object,valuesEnd);}};this.initDelta=function(prop,delta,start,end){if(typeof(end[prop])!=="object"){delta[prop]=end[prop]-start[prop];}else{for(subprop in end[prop]){if(!delta[prop])delta[prop]={};this.initDelta(subprop,delta[prop],start[prop],end[prop]);}}};this.propUpdate=function(prop,obj,start,delta,value){if(typeof(start[prop])!=="object"){if(typeof start[prop]!="undefined"){obj[prop]=start[prop]+delta[prop]*value;}else{obj[prop]=obj[prop];}}else{for(subprop in start[prop]){this.propUpdate(subprop,obj[prop],start[prop],delta[prop],value);}}};this.propSet=function(prop,from,to){if(typeof(from[prop])!=="object"){to[prop]=from[prop];}else{for(subprop in from[prop]){if(!to[prop])to[prop]={};this.propSet(subprop,from[prop],to[prop]);}}};this.update=function(){if(!started)return false;if(this.delay){if(timer.delta()<this.delay)return;this.delay=0;timer.reset();}
if(this.paused||this.complete)return false;var elapsed=(timer.delta()+_elapsed)/this.duration;elapsed=elapsed>1?1:elapsed;var value=this.easing(elapsed);for(property in valuesDelta){this.propUpdate(property,_object,valuesStart,valuesDelta,value);}
if(elapsed>=1){if(this.loopNum==0||!this.loop){this.complete=true;if(this.onComplete)this.onComplete();if(_chained)_chained.start();return false;}else if(this.loop==ig.Tween.Loop.Revert){for(property in valuesStart){this.propSet(property,valuesStart,_object);}
_elapsed=0;timer.reset();if(this.loopNum!=-1)this.loopNum--;}else if(this.loop==ig.Tween.Loop.Reverse){var _start={},_end={},_delta={};ig.merge(_start,valuesEnd);ig.merge(_end,valuesStart);ig.merge(valuesStart,_start);ig.merge(valuesEnd,_end);for(property in valuesEnd){this.initDelta(property,valuesDelta,_object,valuesEnd);}
_elapsed=0;timer.reset();if(this.loopNum!=-1)this.loopNum--;}}};this.pause=function(){this.paused=true;_elapsed+=timer.delta();};this.resume=function(){this.paused=false;timer.reset();};this.stop=function(doComplete){if(doComplete){this.paused=false;this.complete=false;this.loop=false;_elapsed+=duration;this.update();}
this.complete=true;}};ig.Tween.Loop={Revert:1,Reverse:2};ig.Tween.Easing={Linear:{},Quadratic:{},Cubic:{},Quartic:{},Quintic:{},Sinusoidal:{},Exponential:{},Circular:{},Elastic:{},Back:{},Bounce:{}};ig.Tween.Easing.Linear.EaseNone=function(k){return k;};ig.Tween.Easing.Quadratic.EaseIn=function(k){return k*k;};ig.Tween.Easing.Quadratic.EaseOut=function(k){return-k*(k-2);};ig.Tween.Easing.Quadratic.EaseInOut=function(k){if((k*=2)<1)return 0.5*k*k;return-0.5*(--k*(k-2)-1);};ig.Tween.Easing.Cubic.EaseIn=function(k){return k*k*k;};ig.Tween.Easing.Cubic.EaseOut=function(k){return--k*k*k+1;};ig.Tween.Easing.Cubic.EaseInOut=function(k){if((k*=2)<1)return 0.5*k*k*k;return 0.5*((k-=2)*k*k+2);};ig.Tween.Easing.Quartic.EaseIn=function(k){return k*k*k*k;};ig.Tween.Easing.Quartic.EaseOut=function(k){return-(--k*k*k*k-1);}
ig.Tween.Easing.Quartic.EaseInOut=function(k){if((k*=2)<1)return 0.5*k*k*k*k;return-0.5*((k-=2)*k*k*k-2);};ig.Tween.Easing.Quintic.EaseIn=function(k){return k*k*k*k*k;};ig.Tween.Easing.Quintic.EaseOut=function(k){return(k=k-1)*k*k*k*k+1;};ig.Tween.Easing.Quintic.EaseInOut=function(k){if((k*=2)<1)return 0.5*k*k*k*k*k;return 0.5*((k-=2)*k*k*k*k+2);};ig.Tween.Easing.Sinusoidal.EaseIn=function(k){return-Math.cos(k*Math.PI/2)+1;};ig.Tween.Easing.Sinusoidal.EaseOut=function(k){return Math.sin(k*Math.PI/2);};ig.Tween.Easing.Sinusoidal.EaseInOut=function(k){return-0.5*(Math.cos(Math.PI*k)-1);};ig.Tween.Easing.Exponential.EaseIn=function(k){return k==0?0:Math.pow(2,10*(k-1));};ig.Tween.Easing.Exponential.EaseOut=function(k){return k==1?1:-Math.pow(2,-10*k)+1;};ig.Tween.Easing.Exponential.EaseInOut=function(k){if(k==0)return 0;if(k==1)return 1;if((k*=2)<1)return 0.5*Math.pow(2,10*(k-1));return 0.5*(-Math.pow(2,-10*(k-1))+2);};ig.Tween.Easing.Circular.EaseIn=function(k){return-(Math.sqrt(1-k*k)-1);};ig.Tween.Easing.Circular.EaseOut=function(k){return Math.sqrt(1-(--k*k));};ig.Tween.Easing.Circular.EaseInOut=function(k){if((k/=0.5)<1)return-0.5*(Math.sqrt(1-k*k)-1);return 0.5*(Math.sqrt(1-(k-=2)*k)+1);};ig.Tween.Easing.Elastic.EaseIn=function(k){var s,a=0.1,p=0.4;if(k==0)return 0;if(k==1)return 1;if(!p)p=0.3;if(!a||a<1){a=1;s=p/4;}
else s=p/(2*Math.PI)*Math.asin(1/a);return-(a*Math.pow(2,10*(k-=1))*Math.sin((k-s)*(2*Math.PI)/p));};ig.Tween.Easing.Elastic.EaseOut=function(k){var s,a=0.1,p=0.4;if(k==0)return 0;if(k==1)return 1;if(!p)p=0.3;if(!a||a<1){a=1;s=p/4;}
else s=p/(2*Math.PI)*Math.asin(1/a);return(a*Math.pow(2,-10*k)*Math.sin((k-s)*(2*Math.PI)/p)+1);};ig.Tween.Easing.Elastic.EaseInOut=function(k){var s,a=0.1,p=0.4;if(k==0)return 0;if(k==1)return 1;if(!p)p=0.3;if(!a||a<1){a=1;s=p/4;}
else s=p/(2*Math.PI)*Math.asin(1/a);if((k*=2)<1)return-0.5*(a*Math.pow(2,10*(k-=1))*Math.sin((k-s)*(2*Math.PI)/p));return a*Math.pow(2,-10*(k-=1))*Math.sin((k-s)*(2*Math.PI)/p)*0.5+1;};ig.Tween.Easing.Back.EaseIn=function(k){var s=1.70158;return k*k*((s+1)*k-s);};ig.Tween.Easing.Back.EaseOut=function(k){var s=1.70158;return(k=k-1)*k*((s+1)*k+s)+1;};ig.Tween.Easing.Back.EaseInOut=function(k){var s=1.70158*1.525;if((k*=2)<1)return 0.5*(k*k*((s+1)*k-s));return 0.5*((k-=2)*k*((s+1)*k+s)+2);};ig.Tween.Easing.Bounce.EaseIn=function(k){return 1-ig.Tween.Easing.Bounce.EaseOut(1-k);};ig.Tween.Easing.Bounce.EaseOut=function(k){if((k/=1)<(1/2.75)){return 7.5625*k*k;}else if(k<(2/2.75)){return 7.5625*(k-=(1.5/2.75))*k+0.75;}else if(k<(2.5/2.75)){return 7.5625*(k-=(2.25/2.75))*k+0.9375;}else{return 7.5625*(k-=(2.625/2.75))*k+0.984375;}};ig.Tween.Easing.Bounce.EaseInOut=function(k){if(k<0.5)return ig.Tween.Easing.Bounce.EaseIn(k*2)*0.5;return ig.Tween.Easing.Bounce.EaseOut(k*2-1)*0.5+0.5;};});
// lib/game/entities/logo.js
ig.baked=true;ig.module('game.entities.logo').requires('impact.entity','plugins.tween').defines(function(){EntityLogo=ig.Entity.extend({size:{x:873,y:105},animSheet:new ig.AnimationSheet('media/logo.png',873,105),init:function(x,y,settings){this.addAnim('idle',1,[0]);this.parent(x,y,settings);},});});
// lib/plugins/eventChain.js
ig.baked=true;ig.module('plugins.eventChain').requires('impact.impact').defines((function(global){'use strict';global.EventChain=function(){var steps,update;steps=[];update=function(){if(steps&&steps.length){steps[0]();}};update.then=function(doThis){steps.push(function(){doThis();steps.shift();});return this;};update.wait=function(secs){var decrement=secs;steps.push(function(){if(decrement){decrement-=ig.system.tick;}
if(decrement<=0){steps.shift();decrement=secs;}});return this;};update.during=function(doThis){if(!steps){throw new Error('during only works with previous step!');}
var func=steps[steps.length-1];steps[steps.length-1]=function(){doThis();func();};return this;};update.repeat=function(times){var stepsCopy,originalTimes;times=times||Infinity;originalTimes=times;steps.push(function(){times-=1;if(times>0){var args=stepsCopy.slice(0);args.unshift(1,0);[].splice.apply(steps,args);}else{times=originalTimes;}
steps.shift();});stepsCopy=steps.slice(0);return this;};update.every=function(sec,doThis){update.during(new global.EventChain().wait(sec).then(doThis).repeat());return this;};return update;};}).bind(this,this));
// lib/game/entities/healthBar.js
ig.baked=true;ig.module('game.entities.healthBar').requires('impact.game','impact.entity','impact.background-map').defines(function(){EntityHealthBar=ig.Entity.extend({size:{x:32,y:5},animSheet:new ig.AnimationSheet('media/HealthBar.png',32,5),Unit:0,init:function(x,y,settings){this.addAnim('10',1,[0]);this.addAnim('9',1,[1]);this.addAnim('8',1,[2]);this.addAnim('7',1,[3]);this.addAnim('6',1,[4]);this.addAnim('5',1,[5]);this.addAnim('4',1,[6]);this.addAnim('3',1,[7]);this.addAnim('2',1,[8]);this.addAnim('1',1,[9]);this.addAnim('0',1,[10]);this.parent(x,y,settings);this.zIndex=6;},update:function(){this.pos.x=this.Unit.pos.x-12;this.pos.y=this.Unit.pos.y-30;for(var i=10;i>-1;i--){if(this.Unit.health==this.Unit.maxHealth){this.currentAnim=this.anims[10];}
else if(this.Unit.health>=(this.Unit.maxHealth*(i*0.1))&&this.Unit.health<this.Unit.maxHealth*((i*0.1)+0.1)){this.currentAnim=this.anims[i];}else if(this.Unit.health<=0){this.kill();}}}});});
// lib/game/entities/badguy.js
ig.baked=true;ig.module('game.entities.badguy').requires('impact.entity','plugins.eventChain','impact.sound','game.entities.healthBar').defines(function(){EntityBadguy=ig.Entity.extend({animSheet:new ig.AnimationSheet('media/badguy.png',48,48),size:{x:18,y:12},offset:{x:25,y:25},type:ig.Entity.TYPE.A,checkAgainst:ig.Entity.TYPE.B,collides:ig.Entity.COLLIDES.ACTIVE,health:150,maxHealth:150,curHealth:150,speed:30,walkSequence:[0,1,2,3,4,5,6,7,6,5,4,3,2,1],deathSound:new ig.Sound('media/crunch.mp3'),hitSound:new ig.Sound('media/thud.mp3'),attacking:false,init:function(x,y,settings){var safeSpawns=settings.safeSpawns;var spawnLoc=safeSpawns[this.getRandom(0,safeSpawns.length+2)]
this.parent(spawnLoc[0],spawnLoc[1],settings);this.getRandomWalkOrder();this.centerOfScreen=[ig.system.realWidth/2,ig.system.realHeight/2];if(!ig.global.wm){ig.game.spawnEntity(EntityHealthBar,this.pos.x+200,this.pos.y,{Unit:this});}
this.addAnim('walk',.08,this.walkSequence)
this.currentAnim=this.anims.walk;},check:function(other){if(!other){if(this.health!==this.curHealth){ig.game.spawnEntity(EntityDeathExplosion,this.pos.x,this.pos.y+8,{colorOffset:1,type:'hit'})
this.curHealth=this.health;if(this.curHealth>0){this.hitSound.play();}}}else if(!this.timer){this.timer=new ig.Timer(1);}
if(this.timer.delta()>1){other.receiveDamage(300);this.timer.reset();}},getRandomWalkOrder:function(){var startLoc=this.getRandom(1,this.walkSequence.length);var firstHalf=this.walkSequence.slice(0,startLoc);var secondHalf=this.walkSequence.slice(startLoc,this.walkSequence.length);this.walkSequence=secondHalf.concat(firstHalf);},update:function(){var targetPath=this.getTargetPath()
this.maxMovementActive=false;this.getPath(targetPath[0],targetPath[1],true);this.followPath(this.speed);var headingToRadian={1:5.25,2:4.5,3:3.75,4:0,5:3,6:.75,7:1.5,8:2.25,0:0}
this.currentAnim=this.anims.walk;this.currentAnim.angle=headingToRadian[this.headingDirection];this.parent();},getTargetPath:function(){return[this.centerOfScreen[0],this.centerOfScreen[1]+60]},kill:function(){this.parent();this.deathSound.play();ig.game.spawnEntity(EntityDeathSplat,this.pos.x-(this.size.x/2),this.pos.y-14)
var randomSpawnSeed=Math.floor(Math.random()*this.safeSpawns.length)
ig.game.activeMobs--;ig.game.wave.totalMobs--;GLOBAL_STATE.score+=15;},getRandom:function(min,max){var random=Math.floor(Math.random()*((max-1)-(min+1)));return random;}});EntityDeathSplat=ig.Entity.extend({lifetime:3,fadetime:1,animSheet:new ig.AnimationSheet('media/splatter.png',32,32),init:function(x,y,settings){this.parent(x,y,settings);var randomSplat=this.getRandom(0,2);this.addAnim('splat',1,[randomSplat])
this.splatTimer=new ig.Timer();},update:function(){if(this.splatTimer.delta()>this.lifetime){this.kill();return;}
this.currentAnim.alpha=this.splatTimer.delta().map(this.lifetime-this.fadetime,this.lifetime,1,0);this.parent();},draw:function(){this.parent();this.zIndex=-1;ig.game.sortEntitiesDeferred();},getRandom:function(min,max){var random=Math.floor(Math.random()*(max-min+1))+min;return random;}});});
// lib/game/entities/circle.js
ig.baked=true;ig.module('game.entities.circle').requires('impact.entity').defines(function(){EntityCircle=ig.Entity.extend({animSheet:new ig.AnimationSheet('media/circle.png',45,45),collides:ig.Entity.COLLIDES.PASSIVE,type:ig.Entity.TYPE.A,checkAgainst:ig.Entity.TYPE.A,size:{x:45,y:45},clicked:undefined,rightClickCount:0,bounciness:.4,tightness:7,powerUpStartFunction:function(){},powerUpStopFunction:function(){},font:new ig.Font('media/04b03.font.png'),init:function(x,y,settings){this.powerModifier=1;this.currentPowerup="";this.maxVel.x=2000;this.maxVel.y=2000;this.addAnim('idle',1,[0])
this.addAnim('yellow',1,[1])
this.addAnim('red',1,[2])
this.parent(x,y,settings);},attach:function(start,finish){this.powerUpStartFunction=start;this.powerUpStopFunction=finish;},check:function(other){var force=((Math.abs(this.vel.x.round())+Math.abs(this.vel.y.round()))*.55)/10;var damage=force*this.powerModifier;if(damage>20&&!GLOBAL_STATE.gameOver){if(this.powerModifier<2.5){GLOBAL_STATE.score+=10;this.powerModifier+=.1;}
other.receiveDamage(damage);}},update:function(){if(this.clickOnMe()){this.clicked=true;GLOBAL_STATE.dragging=true;}
if(ig.input.pressed('click')&&!this.powerupActive){this.powerUpStartFunction();}
if((this.powerupActive&&(this.powerUpTimer.delta()>this.timeOut))||ig.input.pressed('rightclick')){this.powerUpStopFunction();}
if(GLOBAL_STATE.dragging){this.setVelocity();}
this.parent();},draw:function(){if(GLOBAL_STATE.dragging){if(!this.mouseOverHud()){var centerOfCircle=[this.pos.x+((this.size.x)/2),this.pos.y+((this.size.y)/2)];var centerOfMouse=[ig.input.mouse.x,this.getMouseY()];var angle=Math.atan2(centerOfMouse[1]-this.pos.y,centerOfMouse[0]-this.pos.x);ig.system.context.strokeStyle="grey";ig.system.context.beginPath();ig.system.context.moveTo(centerOfCircle[0],centerOfCircle[1]);ig.system.context.lineTo(centerOfMouse[0],centerOfMouse[1]);ig.system.context.closePath();ig.system.context.stroke();this.currentAnim.angle=angle;}}else{this.font.draw('Click Me to begin!',this.pos.x+22,this.pos.y-10,ig.Font.ALIGN.CENTER)}
var force=Math.abs(this.vel.x).round()+Math.abs(this.vel.y).round()
if(force<400){this.currentAnim=this.anims.idle;}else if(force>=400&&force<800){this.currentAnim=this.anims.yellow;}else if(force>=800){this.currentAnim=this.anims.red;}
this.parent();},setVelocity:function(){if(!this.mouseOverHud()){var difX=((ig.input.mouse.x-(this.size.x/2))-this.pos.x).round();var difY=((this.getMouseY()-(this.size.y/2))-this.pos.y).round();if(difX>0){this.accel.x=-difX*-this.tightness;}else if(difX<0){this.accel.x=difX*this.tightness;}else{this.accel.x=0;}
if(difY>0){this.accel.y=-difY*-this.tightness;}else if(difY<0){this.accel.y=difY*this.tightness;}else{this.accel.y=0;}
this.setDecay(difX,difY);}},setDecay:function(difX,difY){var decayRate=Math.sqrt(difX*difX+difY*difY);if(this.vel.x>0){this.accel.x-=decayRate;}else if(this.vel.x<0){this.accel.x+=decayRate;}
if(this.vel.y>0){this.accel.y-=decayRate;}else if(this.vel.y<0){this.accel.y+=decayRate;}},clickOnMe:function(){return ig.input.pressed('click')&&(ig.input.mouse.y>this.pos.y&&ig.input.mouse.y<this.pos.y+this.size.y)&&(ig.input.mouse.x>this.pos.x&&ig.input.mouse.x<this.pos.x+this.size.x);},handleMovementTrace:function(res){if((res.collision.x||res.collision.y)&&!this.powerupActive){this.powerModifier=1;}
this.parent(res);},getMouseY:function(){if(ig.input.mouse.y<140){return 140;}
return ig.input.mouse.y;},mouseOverHud:function(){return this.getMouseY()===140&&ig.input.mouse.x>750;}});});
// lib/game/entities/base.js
ig.baked=true;ig.module('game.entities.base').requires('impact.entity').defines(function(){EntityBase=ig.Entity.extend({size:{x:72,y:72},offset:{x:1,y:1},health:10000,curHealth:10000,maxHealth:10000,type:ig.Entity.TYPE.B,checkAgainst:ig.Entity.TYPE.A,collides:ig.Entity.COLLIDES.NONE,animSheet:new ig.AnimationSheet('media/base.png',72,72),init:function(x,y,settings){this.addAnim('ten',1,[0]);this.addAnim('eight',1,[1]);this.addAnim('six',1,[2]);this.addAnim('four',1,[3]);this.addAnim('two',1,[4]);this.parent(x,y,settings);},check:function(other){},draw:function(){this.parent();if(this.health===this.maxHealth){this.currentAnim=this.anims.ten;}else if(this.health>8000&&this.health<9000){this.currentAnim=this.anims.eight;}else if(this.health>6000&&this.health<8000){this.currentAnim=this.anims.six;}else if(this.health>4000&&this.health<6000){this.currentAnim=this.anims.four;}else if(this.health>2000&&this.health<4000){this.currentAnim=this.anims.two;}
this.zIndex=-10;},kill:function(){this.parent();ig.game.spawnEntity('EntityGameOver',340,-30);}});});
// lib/game/baseLevel.js
ig.baked=true;ig.module('game.baseLevel').requires('impact.game','game.hud','plugins.tween').defines(function(){BaseLevel=ig.Game.extend({lastWave:false,init:function(wave,level){GLOBAL_STATE.gameOver=false;this.setNextWave(wave);this.loadLevel(level);this.base=ig.game.spawnEntity('EntityBase',473,385);this.player=ig.game.spawnEntity('EntityCircle',490,300);this.hud=new Hud(this.player,this.base);this.gameTearDown=function(nextLevel){GLOBAL_STATE.hasPowerup=false;this.base.kill();this.player.kill();if(nextLevel){ig.system.setGame(nextLevel);}}},update:function(){this.parent();this.spawnChain();if(this.waveDone()){if(!this.lastWave&&!this.lastLevel){this.setNextWave(this.wave.next);ig.game.spawnEntity('EntityWaveOver',340,-30);}else if(this.lastWave&&!this.lastLevel){this.levelOverTimer=new ig.Timer();this.wave.totalMobs=1;ig.game.spawnEntity('EntityLevelOver',324,-30);}else if(!this.lastWave&&this.lastLevel){this.wave.totalMobs=1;ig.game.spawnEntity('EntityWin',359,223);}}},setNextWave:function(wave){this.activeMobs=0;this.wave=wave;this.wave.chain(this);this.lastLevel=wave.lastLevel;},draw:function(){this.parent();this.hud.drawHud();},spawnBadGuy:function(){ig.game.spawnEntity('EntityBadguy',0,0,{safeSpawns:this.safeSpawns});this.activeMobs++;},waveDone:function(){return this.activeMobs===0&&this.wave.totalMobs===0;},levelDone:function(){return true;},});});
// lib/game/entities/waveOver.js
ig.baked=true;ig.module('game.entities.waveOver').requires('impact.entity','plugins.tween').defines(function(){EntityWaveOver=ig.Entity.extend({animSheet:new ig.AnimationSheet('media/waveOver.png',344,35),init:function(x,y,settings){this.addAnim('idle',1,[0]);this.parent(x,y,settings);this.timer=new ig.Timer()},draw:function(){if(this.timer.delta()<2){this.tween({pos:{x:340,y:335}},.2).start();}else{this.tween({pos:{x:340,y:800}},.2).start();}
if(this.timer.delta()>3){this.kill()}
this.parent();}});});
// lib/game/entities/gameOver.js
ig.baked=true;ig.module('game.entities.gameOver').requires('impact.entity','plugins.tween').defines(function(){EntityGameOver=ig.Entity.extend({animSheet:new ig.AnimationSheet('media/gameOver.png',344,35),init:function(x,y,settings){this.addAnim('idle',1,[0]);this.parent(x,y,settings);this.timer=new ig.Timer();GLOBAL_STATE.gameOver=true;},draw:function(){if(this.timer.delta()<2){this.tween({pos:{x:340,y:335}},.2).start();}
if(this.timer.delta()>5){this.kill();GLOBAL_STATE.dragging=false;ig.game.spawnEntity('EntityGameOverEntity',368,223);}
this.parent();}});});
// lib/game/entities/gameOverEntity.js
ig.baked=true;ig.module('game.entities.gameOverEntity').requires('impact.entity','plugins.tween').defines(function(){EntityGameOverEntity=ig.Entity.extend({size:{x:288,y:255},dither:new ig.Image('media/dither.png'),animSheet:new ig.AnimationSheet('media/gameOverScreen.png',288,255),init:function(x,y,settings){this.addAnim('idle',1,[0]);this.parent(x,y,settings);this.currentAnim=this.anims.idle;this.dither.draw(0,0);},update:function(){this.parent();if(this.clickOnMe()){GLOBAL_STATE.score=0;GLOBAL_STATE.dragging=false;ig.game.gameTearDown(StartScreen);}},draw:function(){this.dither.draw(0,0);this.parent();},clickOnMe:function(){return ig.input.released('click')&&(ig.input.mouse.y>this.pos.y&&ig.input.mouse.y<this.pos.y+this.size.y)&&(ig.input.mouse.x>this.pos.x&&ig.input.mouse.x<this.pos.x+this.size.x);},});});
// lib/game/entities/levelOver.js
ig.baked=true;ig.module('game.entities.levelOver').requires('impact.entity','plugins.tween').defines(function(){EntityLevelOver=ig.Entity.extend({animSheet:new ig.AnimationSheet('media/levelOver.png',377,35),init:function(x,y,settings){this.addAnim('idle',1,[0]);this.parent(x,y,settings);this.timer=new ig.Timer()},draw:function(){if(this.timer.delta()<2){this.tween({pos:{x:324,y:335}},.2).start();}
if(this.timer.delta()>5){this.kill()
ig.game.spawnEntity('EntityLevelOverEntity',359,223);}
this.parent();}});});
// lib/game/entities/levelOverEntity.js
ig.baked=true;ig.module('game.entities.levelOverEntity').requires('impact.entity','plugins.tween').defines(function(){EntityLevelOverEntity=ig.Entity.extend({size:{x:270,y:255},dither:new ig.Image('media/dither.png'),animSheet:new ig.AnimationSheet('media/nextLevel.png',270,255),init:function(x,y,settings){this.addAnim('idle',1,[0]);this.parent(x,y,settings);this.currentAnim=this.anims.idle;this.dither.draw(0,0);this.timer=new ig.Timer()},update:function(){this.parent();if(this.timer.delta()>3){ig.game.lastWave=false;ig.game.gameTearDown(ig.game.nextLevel);delete this.timer;}},draw:function(){this.dither.draw(0,0);this.parent();}});});
// lib/game/entities/win.js
ig.baked=true;ig.module('game.entities.win').requires('impact.entity','plugins.tween').defines(function(){EntityWin=ig.Entity.extend({size:{x:270,y:255},dither:new ig.Image('media/dither.png'),animSheet:new ig.AnimationSheet('media/thanks.png',270,255),init:function(x,y,settings){this.addAnim('idle',1,[0]);this.parent(x,y,settings);this.currentAnim=this.anims.idle;this.dither.draw(0,0);},update:function(){this.parent();if(this.clickOnMe()){ig.game.gameTearDown(StartScreen);}},draw:function(){this.dither.draw(0,0);this.parent();},clickOnMe:function(){return ig.input.released('click')&&(ig.input.mouse.y>this.pos.y&&ig.input.mouse.y<this.pos.y+this.size.y)&&(ig.input.mouse.x>this.pos.x&&ig.input.mouse.x<this.pos.x+this.size.x);},});});
// lib/game/waves.js
ig.baked=true;ig.module('game.waves').requires('impact.game').defines(function(){Wave={getWave:function(simulCount,badGuyCount,delayBetween,lastWave,level){var self=this;var simulFunc=function(){for(var i=0;i<simulCount;i++){level.spawnBadGuy();}};level.spawnChain=new EventChain().wait(delayBetween).then(function(){simulFunc();}).repeat(badGuyCount);level.lastWave=lastWave;}}});
// lib/game/screens.js
ig.baked=true;ig.module('game.screens').requires('impact.game','impact.font').defines(function(){StartScreen=ig.Game.extend({text:new ig.Image('media/instructions.png'),textClick:new ig.Image('media/instructions2.png'),majorImage:new ig.Image('media/majorImage.png',1000,357),init:function(){this.setupBindings();this.logo=ig.game.spawnEntity('EntityLogo',-2000,20);},update:function(){if(ig.input.pressed('enter')||ig.input.pressed('click')){ig.system.setGame(Tutorial);}
this.parent();},draw:function(){var x=ig.system.width/2,y=ig.system.height/2;this.parent();this.logo.tween({pos:{x:70,y:20}},.2).start();this.majorImage.draw(0,ig.system.height-357);this.text.draw(x,y-100);this.textClick.draw(x,y-65);},setupBindings:function(){ig.input.bind(ig.KEY.MOUSE1,'click');ig.input.bind(ig.KEY.MOUSE2,'rightclick');ig.input.bind(ig.KEY.SPACE,'space');ig.input.bind(ig.KEY.ENTER,'enter');}});});
// lib/game/globalState.js
ig.baked=true;ig.module('game.globalState').requires('impact.game').defines(function(){GLOBAL_STATE={dragging:false,hasPowerup:false,score:0,gameOver:false,}});
// lib/game/levelwaves/levelWaves.js
ig.baked=true;ig.module('game.levelwaves.levelWaves').requires('impact.game','game.waves').defines(function(){LevelThreeWaves=ig.Class.extend({waveData:function(){return{totalMobs:4,chain:function(game){Wave.getWave(2,2,2,false,game);},next:this.secondWave()}},secondWave:function(){return{totalMobs:4,chain:function(game){Wave.getWave(1,4,3,false,game);},next:this.thirdWave()}},thirdWave:function(){return{totalMobs:8,chain:function(game){Wave.getWave(4,2,3,false,game);},next:this.fourthWave()}},fourthWave:function(){return{totalMobs:16,chain:function(game){Wave.getWave(4,4,3,false,game);},next:this.lastWave()}},lastWave:function(){return{totalMobs:18,chain:function(game){Wave.getWave(2,9,2,false,game);},next:{chain:function(){}},lastLevel:true}}});LevelTwoWaves=ig.Class.extend({waveData:function(){return{totalMobs:2,chain:function(game){Wave.getWave(1,2,1,false,game);},next:this.secondWave()}},secondWave:function(){return{totalMobs:6,chain:function(game){Wave.getWave(3,2,3,false,game);},next:this.thirdWave()}},thirdWave:function(){return{totalMobs:12,chain:function(game){Wave.getWave(4,3,3,true,game);},next:{chain:function(){}},}}});LevelOneWaves=ig.Class.extend({waveData:function(){return{totalMobs:2,chain:function(game){Wave.getWave(1,2,2,false,game);},next:this.secondWave()}},secondWave:function(){return{totalMobs:4,chain:function(game){Wave.getWave(2,2,4,false,game);},next:this.thirdWave()}},thirdWave:function(){return{totalMobs:6,chain:function(game){Wave.getWave(3,2,1,false,game);},next:this.lastWave()}},lastWave:function(){return{totalMobs:6,chain:function(game){Wave.getWave(6,1,4,true,game);},next:{chain:function(){}}}}});});
// lib/game/main.js
ig.baked=true;ig.module('game.main').requires('impact.game','impact.font','game.hud','game.levels.level1','game.levels.level2','game.levels.level3','plugins.preloader','plugins.astar-for-entities','plugins.tween','game.entities.logo','game.entities.badguy','game.entities.circle','game.entities.base','game.baseLevel','game.entities.waveOver','game.entities.gameOver','game.entities.gameOverEntity','game.entities.levelOver','game.entities.levelOverEntity','game.entities.win','game.waves','game.screens','game.globalState','game.levelwaves.levelWaves').defines(function(){Level2=BaseLevel.extend({safeSpawns:[[165,257],[849,641]],init:function(){var wave=new LevelThreeWaves().waveData();this.parent(wave,LevelLevel3);},nextLevel:StartScreen});Level1=BaseLevel.extend({safeSpawns:[[509,201],[229,461],[437,629],[581,529],[793,461]],init:function(){var wave=new LevelTwoWaves().waveData();this.parent(wave,LevelLevel2);},nextLevel:Level2});Tutorial=BaseLevel.extend({safeSpawns:[[385,177],[601,177],[797,377],[601,609],[385,609],[177,377]],init:function(){var wave=new LevelOneWaves().waveData();this.parent(wave,LevelLevel1);},nextLevel:Level1});ig.Sound.enabled=false;ig.main('#canvas',StartScreen,60,1024,700,1,MyLoader);});