/*! Built with IMPACT - impactjs.com */

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(bind){var self=this;return function(){var args=Array.prototype.slice.call(arguments);return self.apply(bind||null,args);};};(function(window){window.ig={game:null,debug:null,version:'1.19',global:window,modules:{},resources:[],ready:false,baked:false,nocache:'',ua:{},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;},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);ig._initDOMReady();return ig;},requires:function(){ig._current.requires=Array.prototype.slice.call(arguments);return ig;},defines:function(body){name=ig._current.name;ig._current.body=body;ig._current=null;ig._execModules();},addResource:function(resource){ig.resources.push(resource);},setNocache:function(set){ig.nocache=set?'?'+Date.now():'';},log:function(){},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.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']){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);}}};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.constructor=Class;Class.extend=arguments.callee;Class.inject=inject;return Class;};})(window);

// lib/impact/image.js
ig.baked=true;ig.module('impact.image').defines(function(){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=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;if(ig.system.scale!=1){this.resize(ig.system.scale);}
this.loaded=true;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 widthScaled=this.width*scale;var heightScaled=this.height*scale;var orig=ig.$new('canvas');orig.width=this.width;orig.height=this.height;var origCtx=orig.getContext('2d');origCtx.drawImage(this.data,0,0,this.width,this.height,0,0,this.width,this.height);var origPixels=origCtx.getImageData(0,0,this.width,this.height);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=tileWidth*scale;var tileHeightScaled=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(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(){ig.Font=ig.Image.extend({widthMap:[],indices:[],firstChar:32,height:0,onload:function(ev){this._loadMetrics(this.data);this.parent(ev);},widthForString:function(s){if(typeof(s)=='undefined'||s==null){return 0;}
var width=0;for(var i=0;i<s.length;i++){width+=this.widthMap[s.charCodeAt(i)-this.firstChar]+1;}
return width;},draw:function(text,x,y,align){if(typeof(text)!='string'){text=text.toString();}
if(text.indexOf('\n')!==-1){var lines=text.split('\n');for(i=0;i<lines.length;i++){this.draw(lines[i],x,y+i*this.height,align);}
return;}
if(align==ig.Font.ALIGN.RIGHT||align==ig.Font.ALIGN.CENTER){var width=0;for(var i=0;i<text.length;i++){var c=text.charCodeAt(i);width+=this.widthMap[c-this.firstChar]+1;}
x-=align==ig.Font.ALIGN.CENTER?width/2:width;}
for(var i=0;i<text.length;i++){var c=text.charCodeAt(i);x+=this._drawChar(c-this.firstChar,x,y);}
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]+1;},_loadMetrics:function(image){this.height=image.height-1;this.widthMap=[];this.indices=[];var canvas=ig.$new('canvas');canvas.width=image.width;canvas.height=image.height;var ctx=canvas.getContext('2d');ctx.drawImage(image,0,0);var px=ctx.getImageData(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]!=0){currentWidth++;}
else if(px.data[index]==0&&currentWidth){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(){ig.SoundManager=ig.Class.extend({clips:{},volume:1,format:null,init:function(){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=path.match(/^(.*)\.[^\.]+$/)[1]+'.'+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(ev){this.removeEventListener('canplaythrough',arguments.callee,false);loadCallback(path,true,ev);},false);clip.addEventListener('error',function(ev){loadCallback(path,true,ev);},false);}
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,oneshot: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;}},getOneshot:function(){return this.oneshot;},setOneshot:function(val){this.oneshot=val;},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 if(this.oneshot){}
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(){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(){ig.Timer=ig.Class.extend({target:0,base:0,last: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;},reset:function(){this.base=ig.Timer.time;},tick:function(){var delta=ig.Timer.time-this.last;this.last=ig.Timer.time;return delta;},delta:function(){return ig.Timer.time-this.base-this.target;}});ig.Timer._last=0;ig.Timer.time=0;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(){ig.System=ig.Class.extend({fps:30,width:320,height:240,realWidth:320,realHeight:240,scale:1,tick:0,intervalId:0,newGameClass:null,running:false,delegate:null,clock:null,canvas:null,context:null,smoothPositioning:true,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');},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(){clearInterval(this.intervalId);this.running=false;},startRunLoop:function(){this.stopRunLoop();this.intervalId=setInterval(this.run.bind(this),1000/this.fps);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:function(p){return this.smoothPositioning?Math.round(p*this.scale):Math.round(p)*this.scale;}});});

// lib/impact/input.js
ig.baked=true;ig.module('impact.input').defines(function(){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;window.addEventListener('mousewheel',this.mousewheel.bind(this),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 code=event.wheel>0?ig.KEY.MWHEEL_UP:ig.KEY.MWHEEL_DOWN;var action=this.bindings[code];if(action){this.actions[action]=true;this.presses[action]=true;event.stopPropagation();this.delayedKeyup[action]=true;}},mousemove:function(event){var el=ig.system.canvas;var pos={left:0,top:0};while(el!=null){pos.left+=el.offsetLeft;pos.top+=el.offsetTop;el=el.offsetParent;}
var tx=event.pageX;var ty=event.pageY;if(event.touches){tx=event.touches[0].clientX;ty=event.touches[0].clientY;}
this.mouse.x=(tx-pos.left)/ig.system.scale;this.mouse.y=(ty-pos.top)/ig.system.scale;},contextmenu:function(event){if(this.bindings[ig.KEY.MOUSE2]){event.stopPropagation();event.preventDefault();}},keydown:function(event){if(event.target.type=='text'){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){if(event.target.type=='text'){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(){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(){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.reset();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(){ig.Entity=ig.Class.extend({id:0,settings:{},etype:'',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-=s.nx*proj*2;this.vel.y-=s.ny*proj*2;this.vel.x*=this.bounciness;this.vel.y*=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.etype=='blocket'&&b.etype=='blocket'&&a.collides==ig.Entity.COLLIDES.FIXED&&b.collides==ig.Entity.COLLIDES.FIXED){a.pos.x=a.last.x;a.pos.y=a.last.y;b.pos.x=b.last.x;b.pos.y=b.last.y;}else 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(){ig.Map=ig.Class.extend({tilesize:8,width:1,height:1,data:[[]],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(){ig.CollisionMap=ig.Map.extend({init:function(tilesize,data,tiledef){this.parent(tilesize,data);this.tiledef=tiledef||ig.CollisionMap.defaultTileDef;},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&&this._checkTileDef(res,t,x,y,rvx,rvy,width,height,prevTileX,tileY)){break;}}
t=this.data[tileY][tileX];if(t==1||(t>1&&this._checkTileDef(res,t,x,y,rvx,rvy,width,height,tileX,tileY))){if(t>1&&res.collision.slope){break;}
res.collision.x=true;res.tile.x=t;res.pos.x=tileX*this.tilesize-pxOffsetX+tileOffsetX;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&&this._checkTileDef(res,t,x,y,rvx,rvy,width,height,tileX,prevTileY)){break;}}
t=this.data[tileY][tileX];if(t==1||(t>1&&this._checkTileDef(res,t,x,y,rvx,rvy,width,height,tileX,tileY))){if(t>1&&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 true;}
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(){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){dx%=this.width*this.tilesize*ig.system.scale;dy%=this.height*this.tilesize*ig.system.scale;}
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>0?tileY%this.height:((tileY+1)%this.height)+this.height-1;}
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>0?tileX%this.width:((tileX+1)%this.width)+this.width-1;}
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(){ig.Game=ig.Class.extend({clearColor:'#000000',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=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.name=ld.name;newMap.anims=this.backgroundAnims[ld.tilesetName]||{};newMap.repeat=ld.repeat;newMap.distance=ld.distance;newMap.foreground=!!ld.foreground;newMap.preRender=!!ld.preRender;this.backgroundMaps.push(newMap);}}
for(var i=0;i<this.entities.length;i++){this.entities[i].ready();}},loadLevelDeferred:function(data){this._levelToLoad=data;},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.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=Math.round(this.screen.x*ig.system.scale)/ig.system.scale;this._rscreen.y=Math.round(this.screen.y*ig.system.scale)/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-b.pos.x;},POS_Y:function(a,b){return a.pos.y-b.pos.y;}};});ig.goddjs={fps:60,width:768,height:480,scale:1};

// lib/plugins/impact/impact-splash-loader.js
ig.baked=true;ig.module('plugins.impact.impact-splash-loader').requires('impact.loader').defines(function(){ig.ImpactSplashLoader=ig.Loader.extend({endTime:0,fadeToBlackTime:200,fadeToGameTime:800,logoWidth:340,logoHeight:120,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.fadeToBlackTime){this.draw();alpha=t.map(0,this.fadeToBlackTime,0,1);}
else if(t<this.fadeToGameTime){ig.game.run();alpha=t.map(this.fadeToBlackTime,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._drawStatus+=(this.status-this._drawStatus)/5;var ctx=ig.system.context;var w=ig.system.realWidth;var h=ig.system.realHeight;var scale=w/this.logoWidth/3;var center=(w-this.logoWidth*scale)/2;ctx.fillStyle='rgba(0,0,0,0.8)';ctx.fillRect(0,0,w,h);ctx.fillStyle='rgb(128,128,128)';ctx.textAlign='right';ctx.font='10px Arial';ctx.fillText('http://impactjs.com',w-10,h-10);ctx.textAlign='left';ctx.save();ctx.translate(center,h/2.5);ctx.scale(scale,scale);ctx.lineWidth='3';ctx.strokeStyle='rgb(255,255,255)';ctx.strokeRect(25,this.logoHeight+40,300,20);ctx.fillStyle='rgb(255,255,255)';ctx.fillRect(30,this.logoHeight+45,290*this._drawStatus,10);this.drawPaths('rgb(255,255,255)',ig.ImpactSplashLoader.PATHS_IMPACT);var comet=ig.ImpactSplashLoader.PATHS_COMET;comet[5][0]=3-Math.random()*this._drawStatus*7;comet[5][1]=3-Math.random()*this._drawStatus*10;comet[7][0]=29.5-Math.random()*this._drawStatus*10;comet[7][1]=40.4-Math.random()*this._drawStatus*10;comet[9][0]=16.1-Math.random()*this._drawStatus*10;comet[9][1]=36.1-Math.random()*this._drawStatus*5;ctx.translate(-Math.random()*this._drawStatus*7,-Math.random()*this._drawStatus*5);this.drawPaths('rgb(243,120,31)',comet);ctx.restore();},drawPaths:function(color,paths){var ctx=ig.system.context;ctx.fillStyle=color;for(var i=0;i<paths.length;i+=2){ctx[ig.ImpactSplashLoader.OPS[paths[i]]].apply(ctx,paths[i+1]);}}});ig.ImpactSplashLoader.OPS={bp:'beginPath',cp:'closePath',f:'fill',m:'moveTo',l:'lineTo',bc:'bezierCurveTo'};ig.ImpactSplashLoader.PATHS_COMET=['bp',[],'m',[85.1,58.3],'l',[0.0,0.0],'l',[29.5,40.4],'l',[16.1,36.1],'l',[54.6,91.6],'bc',[65.2,106.1,83.4,106.7,93.8,95.7],'bc',[103.9,84.9,98.6,67.6,85.1,58.3],'cp',[],'m',[76.0,94.3],'bc',[68.5,94.3,62.5,88.2,62.5,80.8],'bc',[62.5,73.3,68.5,67.2,76.0,67.2],'bc',[83.5,67.2,89.6,73.3,89.6,80.8],'bc',[89.6,88.2,83.5,94.3,76.0,94.3],'cp',[],'f',[]];ig.ImpactSplashLoader.PATHS_IMPACT=['bp',[],'m',[128.8,98.7],'l',[114.3,98.7],'l',[114.3,26.3],'l',[128.8,26.3],'l',[128.8,98.7],'cp',[],'f',[],'bp',[],'m',[159.2,70.1],'l',[163.6,26.3],'l',[184.6,26.3],'l',[184.6,98.7],'l',[170.3,98.7],'l',[170.3,51.2],'l',[164.8,98.7],'l',[151.2,98.7],'l',[145.7,50.7],'l',[145.7,98.7],'l',[134.1,98.7],'l',[134.1,26.3],'l',[155.0,26.3],'l',[159.2,70.1],'cp',[],'f',[],'bp',[],'m',[204.3,98.7],'l',[189.8,98.7],'l',[189.8,26.3],'l',[211.0,26.3],'bc',[220.0,26.3,224.5,30.7,224.5,39.7],'l',[224.5,60.1],'bc',[224.5,69.1,220.0,73.6,211.0,73.6],'l',[204.3,73.6],'l',[204.3,98.7],'cp',[],'m',[207.4,38.7],'l',[204.3,38.7],'l',[204.3,61.2],'l',[207.4,61.2],'bc',[209.1,61.2,210.0,60.3,210.0,58.6],'l',[210.0,41.3],'bc',[210.0,39.5,209.1,38.7,207.4,38.7],'cp',[],'f',[],'bp',[],'m',[262.7,98.7],'l',[248.3,98.7],'l',[247.1,88.2],'l',[238.0,88.2],'l',[237.0,98.7],'l',[223.8,98.7],'l',[233.4,26.3],'l',[253.1,26.3],'l',[262.7,98.7],'cp',[],'m',[239.4,75.5],'l',[245.9,75.5],'l',[242.6,43.9],'l',[239.4,75.5],'cp',[],'f',[],'bp',[],'m',[300.9,66.7],'l',[300.9,85.9],'bc',[300.9,94.9,296.4,99.4,287.4,99.4],'l',[278.5,99.4],'bc',[269.5,99.4,265.1,94.9,265.1,85.9],'l',[265.1,39.1],'bc',[265.1,30.1,269.5,25.6,278.5,25.6],'l',[287.2,25.6],'bc',[296.2,25.6,300.7,30.1,300.7,39.1],'l',[300.7,56.1],'l',[286.4,56.1],'l',[286.4,40.7],'bc',[286.4,38.9,285.6,38.1,283.8,38.1],'l',[282.1,38.1],'bc',[280.4,38.1,279.5,38.9,279.5,40.7],'l',[279.5,84.3],'bc',[279.5,86.1,280.4,86.9,282.1,86.9],'l',[284.0,86.9],'bc',[285.8,86.9,286.6,86.1,286.6,84.3],'l',[286.6,66.7],'l',[300.9,66.7],'cp',[],'f',[],'bp',[],'m',[312.5,98.7],'l',[312.5,39.2],'l',[303.7,39.2],'l',[303.7,26.3],'l',[335.8,26.3],'l',[335.8,39.2],'l',[327.0,39.2],'l',[327.0,98.7],'l',[312.5,98.7],'cp',[],'f',[]];});

// lib/game/entities/special/projectile.js
ig.baked=true;ig.module('game.entities.special.projectile').requires('impact.entity').defines(function(){EntityProjectile=ig.Entity.extend({size:{x:4,y:4},offset:{x:2,y:2},damage:10,name:'projectile',etype:'projectile',gravityFactor:.4,maxVel:{x:200,y:200},bounciness:.6,shootsound:'shoot',lifetime:-1,lift:.35,type:ig.Entity.TYPE.NONE,checkAgainst:ig.Entity.TYPE.BOTH,collides:ig.Entity.COLLIDES.PASSIVE,playerkill:false,animSheet:null,bouncemax:1,bounceCounter:0,projdievel:10,killer:'',zIndex:38,canfizzle:false,canexplode:false,fizzlesound:'fizzle',explodesound:'explode',team:'bloo',collidetiles:[false,true,false,false],flip:{x:false,y:false},angle:0,alpha:1,init:function(x,y,settings){this.parent(x,y,settings);if(settings.damage){this.damage=settings.damage;}
this.setVel(settings);if(ig.game.backpack.projcount>ig.game.backpack.projcountmax){this.projFizzle('timer');this.kill('toomany');return;}else{ig.game.backpack.projcount++;}
ig.game.mySounds.play(this.shootsound);if(this.lifetime>0){this.timer=new ig.Timer(this.lifetime);}},postAnimSet:function(anim,direction){anim.flip=this.flip;anim.angle=this.angle.toRad();if(typeof(direction)!='undefined'){this.animDirections[direction]=anim;}},setVel:function(settings){var yfactor=MyGame.GVault.world=="flat"?0:this.lift;if(settings.facing=="up"){this.vel.x=0;this.vel.y=-1*this.maxVel.y;}else if(settings.facing=="down"){this.vel.x=0;this.vel.y=this.maxVel.y;}else if(settings.facing=="left"){this.vel.x=-1*this.maxVel.x;this.vel.y=-1*this.maxVel.y*yfactor;}else if(settings.facing=="right"){this.vel.x=this.maxVel.x;this.vel.y=-1*this.maxVel.y*yfactor;}},handleMovementTrace:function(res){this.parent(res);if(res.collision.x||res.collision.y){this.bounceCounter++;if(this.bounceCounter>this.bouncemax){ig.game.backpack.projcount--;if(ig.game.backpack.projcount<0){ig.game.backpack.projcount=0;}
this.kill('hitwall',res);}}},check:function(other){if(!this.playerkill&&typeof(other.name)!='undefined'&&other.name=='player'){ig.game.backpack.projcount--;this.kill('hitnohurt',other);return;}
other.receiveDamage(this.damage,this);ig.game.backpack.projcount--;this.kill('hit',other);},update:function(){if(this.lifetime>0&&this.timer.delta()>0){ig.game.backpack.projcount--;this.kill('timedout');return;}
this.parent();var mustdie=false;if(this.bounceCounter>0&&Math.abs(this.vel.x)<=this.projdievel&&Math.abs(this.vel.y)<=this.projdievel){ig.game.backpack.projcount--;this.kill('slowed');return;}
if(this.pos.x>ig.game.mapWidth){}else if(this.pos.x<0){}else if(this.pos.y>ig.game.mapHeight){}else if(this.pos.y<0){}else{return;}
ig.game.backpack.projcount--;this.kill('outofbounds');},projFizzle:function(how){if(!this.canfizzle){return;}
ig.game.mySounds.play(this.fizzlesound);var x=this.pos.x+this.size.x/2;var y=this.pos.y+this.size.y/2;ig.game.spawnEntity(EntityExplosion,x,y,{fizzle:true});ig.game.sortEntitiesDeferred();},projExplode:function(other){if(!this.canexplode){return;}
ig.game.mySounds.play(this.explodesound);var x=this.pos.x+this.size.x/2;var y=this.pos.y+this.size.y/2;ig.game.spawnEntity(EntityExplosion,x,y,{fizzle:false});ig.game.sortEntitiesDeferred();},touches:function(other){if(other.etype=='wallb'){return false;}
return this.parent(other);},kill:function(how,other){if(how=='hit'){this.projExplode(other);}else if(how=='outofbounds'||how=='toomany'){}else if(how=='slowed'||how=='timedout'||how=='hitwall'){this.projFizzle(how);}else if(how=='hitnohurt'){}
this.parent();}});});

// lib/game/entities/special/bullet.js
ig.baked=true;ig.module('game.entities.special.bullet').requires('game.entities.special.projectile').defines(function(){EntityBullet=EntityProjectile.extend({name:'bullet',size:{x:4,y:4},offset:{x:2,y:2},damage:10,gravityFactor:.4,maxVel:{x:200,y:200},bounciness:.6,lifetime:2.5,animSheet:new ig.AnimationSheet('media/sprites/slime-grenade.png',8,8),bounceCounter:0,projdievel:10,init:function(x,y,settings){this.parent(x,y,settings);this.addAnim('idle',0.2,[0,1]);}});});

// lib/game/entities/special/bomb.js
ig.baked=true;ig.module('game.entities.special.bomb').requires('game.entities.special.projectile').defines(function(){EntityBomb=EntityProjectile.extend({name:'bomb',size:{x:22,y:28},offset:{x:6,y:10},damage:50,gravityFactor:.6,maxVel:{x:0,y:0},zIndex:20,bounciness:.4,lifetime:4,lift:2,canfizzle:true,canexplode:true,animSheet:new ig.AnimationSheet('media/sprites/bomb.png',42,48),bounceCounter:0,projdievel:-1,playerkill:true,bouncemax:8,init:function(x,y,settings){if(!ig.global.wm&&MyGame.GVault.world=='side'){this.maxVel.y='100';}
this.parent(x,y,settings);this.addAnim('idle',0.1,[0,1,2,3]);},});});

// lib/game/entities/special/fireball.js
ig.baked=true;ig.module('game.entities.special.fireball').requires('game.entities.special.projectile').defines(function(){EntityFireball=EntityProjectile.extend({name:'fireball',size:{x:28,y:28},offset:{x:10,y:10},damage:30,gravityFactor:.6,maxVel:{x:120,y:120},bounciness:0,lifetime:2,lift:2,animSheet:new ig.AnimationSheet('media/sprites/fireball.png',48,48),bounceCounter:0,projdievel:10,playerkill:true,bouncemax:1,init:function(x,y,settings){this.parent(x,y,settings);this.addAnim('idle',0.1,[0,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4]);}});});

// lib/game/entities/special/rocket.js
ig.baked=true;ig.module('game.entities.special.rocket').requires('game.entities.special.projectile').defines(function(){EntityRocket=EntityProjectile.extend({name:'rocket',size:{x:24,y:10},offset:{x:0,y:7},damage:30,gravityFactor:0,maxVel:{x:150,y:150},bounciness:0,lifetime:-1,lift:0,canfizzle:true,animSheet:new ig.AnimationSheet('media/sprites/rocket.png',24,24),bounceCounter:0,projdievel:10,playerkill:true,bouncemax:0,framerate:.2,curAnimFace:'none',animDirections:[],flip:false,canfizzle:true,canexplode:true,shootsound:'shoot2',init:function(x,y,settings){this.parent(x,y,settings);if(this._kill){return;}
anim=this.addAnim('right',this.framerate*.95,[0,1]);this.postAnimSet(anim,'right');anim=this.addAnim('left',this.framerate*.95,[2,3]);this.postAnimSet(anim,'left');anim=this.addAnim('down',this.framerate,[4,5]);this.postAnimSet(anim,'down');anim=this.addAnim('up',this.framerate,[6,7]);this.postAnimSet(anim,'up');this.setAnim(this.facing);this.postAnimSet(anim,'up');},setAnim:function(direction){if(this.curAnimFace==direction){return;}
if(typeof(this.animDirections[direction])!='undefined'){this.currentAnim=this.animDirections[direction];this.currentAnim.alpha=this.alpha;this.curAnimFace=direction;}}});});

// lib/game/entities/void.js
ig.baked=true;ig.module('game.entities.void').requires('impact.entity').defines(function(){EntityVoid=ig.Entity.extend({name:'void',etype:'void',_wmDrawBox:true,_wmBoxColor:'rgba(128, 28, 230, 0.7)',gravityFactor:0,size:{x:16,y:16},tele:{id:'',up:{to:''},down:{to:''},left:{to:''},right:{to:''},active:false},turn:{id:'',up:{to:''},down:{to:''},left:{to:''},right:{to:''},active:false},init:function(x,y,settings){if(settings.type){if(isNaN(settings.type)){settings.type=ig.Entity.TYPE[settings.type.toUpperCase()]||ig.Entity.TYPE.NONE;}}
this.parent(x,y,settings);if(this.turn.id!=''||this.turn.up.to!=''||this.turn.down.to!=''||this.turn.right.to!=''||this.turn.left.to!=''){this.turn.active=true;}
if(this.tele.id!=''||this.tele.up.to!=''||this.tele.down.to!=''||this.tele.right.to!=''||this.tele.left.to!=''){this.tele.active=true;}},update:function(){}});});

// lib/game/entities/patch.js
ig.baked=true;ig.module('game.entities.patch').requires('impact.entity').defines(function(){EntityPatch=ig.Entity.extend({_wmScalable:true,_wmDrawBox:true,_wmBoxColor:'rgba(128, 128, 255, 0.7)',name:'patch',etype:'patch',size:{x:24,y:24},offset:{x:0,y:0},type:ig.Entity.TYPE.NONE,gtag:{},otag:{kill:''},checkAgainst:ig.Entity.TYPE.NONE,collides:ig.Entity.COLLIDES.NEVER,zIndex:11,alpha:1,animSheet:null,framerate:1,frames:1,filename:'noimage.png',width:48,height:48,gravityFactor:0,flip:{x:false,y:false},angle:0,init:function(x,y,settings){this.parent(x,y,settings);},postInit:function(){this.initAnim();for(attrib in this.gtag){ig.game.myOTags.registerForOTag(this,attrib);}},initAnim:function(){if(this.animSheet!=null){return;}
if(this.filename!=""&&!ig.game.myLib.StrPos(this.filename,".")){this.filename=this.filename+".png";}
var path='media/sprites/'+this.filename;this.animSheet=new ig.AnimationSheet(path,this.width,this.height);this.offset.x=Math.floor((this.width-this.size.x)/2);this.offset.y=Math.floor((this.height-this.size.y)/2);var max=parseInt(this.frames);var count=1;var animSeries=[0];while(count<max){animSeries.push(count);count++;}
var anim=this.addAnim('idle',this.framerate,animSeries);this.postAnimSet(anim);this.currentAnim.alpha=this.alpha;},postAnimSet:function(anim,direction){anim.flip=this.flip;anim.angle=this.angle.toRad();},draw:function(){if(this.id==12){var xx=1;}
this.parent();},update:function(){this.parent();},kill:function(){ig.game.myOTags.broadcastOTag(this,this.otag['kill'],{why:'kill'});this.parent();},receiveTag:function(bywho,tag,settings){if(typeof(this.gtag[tag])=='undefined'){return;}
if(this.gtag[tag]=='kill'){this.kill();}}});});

// lib/game/entities/lock.js
ig.baked=true;ig.module('game.entities.lock').requires('game.entities.patch').defines(function(){EntityLock=EntityPatch.extend({name:'lock',etype:'lock',checkAgainst:ig.Entity.TYPE.A,collides:ig.Entity.COLLIDES.FIXED,keyid:'',keyuses:1,keysound:"lock03",opensound:"door2opn",failsound:'klang01',failmessage:'',closemessage:'',message:'',waitforkey:'no',displaytime:2.5,open:false,canFire:true,wait:4,waitTimer:null,gravityFactor:0,onepic:'no',gold:0,missions:0,secrets:0,xp:0,states:{open:{checkAgainst:ig.Entity.TYPE.NONE,collides:ig.Entity.COLLIDES.NEVER},closed:{checkAgainst:ig.Entity.TYPE.A,collides:ig.Entity.COLLIDES.FIXED}},init:function(x,y,settings){ig.merge(this.otag,{unlock:'',lock:'',fail:''});var settingscopy=ig.copy(settings);if(typeof(settings.keyid)!='undefined'&&settings.keyid!=''){this.open=false;}
if(typeof(settings.open)!='undefined'&&!ig.global.wm){this.open=ig.game.myLib.str2boolean(settings.open);delete settingscopy.open;}
if(this.open){this.setOpen(true);}else{this.setClosed(true);}
this.parent(x,y,settingscopy);this.waitTimer=new ig.Timer();},initAnim:function(){this.parent();var anim;if(ig.game.myLib.str2boolean(this.onepic)){anim=this.addAnim('idle',this.framerate,[0]);this.postAnimSet(anim);this.currentAnim=this.anims.idle;}else{anim=this.addAnim('closed',this.framerate,[0]);this.postAnimSet(anim);anim=this.addAnim('open',this.framerate,[1]);this.postAnimSet(anim);if(this.open){this.currentAnim=this.anims.open;}else{this.currentAnim=this.anims.closed;}}
this.currentAnim.alpha=this.alpha;},check:function(other){if(this.canFire&&this.waitTimer.delta()>=0){if(other.type==ig.Entity.TYPE.A){this.checkA(other);}if(other.type==ig.Entity.TYPE.B){this.checkB(other);}if(other.type==ig.Entity.TYPE.NONE){return;}
if(this.open){this.canFire=false;}else{this.waitTimer.set(this.wait);}}},setOpen:function(frominit){this.checkAgainst=this.states.open.checkAgainst;this.collides=this.states.open.collides;this.open=true;if(this.onepic!='true'&&this.onepic!='yes'){this.currentAnim=this.anims.open;}
if(frominit){return;}
if(ig.game.myOTags!=null){ig.game.myOTags.broadcastOTag(this,this.otag['unlock'],{why:'unlock'});}
ig.game.backpack.incGoalsDone({gold:this.gold,xp:this.xp,missions:this.missions,secrets:this.secrets});ig.game.mySounds.play(this.opensound);if(this.message!=''&&typeof(EntityBlackboard)!='undefined'){ig.game.spawnEntity(EntityBlackboard,0,0,{postinitnow:true,message:this.message,waitforkey:this.waitforkey,displaytime:this.displaytime});}},setClosed:function(frominit){this.checkAgainst=this.states.closed.checkAgainst;this.collides=this.states.closed.collides;this.open=false;if(this.onepic!='true'&&this.onepic!='yes'){this.currentAnim=this.anims.closed;}
if(frominit){return;}
if(ig.game.myOTags!=null){ig.game.myOTags.broadcastOTag(this,this.otag['lock'],{why:'lock'});}
ig.game.mySounds.play(this.closesound);if(this.closemessage!=''&&typeof(EntityBlackboard)!='undefined'){ig.game.spawnEntity(EntityBlackboard,0,0,{postinitnow:true,message:this.closemessage,waitforkey:this.waitforkey,displaytime:this.displaytime});}},checkA:function(other){if(!ig.game.backpack.useKey(this,this.keysound)){if(ig.game.myOTags!=null){ig.game.myOTags.broadcastOTag(this,this.otag['fail'],{why:'fail',other:other});}
ig.game.mySounds.play(this.failsound);if(this.failmessage!=''&&typeof(EntityBlackboard)!='undefined'){ig.game.spawnEntity(EntityBlackboard,0,0,{postinitnow:true,message:this.failmessage,waitforkey:this.waitforkey,displaytime:this.displaytime});}}else{this.setOpen();}},checkB:function(other){if(this.keyid==other.keyid&&this.keyuses<=other.keyuses){this.checkAgainst=ig.Entity.TYPE.NONE;this.collides=ig.Entity.COLLIDES.NEVER;this.open=true;if(ig.game.myOTags!=null){ig.game.myOTags.broadcastOTag(this,this.otag['unlock'],{why:'unlock',other:other});}
this.changeAnim();ig.game.mySounds.play(this.opensound);ig.game.backpack.incGoalsDone({gold:this.gold,xp:this.xp,missions:this.missions,secrets:this.secrets});this.wait=-1;if(typeof(other.onusekey)!='undefined'&&other.onusekey=='kill'){other.killedby='lock';other.kill();}
if(this.message!=''&&typeof(EntityBlackboard)!='undefined'){ig.game.spawnEntity(EntityBlackboard,0,0,{postinitnow:true,message:this.message,waitforkey:this.waitforkey,displaytime:this.displaytime});}}},changeAnim:function(){if(this.onepic!='true'&&this.onepic!='yes'){this.currentAnim=this.anims.open;}},receiveTag:function(bywho,tag,settings){if(typeof(this.gtag[tag])=='undefined'){return;}
this.parent(bywho,tag,settings);if(this.gtag[tag]=='lock'){this.setClosed(false);}else if(this.gtag[tag]=='unlock'){this.setOpen(false);}}});});

// lib/game/entities/telepad.js
ig.baked=true;ig.module('game.entities.telepad').requires('game.entities.lock').defines(function(){EntityTelepad=EntityLock.extend({name:"telepad",_wmBoxColor:'rgba(255, 255, 0, 0.5)',collides:ig.Entity.COLLIDES.NEVER,checkAgainst:ig.Entity.TYPE.A,states:{open:{checkAgainst:ig.Entity.TYPE.A,collides:ig.Entity.COLLIDES.NEVER},closed:{checkAgainst:ig.Entity.TYPE.A,collides:ig.Entity.COLLIDES.NEVER}},open:true,telecount:9999,direction:'',row:-1,col:-1,spawnat:'',telesound:"zwoo",dudsound:"dud",gogameover:false,init:function(x,y,settings){this.parent(x,y,settings);if(settings.row=="gameover"||settings.col=="gameover"){if(typeof(ig.game.gameover)=="function"){this.gogameover=true;}else{this.row=99;this.col=99;}}else if(settings.row=="next"||settings.col=="next"){if(!ig.global.wm){var where=ig.game.myDirector.getNext();this.row=where.row;this.col=where.col;}}else if(settings.row=="previous"||settings.col=="previous"){if(!ig.global.wm){var where=ig.game.myDirector.getPrevious();this.row=where.row;this.col=where.col;}}else if(typeof(settings.row)!='undefined'&&isNaN(settings.row)){this.direction=settings.row;this.row=-1;this.col=-1;}else if(typeof(settings.col)!='undefined'&&isNaN(settings.col)){this.direction=settings.col;this.row=-1;this.col=-1;}else if(settings.row>=0&&settings.col>=0){this.row=settings.row;this.col=settings.col;}
if(this.name!='continue'&&(this.row==-1||this.col==-1)){if(!ig.global.wm){var where=ig.game.myDirector.getNext();this.row=where.row;this.col=where.col;}}},check:function(other){this.parent(other);this.checkAgainst=ig.Entity.TYPE.A;if(!this.open){return;}
if(this.telecount<=0){ig.game.mySounds.play(this.dudsound);this.alpha=.5;this.currentAnim.alpha=this.alpha;return;}
this.telecount--;if(ig.game.myDirector.isThisCurrentLevel(this.row,this.col)){other.moveToPoint(this.spawnat);ig.game.mySounds.play(this.telesound);return;}
if(this.gogameover){ig.game.gameover(true);}else{var spawntarget;ig.game.backpack.incGoalsDone({gold:this.gold,xp:this.xp,missions:this.missions,secrets:this.secrets});if(typeof(this.direction)!='undefined'&&this.direction!=''){spawntarget=(this.spawnat!='')?this.spawnat:'p'+this.direction;other.preSpawnCleanupPlayer("strap",false,this.direction,-1,spawntarget);ig.game.myDirector.goDirection(this.direction);ig.game.mySounds.play(this.telesound);}else{spawntarget=(this.spawnat!='')?this.spawnat:'pspawn';other.preSpawnCleanupPlayer("strap",false,this.row,this.col,spawntarget);ig.game.myDirector.loadLevelByRowCol(this.row,this.col);ig.game.mySounds.play(this.telesound);}}}});});

// lib/game/entities/teleport.js
ig.baked=true;ig.module('game.entities.teleport').requires('game.entities.telepad').defines(function(){EntityTeleport=EntityTelepad.extend({name:"teleport",size:{x:12,y:12},animSheet:new ig.AnimationSheet('media/sprites/teleport.png',48,48),color:'purple',open:true,opensound:'',onepic:'yes',framerate:.08,init:function(x,y,settings){this.parent(x,y,settings);},initAnim:function(){var anim;anim=this.addAnim('purple',this.framerate,[0,1,0,1,1,0,1,0,0,1]);this.postAnimSet(anim);anim=this.addAnim("blue",this.framerate,[2,3,2,3,3,2,3,2,2,3]);this.postAnimSet(anim);anim=this.addAnim("red",this.framerate,[4,5,4,5,5,4,5,4,4,5]);this.postAnimSet(anim);anim=this.addAnim("yellow",this.framerate,[6,7,6,7,7,6,7,6,6,7]);this.postAnimSet(anim);anim=this.addAnim("green",this.framerate,[8,9,8,9,9,8,9,8,8,9]);this.postAnimSet(anim);if(typeof(this.anims[this.color])!='undefined'){this.currentAnim=this.anims[this.color];}else{this.currentAnim=this.anims.purple;}
this.currentAnim.alpha=this.alpha;this.offset.x=Math.floor((this.animSheet.width-this.size.x)/2);this.offset.y=Math.floor((this.animSheet.height-this.size.y)/2);if(this.name=='continue'){if(ig.game.prevGame.level.row==-1){this.kill;}else{if(this.row==ig.game.prevGame.level.row&&this.col==ig.game.prevGame.level.col){this.kill();}else{this.row=ig.game.prevGame.level.row;this.col=ig.game.prevGame.level.col;}}}},kill:function(){this.parent();},changeAnim:function(){}});});

// lib/game/entities/otext.js
ig.baked=true;ig.module('game.entities.otext').requires('game.entities.lock').defines(function(){EntityOtext=EntityLock.extend({name:'otext',size:{x:54,y:26},_wmScalable:true,_wmDrawBox:true,_wmBoxColor:'rgba(0, 255, 255, 0.5)',message:'',text:'',textsize:'small',textalign:ig.Font.ALIGN.LEFT,waitforkey:'no',displaytime:5,zIndex:11,filename:'',onepic:'yes',width:48,height:48,font:null,showtext:false,fontsmall:null,init:function(x,y,settings){var settingscopy=ig.copy(settings);if(settings.textalign){this.textalign=ig.Font.ALIGN[settings.textalign.toUpperCase()]||ig.Font.ALIGN.LEFT;delete settingscopy.textalign;}
if(settings.showtext){this.open=true;}
this.parent(x,y,settings);if(!ig.global.wm){this.fontsmall=ig.game.fontsmall;this.font=ig.game.font;}else{this.font=new ig.Font('media/fonts/trebuchet18px.png');this.fontsmall=new ig.Font('media/fonts/trebuchet14px.png');}},initAnim:function(){},draw:function(){if(this.text==''){return;}
if(!(this.showtext=='true'||this.showtext=='yes')&&!this.open){return;}
var font=(this.textsize=='small')?this.fontsmall:this.font;var msgwidth=font.widthForString(this.text+' ')+2*6;var msgheight=font.height+2*4;var x=this.pos.x-ig.game.screen.x;var y=this.pos.y-ig.game.screen.y;this.drawRectangle({x:x,y:y},{x:msgwidth,y:msgheight});font.draw(this.text,x+6,y+6,this.textalign);},drawRectangle:function(pos,size){var bcolor='#eeeeee';var b2color='#666666';var fcolor='#000000';var ctx=ig.system.context;var s=ig.system.scale;var x=pos.x*s;var y=pos.y*s;var sizeX=size.x*s;var sizeY=size.y*s;ctx.save();ctx.fillStyle=fcolor;ctx.fillRect(x,y,sizeX,sizeY);ctx.lineWidth=1;ctx.strokeStyle=b2color;ctx.strokeRect(x,y,sizeX,sizeY);ctx.strokeStyle=bcolor;ctx.strokeRect(x+1,y+1,sizeX-2,sizeY-2);ctx.restore();},setText:function(from,text){this.text=text;},receiveTag:function(bywho,tag,settings){if(typeof(this.gtag[tag])=='undefined'){return;}
this.parent(bywho,tag,settings);if(this.gtag[tag]=='showtext'){this.showtext=true;}else if(this.gtag[tag]=='hidetext'){this.showtext=false;}else if(this.gtag[tag]=='kill'){this.showtext=false;this.kill();}}});});

// lib/game/levels/maze00.js
ig.baked=true;ig.module('game.levels.maze00').requires('impact.image','game.entities.void','game.entities.teleport','game.entities.teleport','game.entities.teleport','game.entities.teleport','game.entities.teleport','game.entities.teleport','game.entities.otext','game.entities.otext','game.entities.otext','game.entities.otext','game.entities.otext','game.entities.otext').defines(function(){LevelMaze00={"entities":[{"type":"EntityVoid","x":368,"y":292,"settings":{"name":"pspawn"}},{"type":"EntityTeleport","x":520,"y":224,"settings":{"row":4,"col":0,"size":{"x":20,"y":16}}},{"type":"EntityTeleport","x":612,"y":220,"settings":{"name":"continue","color":"blue","size":{"x":24,"y":20}}},{"type":"EntityTeleport","x":84,"y":224,"settings":{"row":0,"col":1,"size":{"x":20,"y":16}}},{"type":"EntityTeleport","x":184,"y":224,"settings":{"row":1,"col":0,"size":{"x":20,"y":16}}},{"type":"EntityTeleport","x":300,"y":224,"settings":{"row":2,"col":0,"size":{"x":20,"y":16}}},{"type":"EntityTeleport","x":416,"y":224,"settings":{"row":3,"col":0,"size":{"x":20,"y":16}}},{"type":"EntityOtext","x":596,"y":168,"settings":{"showtext":"true","text":"continue"}},{"type":"EntityOtext","x":168,"y":168,"settings":{"showtext":"true","text":"1-0"}},{"type":"EntityOtext","x":284,"y":168,"settings":{"showtext":"true","text":"2-0"}},{"type":"EntityOtext","x":68,"y":168,"settings":{"showtext":"true","text":"next"}},{"type":"EntityOtext","x":504,"y":168,"settings":{"showtext":"true","text":"4-0"}},{"type":"EntityOtext","x":400,"y":168,"settings":{"showtext":"true","text":"3-0"}}],"layer":[{"name":"collision","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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,1],[1,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,1],[1,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,1],[1,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,1],[1,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]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/gorby-tileset-egypt-revised.png","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97],[97,1,2,3,4,1,2,3,4,1,2,3,4,1,2,97],[97,17,18,19,20,17,18,19,20,17,18,19,20,17,18,97],[97,33,34,35,36,33,34,35,36,33,34,35,36,33,34,97],[97,49,50,51,52,49,50,51,52,49,50,51,52,49,50,97],[97,93,94,93,94,93,94,93,94,93,94,93,94,93,94,97],[97,109,110,109,110,109,110,109,110,109,110,109,110,109,110,97],[97,93,94,93,94,93,94,93,94,93,94,93,94,93,94,97],[97,109,110,109,110,109,110,109,110,109,110,109,110,109,110,97],[97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97]]},{"name":"shadow","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"media/tileset-shadows3.png","repeat":false,"preRender":false,"distance":"1","tilesize":24,"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,19,20,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,21,22,0,0],[0,0,41,42,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,43,44,0,0],[0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0],[0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0],[0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0],[0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0],[0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0],[0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0],[0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0],[0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0],[0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0],[0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0],[0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0],[0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0],[0,0,63,64,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,65,66,0,0],[0,0,85,86,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,87,88,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]}]};LevelMaze00Resources=[new ig.Image('media/gorby-tileset-egypt-revised.png'),new ig.Image('media/tileset-shadows3.png')];});

// lib/game/levels/maze01.js
ig.baked=true;ig.module('game.levels.maze01').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze01={"entities":[{"type":"EntityVoid","x":388,"y":440,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":288,"y":268,"settings":{"size":{"x":228,"y":24},"row":0,"col":2}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,2,35,0,0,0,0,0,0,0,0,13,24,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,2,35,0,0,0,0,0,0,0,0,0,0,13,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,2,35,0,0,0,0,0,0,0,0,0,0,0,0,13,24,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,2,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,24,0,0,0,0,0,0],[0,0,0,0,0,0,0,2,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,24,0,0,0,0,0],[0,0,0,0,0,0,2,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,24,0,0,0,0],[0,0,0,0,0,2,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,24,0,0,0],[0,0,0,0,2,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,24,0,0],[0,0,0,2,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,24,0]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/pogopendown.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze01Resources=[new ig.Image('media/bgs/pogopendown.jpg')];});

// lib/game/levels/maze02.js
ig.baked=true;ig.module('game.levels.maze02').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze02={"entities":[{"type":"EntityVoid","x":96,"y":420,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":912,"y":344,"settings":{"size":{"x":68,"y":40}}}],"layer":[{"name":"collision","width":32,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":48,"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,1,1,1,1,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,0,0,1,1,1,1,1,1,1,1,0,0,1],[1,1,0,0,0,0,0,0,0,0,0,0,0,0,16,40,0,0,0,0,0,0,0,0,0,0,0,0,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]]},{"name":"main","width":32,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/pogph009.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze02Resources=[new ig.Image('media/bgs/pogph009.jpg')];});

// lib/game/entities/rtag.js
ig.baked=true;ig.module('game.entities.rtag').requires('impact.entity').defines(function(){EntityRtag=ig.Entity.extend({name:"rtag",etype:'rtag',size:{x:42,y:42},_wmScalable:true,_wmDrawBox:true,_wmBoxColor:'rgba(208, 208, 208, 0.5)',otag:{bumpa:'',bumpb:'',enter:'',leave:'',hurt:''},wait:.1,damage:0,health:0,waitTimer:null,canFire:true,type:ig.Entity.TYPE.NONE,checkAgainst:ig.Entity.TYPE.A,collides:ig.Entity.COLLIDES.NEVER,checkby:{name:'',type:'',count:1},gravityFactor:0,gold:0,xp:0,missions:0,secrets:0,playerin:false,attachto:{name:'',ent:null,where:'over'},init:function(x,y,settings){if(settings.check){delete settings.check;}
var settingscopy=ig.copy(settings);if(settings.checks){this.checkAgainst=ig.Entity.TYPE[settings.checks.toUpperCase()]||ig.Entity.TYPE.A;delete settingscopy.checks;}
this.parent(x,y,settingscopy);if(this.attachto.where=='overlay'){this.attachto.where='over';}
this.waitTimer=new ig.Timer();},postInit:function(){for(attrib in this.gtag){ig.game.myOTags.registerForOTag(this,attrib);}
if(this.attachto.name!=''){var ent=ig.game.getEntityByName(this.attachto.name);if(ent){this.attachto.ent=ent;this.zIndex=Math.max(this.zIndex,this.attachto.ent.zIndex+1);}}},update:function(){this.playerInRegion();if(typeof(this.attachto.ent)=='undefined'||this.attachto.ent==null||this.attachto.ent._killed){this.attachto.ent=null;}
if(this.attachto.ent!=null){this.pos.x=this.attachto.ent.pos.x;this.pos.y=this.attachto.ent.pos.y;if(this.attachto.where=='over'){this.pos.x+=this.attachto.ent.size.x/2;this.pos.y+=this.attachto.ent.size.y/2;this.pos.x-=(this.size.x+this.offset.x)/2;this.pos.y-=(this.size.y+this.offset.y)/2;}else if(this.attachto.where=='up'){this.pos.y-=this.size.y+2*this.offset.y;this.pos.x+=this.offset.x;}else if(this.attachto.where=='down'){this.pos.y+=this.attachto.ent.size.y+2*this.attachto.ent.offset.y;this.pos.x+=this.offset.x;}else if(this.attachto.where=='left'){this.pos.x-=this.size.x+2*this.offset.x;this.pos.y+=this.offset.y;}else if(this.attachto.where=='right'){this.pos.x+=this.attachto.ent.size.x+2*this.attachto.ent.offset.x;this.pos.y+=this.offset.y;}}
this.parent();},playerInRegion:function(){if(isNaN(this.pos.x)){return false;}
var px=ig.game.player.pos.x+ig.game.player.size.x/2;var py=ig.game.player.pos.y+ig.game.player.size.y/2;if(px<this.pos.x||px>this.pos.x+this.size.x||py<this.pos.y||py>this.pos.y+this.size.y){if(this.playerin){this.fireLeaving();}
this.playerin=false;return false;}
if(!this.playerin){this.fireEntered();}
this.playerin=true;return true;},fireEntered:function(){ig.game.myOTags.broadcastOTag(this,this.otag['enter'],{why:'enter'});},fireLeaving:function(){ig.game.myOTags.broadcastOTag(this,this.otag['leave'],{why:'leave'});},fireHurt:function(who){ig.game.myOTags.broadcastOTag(this,this.otag['hurt'],{why:'hurt',from:who});},passCheckBy:function(other){if(this.checkby.name!=''){if(this.checkby.name!=other.name){return false;}}
if(this.checkby.type!=''){var enttype=this.checkby.type;if(!ig.game.myLib.StrPos(type,'entity')){enttype="Entity"+enttype.substr(0,1).toUpperCase()+enttype.substr(1,enttype.length);}
if(typeof(ig.global[enttype])!='undefined'){var entityClass=ig.global[enttype];if(!(other instanceof entityClass)){return false;}}}
return true;},check:function(other){if(!this.passCheckBy(other)){return;}
if(other.type==ig.Entity.TYPE.A){this.checkA(other);}else if(other.type==ig.Entity.TYPE.B){this.checkB(other);}},receiveDamage:function(damage,other){if(!this.passCheckBy(other)){return;}
if(!this.canFire||this.waitTimer.delta()<0){return;}
this.fireHurt(other);if(this.wait==-1){this.canFire=false;}else{this.waitTimer.set(this.wait);}},fireA:function(other){if(other.type==ig.Entity.TYPE.A){ig.game.myOTags.broadcastOTag(this,this.otag['bumpa'],{why:'bumpa',other:other});}
if(this.damage!=0&&typeof(other.receiveDamage)=='function'){ig.game.backpack.incGoalsDone({gold:this.gold,xp:this.xp,missions:this.missions,secrets:this.secrets});other.receiveDamage(this.damage,this);}
if(this.health!=0&&typeof(other.receiveHealth)=='function'){ig.game.backpack.incGoalsDone({gold:this.gold,xp:this.xp,missions:this.missions,secrets:this.secrets});other.receiveHealth(this.health,this);}},checkA:function(other){if(!this.canFire||this.waitTimer.delta()<0){return;}
this.fireA(other);if(this.wait==-1){this.canFire=false;}
else{this.waitTimer.set(this.wait);}},fireB:function(other){ig.game.myOTags.broadcastOTag(this,this.otag['bumpb'],{why:'bumpb',other:other});if(this.damage!=0&&typeof(other.receiveDamage)=='function'){other.receiveDamage(this.damage,this);}
if(this.health!=0&&typeof(other.receiveHealth)=='function'){other.receiveHealth(this.health,this);}},checkB:function(other){if(!this.canFire||this.waitTimer.delta()<0){return;}
this.fireB(other);if(this.wait==-1){this.canFire=false;}else{this.waitTimer.set(this.wait);}},receiveTag:function(bywho,tag,settings){if(typeof(this.gtag[tag])=='undefined'){return;}
if(this.gtag[tag]=='kill'){this.kill();}else if(this.gtag[tag]=='firea'||this.gtag[tag]=='bumpa'){this.fireA();}else if(this.gtag[tag]=='fireb'||this.gtag[tag]=='bumpb'){this.fireB();}else if(this.gtag[tag]=='leave'){this.fireLeaving();}else if(this.gtag[tag]=='enter'){this.fireEntered();}else if(this.gtag[tag]=='hurt'){this.fireHurt(null);}}});});

// lib/game/entities/torch.js
ig.baked=true;ig.module('game.entities.torch').requires('game.entities.rtag').defines(function(){EntityTorch=EntityRtag.extend({name:"torch",size:{x:18,y:52},offset:{x:0,y:0},wait:.08,health:0,damage:0,framerate:.2,flip:{x:false,y:false},angle:0,animSheet:null,which:'medium',version:{which:'medium'},_which:{l:{size:{x:18,y:68},filename:'torch6.png',animSheet:new ig.AnimationSheet('media/sprites/torch6.png',18,68)},m:{size:{x:18,y:52},filename:'torch6b.png',animSheet:new ig.AnimationSheet('media/sprites/torch6b.png',18,52)},s:{size:{x:9,y:25},filename:'torch6c.png',animSheet:new ig.AnimationSheet('media/sprites/torch6c.png',9,25)}},init:function(x,y,settings){this.parent(x,y,settings);if(settings.version&&settings.version.which){this.which=this.version.which;}
var which=this.which;which=which.substr(0,1);this.animSheet=this._which[which].animSheet;this.size=this._which[which].size;var anim=this.addAnim("idle",this.framerate,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]);this.postAnimSet(anim,'');},postAnimSet:function(anim,direction){anim.flip=this.flip;anim.angle=this.angle.toRad();if(typeof(direction)!='undefined'&&direction!=''){this.animDirections[direction]=anim;}},check:function(other){this.parent(other);}});});

// lib/game/levels/maze03.js
ig.baked=true;ig.module('game.levels.maze03').requires('impact.image','game.entities.void','game.entities.telepad','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch').defines(function(){LevelMaze03={"entities":[{"type":"EntityVoid","x":320,"y":428,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":172,"y":220,"settings":{"size":{"x":64,"y":40},"row":0,"col":4}},{"type":"EntityTorch","x":176,"y":232,"settings":{"which":"small","size":{"x":9,"y":25}}},{"type":"EntityTorch","x":548,"y":200,"settings":{"which":"small"}},{"type":"EntityTorch","x":432,"y":216,"settings":{"which":"small"}},{"type":"EntityTorch","x":272,"y":232,"settings":{"which":"small"}},{"type":"EntityTorch","x":52,"y":208}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,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,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,2,35,0,0,0,16,17,18,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,2,35,0,0,0,0,0,0,0,16,17,18,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0],[0,0,0,2,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,17,18,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,16,17,18,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]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/enchanter1.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze03Resources=[new ig.Image('media/bgs/enchanter1.jpg')];});

// lib/game/levels/maze04.js
ig.baked=true;ig.module('game.levels.maze04').requires('impact.image','game.entities.void','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.telepad','game.entities.torch').defines(function(){LevelMaze04={"entities":[{"type":"EntityVoid","x":348,"y":444,"settings":{"name":"pspawn"}},{"type":"EntityTorch","x":260,"y":152,"settings":{"which":"small"}},{"type":"EntityTorch","x":512,"y":132},{"type":"EntityTorch","x":380,"y":136},{"type":"EntityTorch","x":796,"y":68,"settings":{"which":"large"}},{"type":"EntityTelepad","x":652,"y":316,"settings":{"size":{"x":88,"y":24},"row":1,"col":0}},{"type":"EntityTorch","x":88,"y":148,"settings":{"which":"small","size":{"x":9,"y":25}}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,27,28,29,0,0,0,0,0,0,0,0,1,1,1,0,0,0],[35,0,0,13,35,0,0,0,0,0,0,13,35,0,0,16,17,18,27,28,29,0,0,0,0,0,1,1,1,1,1,1],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,17,18,27,28,29,0,2,1,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,16,17,18,38,39,40,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,13],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/enchanter2.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze04Resources=[new ig.Image('media/bgs/enchanter2.jpg')];});

// lib/game/levels/maze10.js
ig.baked=true;ig.module('game.levels.maze10').requires('impact.image','game.entities.void','game.entities.telepad','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch').defines(function(){LevelMaze10={"entities":[{"type":"EntityVoid","x":384,"y":432,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":316,"y":236,"settings":{"size":{"x":88,"y":24},"row":1,"col":1}},{"type":"EntityTorch","x":148,"y":172},{"type":"EntityTorch","x":700,"y":144,"settings":{"which":"large"}},{"type":"EntityTorch","x":208,"y":200,"settings":{"version":{"which":"small"}}},{"type":"EntityTorch","x":348,"y":232,"settings":{"version":{"which":"small"}}},{"type":"EntityTorch","x":392,"y":228,"settings":{"version":{"which":"small"}}},{"type":"EntityTorch","x":444,"y":204,"settings":{"version":{"which":"small"}}},{"type":"EntityTorch","x":16,"y":124,"settings":{"which":"large"}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,2,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,2,1,0,0,0,0,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,2,1,1,0,0,0,0,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0],[1,1,1,1,1,1,1,1,1,1,36,37,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,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,0,0,0,0,0,0,0,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,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,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]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/enchanter3.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze10Resources=[new ig.Image('media/bgs/enchanter3.jpg')];});

// lib/game/levels/maze11.js
ig.baked=true;ig.module('game.levels.maze11').requires('impact.image','game.entities.void','game.entities.telepad','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch').defines(function(){LevelMaze11={"entities":[{"type":"EntityVoid","x":1304,"y":144,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":148,"y":244,"settings":{"size":{"x":156,"y":60},"row":1,"col":2}},{"type":"EntityTorch","x":504,"y":20},{"type":"EntityTorch","x":260,"y":20},{"type":"EntityTorch","x":460,"y":96,"settings":{"version":{"which":"small"}}},{"type":"EntityTorch","x":304,"y":92,"settings":{"version":{"which":"small"}}},{"type":"EntityTorch","x":332,"y":144,"settings":{"version":{"which":"small"}}},{"type":"EntityTorch","x":432,"y":152,"settings":{"version":{"which":"small"}}}],"layer":[{"name":"collision","width":64,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,0,0,0,0,0,0,0,0,0,0,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,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,3,4,35,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,3,4,36,37,0,0,0,0,0,0,0,0,0,0,0,13,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,0,0,0,0,0,0,3,4,36,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,24],[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,3,4,36,37,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,1,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,3,4,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],[0,0,0,0,0,1,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,3,4,36,37,0,0,0,0,0,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,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,3,4,36,37,0,0,0,0,0,0,0,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,16,17,18,1,1,1,1,1,1,1,0,0,0,0,3,4,36,37,0,0,0,0,0,0,0,0,0,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,16,17,18,1,1,1,1,1,36,37,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,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,0,0,0,0,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,0,0,0,0,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,0,0,0,0,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,0,0,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":"main","width":32,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/gemni-00.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze11Resources=[new ig.Image('media/bgs/gemni-00.jpg')];});

// lib/game/levels/maze12.js
ig.baked=true;ig.module('game.levels.maze12').requires('impact.image','game.entities.void','game.entities.telepad','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch').defines(function(){LevelMaze12={"entities":[{"type":"EntityVoid","x":272,"y":560,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":344,"y":248,"settings":{"size":{"x":84,"y":24},"row":1,"col":3}},{"type":"EntityTorch","x":8,"y":208},{"type":"EntityTorch","x":540,"y":176},{"type":"EntityTorch","x":648,"y":152},{"type":"EntityTorch","x":168,"y":208},{"type":"EntityTorch","x":264,"y":204}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,1,0,0,0,0,1,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,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[38,39,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,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]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/gemni-01.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze12Resources=[new ig.Image('media/bgs/gemni-01.jpg')];});

// lib/game/levels/maze13.js
ig.baked=true;ig.module('game.levels.maze13').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze13={"entities":[{"type":"EntityVoid","x":676,"y":448,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":0,"y":424,"settings":{"size":{"x":24,"y":52},"row":1,"col":4}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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],[1,1,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],[1,35,0,0,0,0,0,0,0,0,16,17,18,1,1,1,1,1,1,1,1,1,1,1,24,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,16,17,18,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,16,17,18,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],[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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/gemni-03.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze13Resources=[new ig.Image('media/bgs/gemni-03.jpg')];});

// lib/game/levels/maze14.js
ig.baked=true;ig.module('game.levels.maze14').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze14={"entities":[{"type":"EntityVoid","x":56,"y":400,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":144,"y":244,"settings":{"row":2,"col":0,"size":{"x":116,"y":24}}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,1,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,1,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,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,24,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,14,15,1,1,1,1,24,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,14,15,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,0,0,0,0,0,0,0,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],[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,0,0,0,0,0,0,0,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":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/gemni-04.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze14Resources=[new ig.Image('media/bgs/gemni-04.jpg')];});

// lib/game/entities/key.js
ig.baked=true;ig.module('game.entities.key').requires('impact.entity').defines(function(){EntityKey=ig.Entity.extend({name:"key",etype:"key",size:{x:24,y:12},offset:{x:4,y:4},target:null,keyid:"key",keyuses:1,snd:{pickup:''},color:'gold',type:ig.Entity.TYPE.NONE,checkAgainst:ig.Entity.TYPE.A,collides:ig.Entity.COLLIDES.NEVER,animSheet:new ig.AnimationSheet("media/sprites/key.png",32,20),otag:{pickup:''},framerate:1,attachto:{name:'',ent:null,where:'over'},init:function(x,y,settings){this.parent(x,y,settings);var anim;anim=this.addAnim('gold',this.framerate,[0]);anim=this.addAnim("blue",this.framerate,[1]);anim=this.addAnim("red",this.framerate,[2]);anim=this.addAnim("yellow",this.framerate,[3]);anim=this.addAnim("green",this.framerate,[4]);anim=this.addAnim('purple',this.framerate,[5]);anim=this.addAnim('silver',this.framerate,[6]);if(typeof(this.anims[this.color])!='undefined'){this.currentAnim=this.anims[this.color];}else{this.currentAnim=this.anims.gold;}
this.currentAnim.alpha=this.alpha;if(!settings.keyid){this.keyid=this.color+'key';}},postInit:function(){if(this.attachto.name!=''){var ent=ig.game.getEntityByName(this.attachto.name);if(ent){this.attachto.ent=ent;this.zIndex=Math.max(this.zIndex,this.attachto.ent.zIndex+1);}}},update:function(){if(typeof(this.attachto.ent)=='undefined'||this.attachto.ent==null||this.attachto.ent._killed){this.attachto.ent=null;}
if(this.attachto.ent!=null){this.pos.x=this.attachto.ent.pos.x;this.pos.y=this.attachto.ent.pos.y;if(this.attachto.where=='over'){this.pos.x+=this.attachto.ent.size.x/2;this.pos.y+=this.attachto.ent.size.y/2;this.pos.x-=(this.size.x+this.offset.x)/2;this.pos.y-=(this.size.y+this.offset.y)/2;}else if(this.attachto.where=='up'){this.pos.y-=this.size.y+2*this.offset.y;this.pos.x+=this.offset.x;}else if(this.attachto.where=='down'){this.pos.y+=this.attachto.ent.size.y+2*this.attachto.ent.offset.y;this.pos.x+=this.offset.x;}else if(this.attachto.where=='left'){this.pos.x-=this.size.x+2*this.offset.x;this.pos.y+=this.offset.y;}else if(this.attachto.where=='right'){this.pos.x+=this.attachto.ent.size.x+2*this.attachto.ent.offset.x;this.pos.y+=this.offset.y;}}
this.parent();},check:function(other){ig.game.backpack.addKey(this);ig.game.myOTags.broadcastOTag(this,this.otag['pickup'],{why:'pickup',other:other});this.kill();}});});

// lib/game/levels/maze20.js
ig.baked=true;ig.module('game.levels.maze20').requires('impact.image','game.entities.void','game.entities.telepad','game.entities.key').defines(function(){LevelMaze20={"entities":[{"type":"EntityVoid","x":72,"y":388,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":0,"y":192,"settings":{"size":{"x":48,"y":24},"keyid":"gemini","row":2,"col":1}},{"type":"EntityKey","x":680,"y":160,"settings":{"keyid":"gemini"}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,0,0,0,0,2,1,1,1,1,35,16,17,18,1],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,1,1,1,1,35,0,0,0,0,1],[1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,1,1,1,1,1,36,37,0,0,0,0,0,1],[0,0,1,24,0,0,0,0,0,0,0,0,0,0,0,3,4,1,1,1,1,1,36,37,0,0,0,0,0,0,0,1],[0,0,30,1,24,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,36,37,0,0,0,0,0,2,1,1,1,1],[0,0,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,36,37,0,0,0,0,0,0,2,1,1,1,1,1],[0,51,52,1,1,1,1,1,1,1,1,1,1,1,1,1,36,37,0,0,0,0,0,0,0,2,1,1,1,1,1,35],[0,0,0,0,0,0,0,0,0,0,0,16,17,18,36,37,0,0,0,0,0,0,0,0,2,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,2,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,2,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,2,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,15,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,14,15,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],[0,0,0,0,0,0,0,0,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":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/gemni-02.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze20Resources=[new ig.Image('media/bgs/gemni-02.jpg')];});

// lib/game/levels/maze21.js
ig.baked=true;ig.module('game.levels.maze21').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze21={"entities":[{"type":"EntityVoid","x":384,"y":416,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":368,"y":228,"settings":{"size":{"x":76,"y":24},"row":2,"col":2}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,2,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,2,1,1,0,0,0,0,1,1,24,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,3,4,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,24,0,0,0,0,0,0],[0,0,0,0,3,4,1,36,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,1,1,24,0,0,0,0],[0,0,3,4,1,36,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,1,1,24,0,0,0],[3,4,1,36,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,1,24,0,0],[1,36,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,24,0],[37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/gemni-05.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze21Resources=[new ig.Image('media/bgs/gemni-05.jpg')];});

// lib/game/entities/special/treasure.js
ig.baked=true;ig.module('game.entities.special.treasure').requires('impact.entity').defines(function(){EntityTreasure=ig.Entity.extend({name:"treasure",etype:'treasure',size:{x:28,y:28},offset:{x:10,y:10},zIndex:11,gold:50,missions:0,secrets:0,xp:0,keyid:'',keyuses:1,message:'',waitforkey:'no',displaytime:4,pickupsound:"clink",dropsound:"pop",number:1,isactivated:true,beenhit:false,type:ig.Entity.TYPE.NONE,checkAgainst:ig.Entity.TYPE.A,collides:ig.Entity.COLLIDES.NEVER,animSheet:null,framerate:.3,flip:{x:false,y:false},pivot:{x:0,y:0},angle:0,snd:{pickup:''},init:function(x,y,settings){this.parent(x,y,settings);if(this.animSheet!=null){this.framerate=this.framerate-(Math.random()*this.framerate*.5);var anim=this.addAnim("dropped",this.framerate,[0]);if(!this.isactivated){this.addAnim("activated",this.framerate,[1]);}
this.setFlippish();}
if(!this.isactivated){this.timer=new ig.Timer(1);}},postInit:function(){if(MyGame.GVault.world=='side'){this.size.y=this.size.y+this.offset.y;}},setFlippish:function(){this.currentAnim.angle=this.angle.toRad();this.currentAnim.flip=this.flip;},check:function(other){if(!this.isactivated){return;}
ig.game.backpack.incGoalsDone({gold:this.gold,xp:this.xp,missions:this.missions,secrets:this.secrets});ig.game.backpack.possessions[this.name]+=this.number;if(this.keyid!=""){ig.game.backpack.addKey(this);}
if(this.message!=''&&typeof(EntityBlackboard)!='undefined'){ig.game.spawnEntity(EntityBlackboard,0,0,{message:this.message,waitforkey:this.waitforkey,displaytime:this.displaytime});}
ig.game.mySounds.play(this.pickupsound);this.kill();},update:function(){if(!this.isactivated&&this.timer.delta()>0){this.isactivated=true;this.currentAnim=this.anims.activated;this.currentAnim.flip=this.flip;}
this.parent();}});});

// lib/game/entities/gem.js
ig.baked=true;ig.module('game.entities.gem').requires('game.entities.special.treasure').defines(function(){EntityGem=EntityTreasure.extend({size:{x:28,y:28},offset:{x:10,y:10},name:"gem",gold:120,framerate:.3,animSheet:new ig.AnimationSheet("media/sprites/gem.png",48,48),init:function(x,y,settings){if(settings.gold==0){settings.gold=this.gold;}
this.parent(x,y,settings);var anim=this.addAnim("idle",this.framerate,[0,1,2,3,4]);this.currentAnim=anim;this.setFlippish();}});});

// lib/game/levels/maze22.js
ig.baked=true;ig.module('game.levels.maze22').requires('impact.image','game.entities.void','game.entities.gem','game.entities.telepad').defines(function(){LevelMaze22={"entities":[{"type":"EntityVoid","x":92,"y":448,"settings":{"name":"pspawn"}},{"type":"EntityGem","x":54,"y":346},{"type":"EntityTelepad","x":564,"y":336,"settings":{"size":{"x":180,"y":24},"row":2,"col":3}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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],[1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,38,39,40,0,0,0,0,0,16,17,18,1,1,35,0,0,0,0,0,0,13,1],[1,0,0,0,0,1,1,38,39,40,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,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]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/gemni-06.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze22Resources=[new ig.Image('media/bgs/gemni-06.jpg')];});

// lib/game/levels/maze23.js
ig.baked=true;ig.module('game.levels.maze23').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze23={"entities":[{"type":"EntityVoid","x":360,"y":436,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":328,"y":292,"settings":{"row":2,"col":4,"size":{"x":100,"y":88}}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,1,1,35,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,1,1,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,1,1,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,1,35,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],[1,35,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],[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,0,0,0,0,0],[0,0,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,1,0,0,0,0,0]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/mmmbestfrontage.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]},{"name":"overlay","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/mmmbestfrontage.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":24,"foreground":true,"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,324,325,326,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,356,357,358,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,388,389,390,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,420,421,422,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,452,453,454,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,484,485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,516,517,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,580,581,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,612,613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]}]};LevelMaze23Resources=[new ig.Image('media/bgs/mmmbestfrontage.jpg'),new ig.Image('media/bgs/mmmbestfrontage.jpg')];});

// lib/game/levels/maze24.js
ig.baked=true;ig.module('game.levels.maze24').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze24={"entities":[{"type":"EntityVoid","x":220,"y":412,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":268,"y":272,"settings":{"size":{"x":64,"y":24},"row":3,"col":0}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,2,1,0,0,0,1,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,35,0,0,0,1,24,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,13,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,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,0,0,0,0,0,1,1,1,1,1,35,0,13,1],[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,35,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,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],[0,0,0,0,0,0,0,0,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":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/mmmfronthall.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze24Resources=[new ig.Image('media/bgs/mmmfronthall.jpg')];});

// lib/game/levels/maze30.js
ig.baked=true;ig.module('game.levels.maze30').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze30={"entities":[{"type":"EntityVoid","x":328,"y":408,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":316,"y":264,"settings":{"size":{"x":64,"y":20},"row":3,"col":1}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,2,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,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,2,1,35,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,2,1,1,1,35,0,0,0,0,0,0,0,13,1,24,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,1,35,0,0,0,0,0,0,0,0,0,0,0,13,1,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,13,25,26,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,13,1,25,26,0,0,0,0,0,0],[0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,1,25,26,0,0,0,0],[0,0,0,0,0,2,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,1,25,26,0,0],[0,0,0,0,2,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,1,25,26],[0,0,0,2,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,14,15,1]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/mmmdesktop.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze30Resources=[new ig.Image('media/bgs/mmmdesktop.jpg')];});

// lib/game/levels/maze31.js
ig.baked=true;ig.module('game.levels.maze31').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze31={"entities":[{"type":"EntityVoid","x":600,"y":412,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":68,"y":120,"settings":{"size":{"x":140,"y":24},"row":3,"col":2}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,32,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,25,26,0,0,0,0,0,0,0,0],[0,43,1,0,0,0,0,0,0,8,1,0,0,1,0,0,0,0,0,0,0,0,14,15,25,26,0,0,0,0,0,0],[0,54,1,0,0,0,0,0,0,19,1,0,0,1,0,0,0,0,0,0,0,0,0,0,14,15,25,26,0,0,0,0],[32,1,1,24,0,0,0,0,0,0,8,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,14,15,25,26,0,0],[43,1,1,1,24,0,0,0,0,0,19,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,25,26],[54,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,14,15],[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],[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],[1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,2,1,24,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,13,1,35,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],[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],[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,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,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,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]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/mmmmainhall.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]},{"name":"overlay","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/mmmmainhall.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":24,"foreground":true,"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,113,114,115,116,117,118,119,0,0,122,123,124,125,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,146,147,148,149,150,151,152,153,154,155,156,157,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,178,179,180,181,182,183,184,185,186,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,214,215,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,246,247,0,0,0,0,0,0,0,0,0],[0,0,259,260,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,277,278,279,0,0,0,0,0,0,0,0,0],[0,0,291,292,293,0,0,0,0,0,0,0,0,0,0,304,305,305,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,336,337,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,368,369,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,400,401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]}]};LevelMaze31Resources=[new ig.Image('media/bgs/mmmmainhall.jpg'),new ig.Image('media/bgs/mmmmainhall.jpg')];});

// lib/game/levels/maze32.js
ig.baked=true;ig.module('game.levels.maze32').requires('impact.image','game.entities.void','game.entities.telepad','game.entities.torch','game.entities.torch','game.entities.torch','game.entities.torch').defines(function(){LevelMaze32={"entities":[{"type":"EntityVoid","x":384,"y":448,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":316,"y":360,"settings":{"size":{"x":140,"y":24},"row":3,"col":3}},{"type":"EntityTorch","x":536,"y":348,"settings":{"which":"large"}},{"type":"EntityTorch","x":608,"y":360,"settings":{"which":"large"}},{"type":"EntityTorch","x":208,"y":344,"settings":{"which":"large"}},{"type":"EntityTorch","x":140,"y":360,"settings":{"which":"large"}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,2,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,1,35,0,0,0,0,13,1,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,1,1,1,1,1,1,24,0,0,0,0,0,0],[2,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,24],[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],[0,0,0,0,0,0,0,0,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":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/mmmaltar.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze32Resources=[new ig.Image('media/bgs/mmmaltar.jpg')];});

// lib/game/levels/maze33.js
ig.baked=true;ig.module('game.levels.maze33').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze33={"entities":[{"type":"EntityVoid","x":392,"y":444,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":364,"y":260,"settings":{"size":{"x":64,"y":24},"row":3,"col":4}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,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,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,1,1,35,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,0,1,35,0,0,0,0,0,13,1,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,1,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,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]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/norton-exterior.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze33Resources=[new ig.Image('media/bgs/norton-exterior.jpg')];});

// lib/game/levels/maze34.js
ig.baked=true;ig.module('game.levels.maze34').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze34={"entities":[{"type":"EntityVoid","x":52,"y":332,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":436,"y":256,"settings":{"size":{"x":64,"y":24},"row":4,"col":0}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[1,1,1,1,1,24,0,0,2,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,11,0,0,0],[1,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,8,22,0,0,0],[1,0,0,0,1,35,0,0,0,0,0,0,0,0,0,5,6,7,1,27,28,29,0,0,0,0,0,19,1,11,0,0],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,8,22,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,17,18,1,1,36,37,0,0,0,0,0,0,19,1,11,0],[0,0,0,0,0,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,22,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,1,11],[0,0,0,0,0,0,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,22],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,1]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/nortonlivroom.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze34Resources=[new ig.Image('media/bgs/nortonlivroom.jpg')];});

// lib/game/levels/maze40.js
ig.baked=true;ig.module('game.levels.maze40').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze40={"entities":[{"type":"EntityVoid","x":348,"y":432,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":4,"y":268,"settings":{"size":{"x":88,"y":24},"row":4,"col":1}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,5,6,7,1,25,26,0,0,0,0,2,1,1,1,1,0,0,0],[1,1,1,1,1,0,0,5,6,7,1,1,1,1,1,36,37,0,13,1,0,0,0,2,1,35,0,0,1,0,0,0],[0,0,0,0,1,1,7,1,36,37,0,0,0,0,0,0,0,0,0,1,1,1,1,1,35,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,16,17,18,35,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,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,0,0],[0,0,0,0,0,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,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,0,0],[0,0,0,0,0,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,1,0,0]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/nortonkitkchen.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze40Resources=[new ig.Image('media/bgs/nortonkitkchen.jpg')];});

// lib/game/levels/maze41.js
ig.baked=true;ig.module('game.levels.maze41').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze41={"entities":[{"type":"EntityVoid","x":360,"y":380,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":300,"y":280,"settings":{"row":4,"col":2,"size":{"x":144,"y":24}}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,1,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,2,1,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,2,1,35,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,1,1,1,1,35,0,0,0,0,0,0,0,0,13,1,24,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,13,1,1,1,24,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,1,0,0,0,0,0,0,0],[0,0,0,0,0,2,1,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,2,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,24,0,0,0,0,0,0],[0,0,0,2,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,24,0,0,0,0,0]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/nortonhall.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze41Resources=[new ig.Image('media/bgs/nortonhall.jpg')];});

// lib/game/levels/maze42.js
ig.baked=true;ig.module('game.levels.maze42').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze42={"entities":[{"type":"EntityVoid","x":400,"y":432,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":384,"y":316,"settings":{"size":{"x":72,"y":20},"row":4,"col":3}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,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,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0],[1,1,1,1,1,0,0,0,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],[1,35,0,13,1,0,0,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0],[35,0,0,0,13,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,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,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]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/nortonbedroom.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze42Resources=[new ig.Image('media/bgs/nortonbedroom.jpg')];});

// lib/game/levels/maze43.js
ig.baked=true;ig.module('game.levels.maze43').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze43={"entities":[{"type":"EntityVoid","x":372,"y":288,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":124,"y":452,"settings":{"size":{"x":640,"y":24},"row":4,"col":4}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,2,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,2,1,35,0,0,0,0,13,1,24,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,2,1,35,0,0,0,0,0,0,14,15,25,26,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,2,1,35,0,0,0,0,0,0,0,0,0,14,15,1,1,1,25,26,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,1,25,26,0,0],[0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,1,25,26],[0,0,0,0,0,0,0,2,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,1],[0,0,0,0,0,0,2,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14],[0,0,0,0,0,2,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,2,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,2,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]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/nortonbath.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze43Resources=[new ig.Image('media/bgs/nortonbath.jpg')];});

// lib/game/levels/maze44.js
ig.baked=true;ig.module('game.levels.maze44').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze44={"entities":[{"type":"EntityVoid","x":204,"y":456,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":172,"y":268,"settings":{"size":{"x":88,"y":24},"row":5,"col":0}}],"layer":[{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/nortonfrontdoor.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]},{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,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,1,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,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,1,36,37,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,1,1,36,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,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,2,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,1,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,1,1,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,13,1,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,1,0,0,0,0,0,0,0,0,0,0,0]]}]};LevelMaze44Resources=[new ig.Image('media/bgs/nortonfrontdoor.jpg')];});

// lib/game/levels/maze50.js
ig.baked=true;ig.module('game.levels.maze50').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze50={"entities":[{"type":"EntityVoid","x":152,"y":424,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":4,"y":236,"settings":{"row":5,"col":1,"size":{"x":256,"y":28}}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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],[2,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],[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,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,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,16,17,18,25,26,0,0,0,0,0,0,0,0,0,3,4,1,24,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,17,18,25,26,0,0,0,0,3,4,36,37,13,1,24,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,17,18,1,1,1,36,37,0,0,0,13,1,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,17,37,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,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,2,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,0,0],[0,0,0,0,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,2,1,0,0,0]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/cosmoentrancebest.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze50Resources=[new ig.Image('media/bgs/cosmoentrancebest.jpg')];});

// lib/game/levels/maze51.js
ig.baked=true;ig.module('game.levels.maze51').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze51={"entities":[{"type":"EntityVoid","x":360,"y":424,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":716,"y":220,"settings":{"row":5,"col":2,"size":{"x":52,"y":24}}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,2],[0,0,0,0,0,0,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,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,2,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,2,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,2,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,2,35,0,0,0,0],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,25,26,0,0,0,0,2,35,0,0,0,0,0],[1,1,1,1,1,1,38,39,40,0,0,0,0,0,0,0,0,0,14,15,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,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/pogto000.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze51Resources=[new ig.Image('media/bgs/pogto000.jpg')];});

// lib/game/levels/maze52.js
ig.baked=true;ig.module('game.levels.maze52').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze52={"entities":[{"type":"EntityVoid","x":360,"y":424,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":344,"y":172,"settings":{"row":5,"col":3,"size":{"x":76,"y":24}}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,2,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,35,0,0,8,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,1,9,0,0,0,19,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,2,1,20,0,0,0,0,8,24,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,19,1,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,2,1,20,0,0,0,0,0,0,8,24,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,35,0,0,0,0,0,0,0,19,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,2,9,0,0,0,0,0,0,0,0,0,13,24,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,2,1,20,0,0,0,0,0,0,0,0,0,0,8,24,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,2,1,35,0,0,0,0,0,0,0,0,0,0,0,19,1,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,8,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,2,1,20,0,0,0,0,0,0,0,0,0,0,0,0,0,19,1,24,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,8,1,0,0,0,0,0,0,0],[0,0,0,0,2,1,1,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,1,24,0,0,0,0,0,0]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/pogto001.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze52Resources=[new ig.Image('media/bgs/pogto001.jpg')];});

// lib/game/levels/maze53.js
ig.baked=true;ig.module('game.levels.maze53').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze53={"entities":[{"type":"EntityVoid","x":336,"y":420,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":624,"y":204,"settings":{"size":{"x":24,"y":52},"row":5,"col":4}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,1,1,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,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,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,1,0,0,0],[0,0,0,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,0,0,0],[0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,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,1,9,0,0,0,0,30,1,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,20,0,0,0,0,41,1,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,52,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,20,0,0,0,0,0,0,30,1,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,41,1,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,20,0,0,0,0,0,0,0,52,1,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,1,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,1,20,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/pogto003.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze53Resources=[new ig.Image('media/bgs/pogto003.jpg')];});

// lib/game/levels/maze54.js
ig.baked=true;ig.module('game.levels.maze54').requires('impact.image','game.entities.void','game.entities.telepad').defines(function(){LevelMaze54={"entities":[{"type":"EntityVoid","x":360,"y":452,"settings":{"name":"pspawn"}},{"type":"EntityTelepad","x":268,"y":260,"settings":{"size":{"x":236,"y":24},"row":"gameover"}}],"layer":[{"name":"collision","width":32,"height":20,"linkWithCollision":false,"visible":1,"tilesetName":"","repeat":false,"preRender":false,"distance":1,"tilesize":24,"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,2,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,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,24,0,0,0,0,0,0,0,0],[0,0,2,1,1,1,1,38,39,40,0,0,0,0,0,0,0,0,0,0,0,16,17,18,24,0,0,0,0,0,0,0],[0,0,1,38,39,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,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,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,24,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,13,1,1,1,24,0,0,0,0],[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,13,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,0,0,0,0],[0,0,0,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]]},{"name":"main","width":16,"height":10,"linkWithCollision":false,"visible":1,"tilesetName":"media/bgs/pogto004.jpg","repeat":false,"preRender":false,"distance":"1","tilesize":48,"foreground":false,"data":[[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]]}]};LevelMaze54Resources=[new ig.Image('media/bgs/pogto004.jpg')];});

// lib/game/mylocal.js
ig.baked=true;ig.module('game.mylocal').requires('plugins.impact.impact-splash-loader','impact.impact','game.entities.special.bullet','game.entities.special.bomb','game.entities.special.fireball','game.entities.special.rocket','game.levels.maze00','game.levels.maze01','game.levels.maze02','game.levels.maze03','game.levels.maze04','game.levels.maze10','game.levels.maze11','game.levels.maze12','game.levels.maze13','game.levels.maze14','game.levels.maze20','game.levels.maze21','game.levels.maze22','game.levels.maze23','game.levels.maze24','game.levels.maze30','game.levels.maze31','game.levels.maze32','game.levels.maze33','game.levels.maze34','game.levels.maze40','game.levels.maze41','game.levels.maze42','game.levels.maze43','game.levels.maze44','game.levels.maze50','game.levels.maze51','game.levels.maze52','game.levels.maze53','game.levels.maze54').defines(function(){ig.MyLocal=ig.Class.extend({game:null,player:null,gamename:'cosmostreet',musicdisabled:false,world:'flat',allowfly:true,hudstarton:false,hasannotations:false,weapons:[{name:"bullet",template:EntityBullet},{name:"bomb",template:EntityBomb},{name:"fireball",template:EntityFireball},{name:"rocket",template:EntityRocket}],plyr:{dupeClass:'EntityPlayer',animSheetNormal:new ig.AnimationSheet('media/sprites/blooglowy.png',48,48),animSheetFly:new ig.AnimationSheet('media/sprites/blooloon.png',40,40),animSheetCoffin:new ig.AnimationSheet('media/sprites/coffin.png',96,48),size:{x:28,y:38},offset:{x:10,y:10},alpha:1,flyalpha:.7,flyoffset:{x:0,y:10}},playerhud:{image:'',offset:0,width:144,height:96},pdefs:{apogee:5},sounddisabled:false,goals:{xp:0,gold:0,kills:0,secrets:0,missions:0},blackboard:{displayat:'top'},xpinc:{newlevel:300,died:-250},levels:[[LevelMaze00,LevelMaze01,LevelMaze02,LevelMaze03,LevelMaze04],[LevelMaze10,LevelMaze11,LevelMaze12,LevelMaze13,LevelMaze14],[LevelMaze20,LevelMaze21,LevelMaze22,LevelMaze23,LevelMaze24],[LevelMaze30,LevelMaze31,LevelMaze32,LevelMaze33,LevelMaze34],[LevelMaze40,LevelMaze41,LevelMaze42,LevelMaze43,LevelMaze44],[LevelMaze50,LevelMaze51,LevelMaze52,LevelMaze53,LevelMaze54]],init:function(theGame){this.game=theGame;MyGame.GVault.world=this.world;MyGame.GVault.defworld=this.world;MyGame.GVault.gamename=this.gamename;MyGame.GVault.blackboard=this.blackboard;MyGame.GVault.goals=this.goals;MyGame.GVault.xpinc=this.xpinc;MyGame.GVault.pdefs=this.pdefs;MyGame.GVault.musicdisabled=this.musicdisabled;MyGame.GVault.sounddisabled=this.sounddisabled;MyGame.GVault.hudstarton=this.hudstarton;MyGame.GVault.weapons=this.weapons;MyGame.GVault.levels=this.levels;MyGame.GVault.allowfly=this.allowfly;MyGame.GVault.hasannotations=this.hasannotations;MyGame.GVault.playerClass=this.plyr.dupeClass;},iamhere:function(player){this.player=player;player.size=this.plyr.size;player.offset=this.plyr.offset;},loadLocalSprites:function(allsprites){allsprites.addSprite("abd.png",this.imgabd);},jobSettings:function(ent){if(ig.game.myLib.StrPos(ent.job,'wait')){ent.movenext.start='wait';ent.movement='wait';ent.movenext.bump='chase';}else if(ig.game.myLib.StrPos(ent.job,'hover')){ent.movenext.start='standard';ent.movement='standard';ent.movenext.bump='chase';ent.friction.x=ent.maxVel.x*1.5;ent.friction.y=ent.maxVel.y*1.5;}
if(ig.game.myLib.StrPos(ent.job,'ctf')){ent.gtag.flagaway='chase';}},drawHUD:function(){if(typeof(this.playerhud.image)=='undefined'||this.playerhud.image==''){return;}
var img=ig.game.mySprites.getSprite(this.playerhud.image);if(img==null){return;}
var hx=ig.system.width-ig.game.player.hud.width;var hy=0;var sx=this.playerhud.offset*this.playerhud.width;if(sx+this.playerhud.width>img.width){sx=img.width-this.playerhud.width;}
var sy=0;img.draw(hx,hy,sx,sy,this.playerhud.width,this.playerhud.height);}});});

// lib/plugins/xxaxx/dropper.js
ig.baked=true;ig.module('plugins.xxaxx.dropper').requires('impact.impact').defines(function(){ig.Dropper=ig.Class.extend({game:null,dropsAll:[],dropsTreasure:[],dropsLife:[],typedDrops:{},init:function(theGame){this.game=theGame;},haveDrops:function(){if(this.dropsAll.length>0){return true;}else{return false;}},addDrop:function(thedrop,count){if(!count){count=1;}
while(count--){this.dropsAll.push(thedrop);}
return true;},makeDrop:function(whodied,settings){if(!this.haveDrops()){return;}
if(typeof(whodied.droptype)!='undefined'&&whodied.droptype=='none'){return;}
var index=Math.floor(Math.random()*this.dropsAll.length);var entdrop=this.dropsAll[index];var x;var y;x=whodied.pos.x;if(MyGame.GVault.world=='side'){y=whodied.pos.y-(entdrop.prototype.size.y+(2*entdrop.prototype.offset.y)-whodied.size.y-whodied.offset.y);}else{y=whodied.pos.y;}
var newspawn=this.game.spawnEntity(entdrop,x,y,settings);if(typeof(newspawn.dropsound)!="undefined"){this.game.mySounds.play(newspawn.dropsound);}
this.game.sortEntitiesDeferred();}});});

// lib/plugins/xxaxx/mylib.js
ig.baked=true;ig.module('plugins.xxaxx.mylib').requires('impact.impact').defines(function(){ig.MyLib=ig.Class.extend({game:null,_gamename:'goddimpact',_systemns:'goddimpact',init:function(theGame){this.game=theGame;this._gamename=MyGame.GVault.gamename;},setGameName:function(namestr){if(typeof(namestr)!='undefined'&&namestr!=''){this._gamename=namestr;}},degrees2radians:function(deg){return deg*0.017453293;},GrabFront:function(stag,instring){if(instring==""){return"";}
if(stag==""){return"";}
var tagwhere=instring.indexOf(stag);if(tagwhere<0){return"";}
return instring.substring(0,tagwhere);},GrabAfter:function(stag,instring){if(instring==""){return"";}
if(stag==""){return"";}
var tagwhere=instring.indexOf(stag);if(tagwhere<0){return"";}
return instring.substring(tagwhere+stag.length);},Object2Str:function(obj){var string='';for(key in obj){if(string==''){string=key+':'+obj[key];}else{string+=', '+key+':'+obj[key];}}
return string;},Str2Object:function(instring){var obj={};if(typeof(instring)!='string'){return obj;}
instring.replace('{','');instring.replace('}','');var pairs=instring.split(',');for(var i=0;i<pairs.length;i++){var key=this.GrabFront(':',pairs[i]);var value=this.GrabAfter(':',pairs[i]);key=this.trimBoth(key);value=this.trimBoth(value);obj[key]=value;}
return obj;},StrPos:function(heap,needle,casesensitive){if(typeof(casesensitive)=='undefined'){casesensitive=false;}
if(!casesensitive){heap=heap.toLowerCase();needle=needle.toLowerCase();}
var tagwhere=heap.indexOf(needle);if(tagwhere<0){return false;}else{return true;}},trimBoth:function(str){return this.trimRight(this.trimLeft(str));},trimLeft:function(str){var ListOfWhiteSpaceChars=" \f\n\r\t";var k=0;while(k<str.length){if(ListOfWhiteSpaceChars.indexOf(str.charAt(k))==-1){return str.substring(k,str.length);}else{k++;}}
return str;},trimRight:function(str){var ListOfWhiteSpaceChars=" \f\n\r\t";var k=str.length-1;while(k>=0){if(ListOfWhiteSpaceChars.indexOf(str.charAt(k))==-1){return str.substring(0,k+1);}else{k--;}}
return str;},str2boolean:function(str){str=str.toLowerCase();if(str=="true"||str=="yes"){return true;}else{return false;}},saveSystemCookie:function(k,v,d){this.saveCookie(this._systemns,k,v,d);},saveGameCookie:function(k,v,d){this.saveCookie(this._gamename,k,v,d);},saveCookie:function(ns,k,v,d){var date=new Date();date.setTime(date.getTime()+((d?d:365*10)*24*60*60*1000));document.cookie=ns+"~"+k+"="+v+"; expires="+date.toGMTString()+"; path=/";},loadSystemCookie:function(k,a){return this.loadCookie(this._systemns,k,a);},loadGameCookie:function(k,a){return this.loadCookie(this._gamename,k,a);},loadCookie:function(ns,k,a){var nameeq=ns+"~"+k+"=";var ca=document.cookie.split(";");var rt;for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' '){c=c.substring(1,c.length);}
if(c.indexOf(nameeq)==0){rt=c.substring(nameeq.length,c.length);if(a&&a.number)return rt*1;else return rt;if(a&&a.number)return rt*1;else return rt;}}
return null;},dataClear:function(k){this.dataSave(k,"",-1)},cloneSimple:function(obj){var clone={};for(var i in obj){if(typeof(obj[i])=="object")
clone[i]=this.cloneSimple(obj[i]);else
clone[i]=obj[i];}
return clone;},GrabDir:function(instring){var tmp;var ndx=instring.lastIndexOf("/");if(ndx==-1){return"";}
return instring.substring(0,ndx+1);},GrabFile:function(instring){var tmp;var ndx=instring.lastIndexOf("/");if(ndx==-1){return instring;}
return instring.substring(ndx+1);}});});

// lib/plugins/xxaxx/annotate.js
ig.baked=true;ig.module('plugins.xxaxx.annotate').requires('impact.impact').defines(function(){ig.MyAnnotate=ig.Class.extend({game:null,_divID:'igannotation',_divObj:null,_active:true,_annotObj:null,init:function(theGame,divID){this.game=theGame;if(typeof(igannots)=='undefined'){this._active=false;return;}
this._annotObj=new igannots();if(!this._annotObj){this._active=false;return;}
if(divID){this._divID=divID;}
this._divObj=document.getElementById(this._divID);if(this._divObj==null){this._active=false;return;}
this.stuffText('ready');},stuffText:function(txt){if(txt==null||txt==''){this.stuffHTML('');}else{this.stuffHTML('<p>'+txt+'</p>');}},stuffHTML:function(txthtml){if(this._divObj==null){return;}
if(typeof(this._divObj.innerHTML)=='undefined'){return;}
this._divObj.innerHTML=txthtml;},loadLevelAnnotation:function(row,col){if(!this._active){return;}
if(row>=this._annotObj.annots.length){return;}
if(col>=this._annotObj.annots[row].length){return;}
var str=this._annotObj.annots[row][col];if(ig.game.myLib.StrPos(str,'<')){this.stuffHTML(str);}else{this.stuffText(str);}}});});

// lib/plugins/xxaxx/sfx.js
ig.baked=true;ig.module('plugins.xxaxx.sfx').requires('impact.impact').defines(function(){ig.Sfx=ig.Class.extend({game:null,defaulthurtsound:'hit',defaultfizzlesound:'fizzle',defaultxplodsound:'',moveacts:[],moveactnames:[],init:function(theGame){this.game=theGame;this.addMoveact('swap',this.swapTwo);this.addMoveact('double',this.doubleMe);},swapTwo:function(creature,plyr,settings){var xtmp=creature.pos.x;var ytmp=creature.pos.y;creature.pos.x=plyr.pos.x;creature.pos.y=plyr.pos.y;plyr.pos.x=xtmp;plyr.pos.y=ytmp;},doubleMe:function(creature,plyr,settings){if(typeof(creature.dupeMe)=='function'){creature.dupeMe(settings);}},addMoveact:function(name,func){if(typeof(this.moveacts[name])!='undefined'){return;}
this.moveacts[name]=func;this.moveactnames.push(name);},getMoveact:function(name){if(!name||typeof(this.moveacts[name])=='undefined'){return null;}
return(this.moveacts[name]);},iamHit:function(who,amount,from){var sndname=(typeof(who.hurtsound)!='undefined')?who.hurtsound:this.defaulthurtsound;ig.game.mySounds.play(sndname);var x=who.pos.x+who.size.x/2;var y=who.pos.y+who.size.y/2;this.game.spawnEntity(EntityExplosion,x,y);this.game.sortEntitiesDeferred();},iamDying:function(who,amount,from){var sndname;if(typeof(who.diesound)!='undefined'){sndname=who.diesound;}else if(typeof(who.hurtsound)!='undefined'){sndname=who.hurtsound;}else{sndname=this.defaulthurtsound;}
ig.game.mySounds.play(sndname);}});});

// lib/plugins/xxaxx/weapons.js
ig.baked=true;ig.module('plugins.xxaxx.weapons').requires('impact.impact').defines(function(){ig.Weapons=ig.Class.extend({game:null,weapons:[],weapnames:[],weaponcurrent:-1,weaponsActive:[],player:null,defActive:[],lvlActive:[],curActive:[],init:function(theGame){this.game=theGame;},preSpawnCleanup:function(player,stype){this.resetCurVals();},setCurVals:function(){for(var i=0;i<this.weaponsActive.length;i++){this.curActive[i]=(this.lvlActive[i]!=null)?this.lvlActive[i]:this.defActive[i];}},resetCurVals:function(){for(var i=0;i<this.weaponsActive.length;i++){this.lvlActive[i]=null;this.weaponsActive[i]=this.defActive[i];}},setCurVals:function(){this.projcount=0;for(var i=0;i<this.weaponsActive.length;i++){this.weaponsActive[i]=(this.lvlActive[i]!=null)?this.lvlActive[i]:this.defActive[i];}
if(this.isWeaponEquipped()&&!this.weaponsActive[this.weaponcurrent]){this.weaponcurrent=-1;for(var i=0;i<this.weaponsActive.length;i++){if(this.weaponsActive[i]){this.weaponcurrent=i;break;}}}},iamhere:function(player){this.player=player;player.weapons=this;this.setCurVals();},addWeapon:function(name,template){if(typeof(this.weapons[name])!='undefined'){return;}
this.weapons[name]=template;this.weapnames.push(name);this.weaponsActive.push(true);this.defActive.push(true);this.lvlActive.push(true);if(this.weaponcurrent==-1){this.weaponcurrent=0;}},isWeaponEquipped:function(){return(this.weaponcurrent!=-1);},getWeaponAsObject:function(weapname){if(!this.isWeaponEquipped()){return null;}
return this.weapons[this.weapnames[this.weaponcurrent]];},getWeaponAsName:function(){if(!this.isWeaponEquipped()){return'';}
return this.weapnames[this.weaponcurrent];},doWeaponCheck:function(){if(this.weapnames.length<=1){return;}
for(var i=0;i<this.weapnames.length;i++){if(!this.weaponsActive[i]){continue;}
var ndx=i+1;if(ig.input.state('weapon'+ndx)){if(this.weaponcurrent!=i){this.setCurrentWeapon(i);}}}},allWeaponsOff:function(globalish){for(var i=0;i<this.weaponsActive.length;i++){this.weaponsActive[i]=false;this.lvlActive[i]=false;if(globalish){this.defActive[i]=false;}}
this.setCurrentWeapon(-1);},allWeaponsOn:function(globalish){for(var i=0;i<this.weaponsActive.length;i++){this.weaponsActive[i]=true;this.lvlActive[i]=true;if(globalish){this.defActive[i]=true;}}
if(this.weaponcurrent==-1){this.setCurrentWeapon(0);}},setWeaponState:function(num,state,globalish){if(num<0||num>=this.weapnames.length){return false;}
this.weaponsActive[num]=state;this.lvlActive[num]=state;if(globalish){this.defActive[num]=state;}
if(this.weaponcurrent==-1){this.setCurrentWeapon(num);}
return true;},setCurrentWeapon:function(num){if(num<0||num>=this.weapnames.length){return;}
this.weaponcurrent=num;},shootWeapon:function(shooter,facing){var weap=this.getWeaponAsObject()
if(weap==null){return;}
this.shootWeaponByEntity(weap,shooter,facing);},shootWeaponByName:function(weapname,shooter,facing){if(weapname==''){return;}
if(typeof(this.weapons[weapname])=='undefined'){return;}
var weap=this.weapons[weapname];this.shootWeaponByEntity(weap,shooter,facing);},shootWeaponByEntity:function(weap,shooter,facing){if(weap==null){return;}
var prox;var proy;var projsize=weap.prototype.size;var projoffset=weap.prototype.offset;if(facing=='up'){prox=shooter.pos.x+shooter.size.x/2-projsize.x/2;proy=shooter.pos.y-projsize.y-1;}else if(facing=='down'){prox=shooter.pos.x+shooter.size.x/2-projsize.x/2;proy=shooter.pos.y+shooter.size.y+projoffset.y;}else if(facing=='left'){prox=shooter.pos.x-10-projsize.x;proy=shooter.pos.y+shooter.size.y/2-projsize.y/2;}else if(facing=='right'){prox=shooter.pos.x+shooter.size.x+projoffset.x;proy=shooter.pos.y+shooter.size.y/2-projsize.y/2;}
ig.game.spawnEntity(weap,prox,proy,{facing:facing,killer:shooter.name,team:shooter.team});this.game.sortEntitiesDeferred();}});});

// lib/plugins/xxaxx/wintracker.js
ig.baked=true;ig.module('plugins.xxaxx.wintracker').requires('impact.impact').defines(function(){ig.Wintracker=ig.Class.extend({game:null,defaultwinsound:'win',goals:{xp:0,gold:0,kills:0,secrets:0,missions:0},goalsdone:{xp:0,gold:0,kills:0,secrets:0,missions:0},gameafoot:false,player:null,won:false,hudon:true,wintrack:false,waitTimer:null,wait:.5,init:function(theGame){this.game=theGame;this.waitTimer=new ig.Timer();if(typeof(MyGame.GVault.oldscore)!='undefined'){this.incGoalsDone(MyGame.GVault.oldscore);}},iamhere:function(player){this.player=player;},setGoals:function(settings){var todo=0;for(attrib in this.goals){if(typeof(settings[attrib])!='undefined'){if(settings[attrib]==0){continue;}
this.goals[attrib]=this.goalsdone[attrib]+settings[attrib];todo++;this.gameafoot=true;}}
if(todo>0){this.wintrack=true;}else{this.wintrack=false;}},incGoalsDone:function(settings){for(attrib in this.goalsdone){if(typeof(settings[attrib])!='undefined'){this.goalsdone[attrib]+=Number(settings[attrib]);}}
var scorestr=ig.game.myLib.Object2Str(this.goalsdone);ig.game.myLib.saveGameCookie('score',scorestr);},winCheck:function(){if(!this.wintrack){return;}
if(this.won){return;}
if(!this.gameafoot){return;}
var todo=0;var done=0;for(attrib in this.goals){var gtodo=this.goals[attrib];var gdone=this.goalsdone[attrib];if(gtodo!=0){todo++;if(gtodo!=0&&gdone<gtodo){done++;}}}
if(todo>0&&todo==done){this.winGame();}},winGame:function(){this.won=true;this.game.gameover(true);},toggleHUD:function(){if(this.waitTimer.delta()>=0){this.hudon=!this.hudon;this.waitTimer.set(this.wait);}},drawHUD:function(){if(!this.hudon){return;}
var img=ig.game.mySprites.getSprite("blackboard48.png");if(img!=null){img.draw(0,0);}
var outstr;if(this.wintrack){outstr='L: '+ig.game.backpack.lives+' H: '+this.player.health+' G: '+this.goalsdone['gold']+' X: '+this.goalsdone['xp'];}else{outstr='Lives: '+ig.game.backpack.lives+' Health: '+this.player.health+' Gold: '+this.goalsdone['gold']+' XP: '+this.goalsdone['xp'];}
for(attrib in this.goals){if(this.goals[attrib]!=0){var firstletter=attrib.substring(0,1);firstletter=firstletter.toUpperCase();outstr+=' '+firstletter+': '+this.goalsdone[attrib];}}
var width=this.game.font.widthForString(outstr);if(img!=null){var textX=img.width/2;ig.game.font.draw(outstr,textX,14,ig.Font.ALIGN.CENTER);}else{ig.game.font.draw(outstr,10,14,ig.Font.ALIGN.LEFT);}}});});

// lib/plugins/xxaxx/director2dim.js
ig.baked=true;ig.module('plugins.xxaxx.director2dim').requires('impact.impact').defines(function(){ig.Director2dim=ig.Class.extend({game:null,levels:[],currentRow:-1,currentCol:-1,currentNew:false,visited:[],init:function(theGame,initialLevels){this.game=theGame;return this.loadLevels(initialLevels);},isLevels:function(){if(this.currentRow===-1){return false;}
return true;},loadLevels:function(dalevels){if(typeof(dalevels)!=='object'){return false;}
if(dalevels.constructor!==(new Array).constructor){return false;}
this.levels=dalevels;this.currentRow=-99;this.currentCol=-99;this.primeVisited();return true;},primeVisited:function(){this.visited=new Array(this.levels.length);for(i=0;i<this.levels.length;i++){this.visited[i]=new Array(this.levels[i].length);for(j=0;j<this.levels[i].length;j++){this.visited[i][j]=false;}}},isVisited:function(r,c){if(r==-1){return true;}
if(isNaN(r)){var dalevel=this.rcFromD(r);if(dalevel==null){return true;}
return this.visited[dalevel.row][dalevel.col];}else if(r>=this.visited.length){return false;}else if(c>=this.visited[r].length){return false;}else{return this.visited[r][c];}},stuffLevel:function(row,col,dalevel){if(this.currentRow===-1){return false;}
if(row>=this.levels.length){return false;}
if(col>=this.levels[row].length){return false;}
this.levels[row][col]=dalevel;return true;},isThisCurrentLevel:function(row,col){if(this.currentRow==row&&this.currentCol==col){return true;}
return false;},loadLevelByRowCol:function(row,col){if(this.currentRow===-1){return false;}
if(row>=this.levels.length){row=this.levels.length-1;}if(row<0){row=0;}
if(col>=this.levels[row].length){col=this.levels[row].length-1;}if(col<0){col=0;}
this.currentRow=row;this.currentCol=col;this.game.levelover();if(!this.isVisited(row,col)){this.currentNew=true;}else{this.currentNew=false;}
this.game.loadLevelDeferred(this.levels[row][col]);this.visited[row][col]=true;return true;},goStart:function(){if(this.currentRow===-1){return false;}
this.loadLevelByRowCol(0,0);return true;},loadLevel:function(row,col){if(isNaN(row)){return this.goDirection(row);}else{return this.loadLevelByRowCol(row,col);}},goDirection:function(whereto){var dalevel=this.rcFromD(whereto);if(dalevel==null){this.goStart();}
this.loadLevelByRowCol(dalevel.row,dalevel.col);},rcFromD:function(whereto){var r;var c;if(whereto=="down"){this.currentRow=this.currentRow-1;c=this.currentCol;if(u<0){u=this.levels.length-1;}}else if(whereto=="up"){c=this.currentCol;r=this.currentRow+1;if(r>=this.levels.length){r=0;}}else if(whereto=="right"){r=this.currentRow;c=this.currentCol+1;if(c>=this.levels[this.currentRow].length){c=0;}}else if(whereto=="left"){r=this.currentRow;c=this.currentCol-1;if(c<0){c=this.levels[this.currentRow].length-1;}}else{return null;}
return{row:r,col:c};},goRight:function(){if(this.currentRow===-1){return false;}
this.currentCol=this.currentCol+1;if(this.currentCol>=this.levels[this.currentRow].length){this.currentCol=0;}
return this.loadLevelByRowCol(this.currentRow,this.currentCol);},goLeft:function(){if(this.currentRow===-1){return false;}
this.currentCol=this.currentCol-1;if(this.currentCol<0){this.currentCol=this.levels[this.currentRow].length-1;}
return this.loadLevelByRowCol(this.currentRow,this.currentCol);},goUp:function(){if(this.currentRow===-1){return false;}
this.currentRow=this.currentRow+1;if(this.currentRow>=this.levels.length){this.currentRow=0;}
if(this.currentCol>=this.levels[this.currentRow].length){this.currentCol=this.levels[this.currentRow].length-1;}
return this.loadLevelByRowCol(this.currentRow,this.currentCol);},goDown:function(){if(this.currentRow===-1){return false;}
this.currentRow=this.currentRow-1;if(this.currentRow<0){this.currentRow=this.levels.length-1;}
if(this.currentCol>=this.levels[this.currentRow].length){this.currentCol=this.levels[this.currentRow].length-1;}
return this.loadLevelByRowCol(this.currentRow,this.currentCol);},getNext:function(){if(this.currentRow===-1){return{row:0,col:0};}
var ctmp=parseInt(this.currentCol)+1;var rtmp=parseInt(this.currentRow);if(ctmp>=this.levels[rtmp].length){ctmp=0;rtmp++;if(rtmp>=this.levels.length){return{row:0,col:0};}}
return{row:rtmp,col:ctmp};},getPrevious:function(){if(this.currentRow===-1){return{row:0,col:0};}
var ctmp=parseInt(this.currentCol)-1;var rtmp=parseInt(this.currentRow);if(ctmp<0){ctmp=this.levels[rtmp].length-1;rtmp--;if(rtmp<0){return{row:0,col:0};}}
return{row:rtmp,col:ctmp};},loadLevelByObject:function(requestedLevel){var levelNumber=null;for(i=0;i<this.levels.length;i++){for(j=0;j<this.levels[i].length;j++){if(this.levels[i][j]==requestedLevel){return this.loadLevelByRowCol(i,j);}}}
return false;},reloadLevel:function(){return this.loadLevelByRowCol(this.currentRow,this.currentCol);},whatIsCurrentLevel:function(){return{row:this.currentRow,col:this.currentCol,isnew:this.currentNew};}});});

// lib/plugins/xxaxx/otagevents.js
ig.baked=true;ig.module('plugins.xxaxx.otagevents').requires('impact.impact').defines(function(){ig.Otagevents=ig.Class.extend({game:null,otags:[],init:function(theGame){this.game=theGame;},registerForOTag:function(who,tag){if(typeof(who)!='object'){return;}
if(typeof(this.otags[tag])=='undefined'){this.otags[tag]=new Array();}
this.otags[tag].push(who);},broadcastOTag:function(bywho,tag,settings){if(typeof(tag)=='undefined'||tag==null||tag==''){return;}
if(typeof(this.otags[tag])=='undefined'){return;}
for(var i=0;i<this.otags[tag].length;i++){if(this.otags[tag][i]==null||this.otags[tag][i]._killed){continue;}
if(typeof(this.otags[tag][i].receiveTag)=='function'){this.otags[tag][i].receiveTag(bywho,tag,settings);}}}});});

// lib/plugins/xxaxx/triggers.js
ig.baked=true;ig.module('plugins.xxaxx.triggers').requires('impact.impact').defines(function(){ig.Triggers=ig.Class.extend({game:null,triggerLayer:null,init:function(theGame){this.game=theGame;},assignTriggerMaps:function(){this.triggerLayer=null;for(var i=0;i<ig.game.backgroundMaps.length;i++){if(ig.game.backgroundMaps[i].name=='trigger'){this.triggerLayer=ig.game.backgroundMaps[i];this.triggerLayer.enabled=false;}}},getTiles:function(entish){if(this.triggerLayer==null){return[];}
var tiles=[];var tile;tile=this.getTile(entish.pos.x,entish.pos.y);tiles.push(tile);tile=this.getTile(entish.pos.x+entish.size.x,entish.pos.y);tiles.push(tile);tile=this.getTile(entish.pos.x,entish.pos.y+entish.size.y);tiles.push(tile);tile=this.getTile(entish.pos.x+entish.size.x,entish.pos.y+entish.size.y);tiles.push(tile);return tiles;},getTile:function(x,y){if(this.triggerLayer==null){return-1;}
return this.triggerLayer.getTile(x,y);}});});

// lib/plugins/xxaxx/camera.js
ig.baked=true;ig.module('plugins.xxaxx.camera').requires('impact.impact').defines(function(){Camera=ig.Class.extend({trap:{pos:{x:0,y:0},size:{x:16,y:16}},max:{x:0,y:0},offset:{x:0,y:0},pos:{x:0,y:0},damping:5,lookAhead:{x:0,y:0},currentLookAhead:{x:0,y:0},debug:false,init:function(offsetX,offsetY,damping){this.offset.x=offsetX;this.offset.y=offsetY;this.damping=damping;},set:function(entity){this.pos.x=entity.pos.x-this.offset.x;this.pos.y=entity.pos.y-this.offset.y;this.trap.pos.x=entity.pos.x-this.trap.size.x/2;this.trap.pos.y=entity.pos.y-this.trap.size.y;},follow:function(entity){this.pos.x=this.move('x',entity.pos.x,entity.size.x);this.pos.y=this.move('y',entity.pos.y,entity.size.y);ig.game.screen.x=this.pos.x;ig.game.screen.y=this.pos.y;},move:function(axis,pos,size){var lookAhead=0;if(pos<this.trap.pos[axis]){this.trap.pos[axis]=pos;this.currentLookAhead[axis]=this.lookAhead[axis];}
else if(pos+size>this.trap.pos[axis]+this.trap.size[axis]){this.trap.pos[axis]=pos+size-this.trap.size[axis];this.currentLookAhead[axis]=-this.lookAhead[axis];}
return(this.pos[axis]-(this.pos[axis]-this.trap.pos[axis]+this.offset[axis]
+this.currentLookAhead[axis])*ig.system.tick*this.damping).limit(0,this.max[axis]);},draw:function(){ig.system.context.fillStyle='rgba(255,0,255,0.3)';ig.system.context.fillRect((this.trap.pos.x-this.pos.x)*ig.system.scale,(this.trap.pos.y-this.pos.y)*ig.system.scale,this.trap.size.x*ig.system.scale,this.trap.size.y*ig.system.scale);}});});

// lib/game/entities/special/gvault.js
ig.baked=true;ig.module('game.entities.special.gvault').requires('impact.impact').defines(function(){ig.GVault=ig.Class.extend({player:null,world:'flat',hello:'world',param2:'',etc:true});});

// lib/game/entities/special/creature.js
ig.baked=true;ig.module('game.entities.special.creature').requires('impact.entity').defines(function(){EntityCreature=ig.Entity.extend({name:'creature',etype:'creature',size:{x:40,y:40},maxVel:{x:60,y:60},speed:20,speeddelta:10,speedmod:{up:1,down:1,left:1,right:1,other:1},friction:{x:0,y:0},job:'creature',type:ig.Entity.TYPE.B,checkAgainst:ig.Entity.TYPE.BOTH,collides:ig.Entity.COLLIDES.PASSIVE,zIndex:21,health:10,gold:10,damage:10,xp:100,secrets:0,missions:0,kills:1,fly:false,keyid:'',keyuses:1,movement:'standard',dropsound:'',flip:{x:false,y:false},angle:0,framerate:.15,facing:'start',curAnimFace:'',onusekey:'',allfouranims:false,animDirections:[],hurtsound:'hit',currentTarget:0,target:null,targetobj:null,targets:[],_targets:[],paceDistance:{min:{x:5,y:5},max:{x:48,y:48}},animSheet:null,marchright:true,marchdown:true,march:'updown',checkdone:false,movenext:{start:'',bump:'',hurt:'chase',near:'',lost:'',returned:'wait',collide:''},moveact:{start:'',bump:'',hurt:'',kill:'',near:'',lost:'',returned:'',collide:''},speedinc:{start:1,standard:1,chase:1,follow:1,march:1,wait:1,pace:1,path:1,home:1},shootwhen:{standard:0,chase:0,follow:0,march:0,wait:0,pace:0,path:0,home:0},shootdistance:{standard:192,chase:192,follow:192,march:192,wait:192,pace:192,path:192,home:192},otag:{bumpa:'',bumpb:'',hurt:'',near:'',lost:'',returned:'',collide:'',kill:''},sfx:{bumpa:'',bumpb:'',hurt:'',lost:'',returned:''},hurtby:{bomb:1,rocket:1,fireball:1,bullet:1,lava:1,slime:0},waitTimer:null,shootTimer:null,canFire:true,wait:1,gtag:{},chase:{who:'player',name:'',type:'',trget:null},chaseby:{who:[]},waitTimerB:null,canFireB:true,waitB:1,droptype:'sfx',startpoint:{x:-1,y:-1},distance:{lost:9999,near:-1},gravityFactor:1,attachto:{name:'',ent:null,where:'overlay'},dupeClass:'',settings:{},init:function(x,y,settings){if(settings.check){delete settings.check;}
this.settings=settings;var settingscopy=ig.copy(settings);if(settings.speed=='random'){this.speed=this.speed+this.speeddelta*(Math.random()-.5);delete settingscopy.speed;}
if(settings.checks){this.checkAgainst=ig.Entity.TYPE[settings.checks.toUpperCase()]||ig.Entity.TYPE.A;delete settingscopy.checks;}
this.parent(x,y,settingscopy);if(!ig.global.wm){ig.game.myLocal.jobSettings(this);}
if(!ig.global.wm&&this.movenext.start!=''&&this.isValidMovement(this.movenext.start)){this.movement=this.movenext.start;}else{this.movenext.start=this.movement;}
if(this.movement=='march'){if(this.facing=='down'){this.marchdown=true;this.march='updown';}else if(this.facing=='up'){this.marchdown=false;this.march='updown';}else if(this.facing=='right'){this.marchright=true;this.march='leftright';}else if(this.facing=='left'){this.marchright=false;this.march='leftright';}}
this.startpoint.x=x;this.startpoint.y=y;this.framerate=this.framerate-(Math.random()*this.framerate*.5);if(this.animSheet!=null){this.offset.x=Math.floor((this.animSheet.width-this.size.x)/2);this.offset.y=Math.floor((this.animSheet.height-this.size.y)/2);}
if(this.movement=='standard'){this.vel.x=this.maxVel.x-Math.random()*2*this.maxVel.x;this.vel.y=this.maxVel.y-Math.random()*2*this.maxVel.y;}
this.targets=ig.ksort(this.target);this.waitTimer=new ig.Timer();this.waitTimerB=new ig.Timer();this.shootTimer=new ig.Timer();if(settingscopy.postinitnow){this.postInit();}},postInit:function(){if(ig.global.wm){return;}
this.settings.postinitnow=true;if(typeof(this.speedinc)!='undefined'){this.speedinc.start=this.speed;}
this.setMovementType(this.movement);if(ig.game.myOTags!=null){for(attrib in this.gtag){ig.game.myOTags.registerForOTag(this,attrib);}}
if(this.attachto.name!=''){var ent=ig.game.getEntityByName(this.attachto.name);if(ent){this.attachto.ent=ent;}}},getSpeed:function(){if(this.facing=='down'){return this.speed*this.speedmod.down;}else if(this.facing=='up'){return this.speed*this.speedmod.up;}else if(this.facing=='right'){return this.speed*this.speedmod.right;}else if(this.facing=='left'){return this.speed*this.speedmod.left;}
return this.speed*this.speedmod.other;},postAnimSet:function(anim,direction){anim.flip=this.flip;anim.angle=this.angle.toRad();if(typeof(direction)!='undefined'&&direction!=''){this.animDirections[direction]=anim;}},update:function(){this.checkdone=false;this.doMovement();this.noLeaveMap();this.parent();this.handleTrigger();},handleTrigger:function(){if(ig.game.myTriggers==null){return;}
var tiles=ig.game.myTriggers.getTiles(this);var sum=0;for(var i=0;i<tiles.length;i++){var tile=tiles[i];if(tile>0){sum+=tile;}}
if(sum==0){return;}
if(this.movement=='march'){this.marchdown=!this.marchdown;this.marchright=!this.marchright;}else{this.vel.x=-1*this.vel.x;this.vel.y=-1*this.vel.y;}},isValidMovement:function(which){if(ig.game.myLib.StrPos("^standard^chase^path^march^wait^pace^follow^solid^","^"+which+"^")){return true;}else{return false;}},setMovementType:function(which){if(!this.isValidMovement(which)){which=this.movenext.start;}
this.movement=which;if(this.movement=='standard'){}else if(this.movement=='chase'){if(!this.setChaseTarget()){if(this.movenext.start=='chase'){this.movement='standard';}else{this.movement=this.movenext.start;}}}else if(this.movement=='follow'){}else if(this.movement=='march'){}else if(this.movement=='wait'){}else if(this.movement=='pace'){}else if(this.movement=='path'){}else if(this.movement=='home'){}else{}
if(this.movement=='chase'){this.collides=ig.Entity.COLLIDES.ACTIVE;}else{this.collides=ig.Entity.COLLIDES.PASSIVE;}
if(typeof(this.speedinc[this.movement]!='undefined')){this.speed=this.speedinc[this.movement]*this.speedinc.start;}},setChaseTarget:function(){if(this.chase.trget!=null){return true;}else if(this.chase.who=='player'){return true;}else if(this.chase.who=='byname'&&this.chase.name!=''){var ent=ig.game.getEntityByName(this.chase.name);if(this==ent){return false;}
this.chase.trget=ent;}else if(this.chase.who=='bytype'&&this.chase.type!=''){var enttype=this.chase.type;if(!ig.game.myLib.StrPos(enttype,'entity')){this.chase.type="Entity"+enttype.substr(0,1).toUpperCase()+enttype.substr(1,enttype.length);}
var entsoftype=ig.game.getEntitiesByType(this.chase.type);if(entsoftype.length==0){return false;}
var entsminusme=[];for(var i=0;i<entsoftype.length;i++){var ent=entsoftype[i];if(this==ent){continue;}
if(ent._killed){continue;}
entsminusme.push(ent);}
if(entsminusme.length==0){return false;}
var ents=[];var saftycount=0;var allowedcurrentchaser=-1;while(ents.length==0&&saftycount<10){saftycount++;allowedcurrentchaser++;for(var i=0;i<entsminusme.length;i++){var ent=entsminusme[i];if(ent.chaseby.who.length<=allowedcurrentchaser){ents.push(ent);}}}
if(ents.length==0){ents=entsminusme;}
var ndx=Math.floor(ents.length*Math.random());ndx=ndx.limit(0,ents.length-1);var enttochase=ents[ndx];this.chase.trget=enttochase;enttochase.chaseby.who.push(this);}else{return false;}
return true;},doMovement:function(){this.checkDistance();if(this.attachto.ent!=null){this.attachtoMovement();}else if(this.movement=='standard'){this.standardMovement();}else if(this.movement=='chase'){this.chaseMovement();}else if(this.movement=='follow'){this.chaseMovement();}else if(this.movement=='march'){this.marchMovement();}else if(this.movement=='wait'){this.waitMovement();}else if(this.movement=='pace'){this.paceMovement();}else if(this.movement=='path'){this.pathMovement();}else if(this.movement=='home'){this.homeMovement();}else{return;}
this.setFacing();this.setAnim(this.facing);this.shootPlayer();},noLeaveMap:function(){if(this.pos.x>=ig.game.mapWidth-this.size.x/2){this.pos.x=ig.game.mapWidth-this.size.x-2*this.offset.x;}else if(this.pos.x<0){this.pos.x=0;}
if(this.pos.y>=ig.game.mapHeight-this.size.y/2){this.pos.y=ig.game.mapHeight-this.size.y-2*this.offset.y;}else if(this.pos.y<0){this.pos.y=0;}},checkDistance:function(){if(this.distance.lost==9999&&this.distance.near==-1){return;}
if(typeof(ig.game.player)=='undefined'||ig.game.player==null){return;}
var distance=this.distanceTo(ig.game.player);var attrib;if(distance>this.distance.lost){if(this.movement==this.movenext.start){return;}
attrib='lost';if(ig.game.myOTags!=null){ig.game.myOTags.broadcastOTag(this,this.otag['lost'],{why:'lost',distance:distance});}}else if(distance<this.distance.near){attrib='near';if(ig.game.myOTags!=null){ig.game.myOTags.broadcastOTag(this,this.otag['near'],{why:'near',distance:distance});}}else{return;}
if(typeof(this.movenext[attrib])!='undefined'&&this.movenext[attrib]!=''&&this.movenext[attrib]!='none'){this.setMovementType(this.movenext[attrib]);}else{this.setMovementType(this.movenext['start']);}
if(this.movement=='wait'){this.vel.x=0;this.vel.y=0;}},shootPlayer:function(){if(this.shootTimer.delta()<0){return;}
if(typeof(this.shootwhen[this.movement])=='undefined'){return;}
if(this.shootwhen[this.movement]<=0){return;}
var sdistance=this.shootdistance[this.movement];if(sdistance==-1){return;}
if(typeof(ig.game.player)=='undefined'||ig.game.player==null){return;}
var distance=this.distanceTo(ig.game.player);if(distance>sdistance){return;}
var doshoot=false;if((this.facing=="right"&&this.pos.x<ig.game.player.pos.x)||(this.facing=='left'&&this.pos.x>ig.game.player.pos.x)){var ydelta=Math.abs(this.pos.y-ig.game.player.pos.y);if(ydelta<=96){doshoot=true;}}else if((this.facing=='up'&&this.pos.y>ig.game.player.pos.y)||(this.facing=='down'&&this.pos.y<ig.game.player.pos.y)){var xdelta=Math.abs(this.pos.x-ig.game.player.pos.x);if(xdelta<=96){doshoot=true;}}
if(doshoot){ig.game.myWeapons.shootWeaponByName('bullet',this,this.facing);this.shootTimer.set(this.shootwhen[this.movement]);}},attachtoMovement:function(){this.pos.x=this.attachto.ent.pos.x;this.pos.y=this.attachto.ent.pos.y;if(this.attachto.where=='overlay'){this.pos.x=this.attachto.ent.pos.x-this.attachto.ent.offset.x+this.offset.x;this.pos.y=this.attachto.ent.pos.y-this.attachto.ent.offset.y+this.offset.y;}else if(this.attachto.where=='up'){this.pos.y-=this.size.y+2*this.offset.y;this.pos.x+=this.offset.x;}else if(this.attachto.where=='down'){this.pos.y+=this.attachto.ent.size.y+2*this.attachto.ent.offset.y;this.pos.x+=this.offset.x;}else if(this.attachto.where=='left'){this.pos.x-=this.size.x+2*this.offset.x;this.pos.y+=this.offset.y;}else if(this.attachto.where=='right'){this.pos.x+=this.attachto.ent.size.x+2*this.attachto.ent.offset.x;this.pos.y+=this.offset.y;}},standardMovement:function(){if(this.pos.x>=ig.game.mapWidth-this.size.x/2){this.vel.x=-1*this.vel.x;}else if(this.pos.x<0){this.vel.x=-1*this.vel.x;}
if(this.pos.y>=ig.game.mapHeight-this.size.y/2){this.vel.y=-1*this.vel.y;}else if(this.pos.y<0){this.vel.y=-1*this.vel.y;}
if(this.vel.x==0){this.vel.x=this.maxVel.x-Math.random()*2*this.maxVel.x;}
if(this.vel.y==0){this.vel.y=this.maxVel.y-Math.random()*2*this.maxVel.y;}},chaseMovement:function(){var angle;if(this.chase.who=='player'){angle=this.angleTo(ig.game.player);}else if(this.chase.trget==null){return;}else{angle=this.angleTo(this.chase.trget);}
this.vel.x=Math.cos(angle)*this.getSpeed();this.vel.y=Math.sin(angle)*this.getSpeed();this.parent();},homeMovement:function(){var distance=this.distanceTo({pos:this.startpoint,size:this.size});if(distance<this.size.x/2){if(ig.game.myOTags!=null){ig.game.myOTags.broadcastOTag(this,this.otag['returned'],{why:'returned',distance:distance});}
if(typeof(this.movenext['returned'])!='undefined'&&this.movenext['returned']!=''&&this.movenext['returned']!='none'){this.setMovementType(this.movenext['returned']);}else{this.setMovementType(this.movenext['start']);}
if(this.movement=='wait'){this.vel.x=0;this.vel.y=0;}
return;}
var angle=this.angleTo({pos:this.startpoint,size:this.size});this.vel.x=Math.cos(angle)*this.getSpeed();this.vel.y=Math.sin(angle)*this.getSpeed();this.parent();},waitMovement:function(){},paceMovement:function(){if(this.startpoint.x==-1){this.startpoint.x=this.pos.x;this.startpoint.y=this.pos.y;var targ=ig.game.spawnEntity(EntityVoid,this.pos.x,this.pos.y);this._targets.push(targ);for(var i=0;i<5;i++){var sx=this.size.x/2+this.paceDistance.min.x+Math.random()*(this.paceDistance.max.x-this.paceDistance.min.x);var sy=this.size.y/2+this.paceDistance.min.y+Math.random()*(this.paceDistance.max.y-this.paceDistance.min.y);var pm=-1;if(Math.random()>.5){pm=1;}
sx=this.pos.x+pm*sx;sy=this.pos.y+pm*sy;targ=ig.game.spawnEntity(EntityVoid,sx,sy);this._targets.push(targ);}}
this.pathMovement();},marchMovement:function(){if(this.pos.x>=ig.game.mapWidth-this.size.x-2*this.offset.x){this.marchright=false;}else if(this.pos.x<0){this.marchright=true;}
if(this.pos.y>=ig.game.mapHeight-this.size.y-2*this.offset.y){this.marchdown=false;}else if(this.pos.y<0){this.marchdown=true;}
if(this.march=='updown'){this.vel.y=(this.marchdown)?this.getSpeed():-1*this.getSpeed();this.vel.x=0;}else{this.vel.x=(this.marchright)?this.getSpeed():-1*this.getSpeed();this.vel.y=0;}},marchMovementold:function(){if(this.march=='updown'){if(this.marchdown){if(ig.game.collisionMap.getTile(this.pos.x+this.size.x-1,this.pos.y+this.size.y+4)){this.marchdown=false;}}else{if(ig.game.collisionMap.getTile(this.pos.x+this.size.x-1,this.pos.y-4)){this.marchdown=true;}}
this.vel.y=(this.marchdown)?this.getSpeed():-1*this.getSpeed();}else{if(this.marchright){if(ig.game.collisionMap.getTile(this.pos.x+this.size.x+4,this.pos.y+this.size.y-1)){this.marchright=false;}}else{if(ig.game.collisionMap.getTile(this.pos.x-4,this.pos.y+this.size.y-1)){this.marchright=true;}}
this.vel.x=(this.marchright)?this.getSpeed():-1*this.getSpeed();}},pathMovement:function(){if(this._targets.length==0&&this.targets.length==0){this.setMovementType('standard');return;}
if(this._targets.length==0){for(var i=0;i<this.targets.length;i++){var targ=ig.game.getEntityByName(this.targets[i]);if(typeof(targ)!='undefined'&&targ!=null){this._targets.push(targ);}}
if(this._targets.length==0){this.setMovementType('standard');return;}}
if(this.targetobj==null){this.targetobj=this._targets[this.currentTarget];}
var angle=this.angleTo(this.targetobj);this.vel.x=Math.cos(angle)*this.getSpeed()*1.4;this.vel.y=Math.sin(angle)*this.getSpeed()*1.4;if(MyGame.GVault.world=='side'&&!this.fly&&gravityFactor!=0){this.vel.y=(this.vel.y>0)?this.vel.y:0;}
var distance=this.distanceTo(this.targetobj);if(distance<this.size.x/2){this.currentTarget++;if(this.currentTarget>=this._targets.length){this.currentTarget=0;}
this.targetobj=this._targets[this.currentTarget];}},setFacing:function(){if(Math.abs(this.vel.y)>=Math.abs(this.vel.x)){if(this.vel.y>=0){this.facing="down";}else{this.facing="up";}}else{if(this.vel.x>=0){this.facing="right";}else{this.facing="left";}}},setAnim:function(direction){if(this.curAnimFace==direction){return;}
if(typeof(this.animDirections[direction])!='undefined'){this.currentAnim=this.animDirections[direction];this.currentAnim.alpha=this.alpha;this.curAnimFace=direction;}},handleMovementTrace:function(res){if(!res.collision.x&&!res.collision.y){this.parent(res);return;}
if(this.movement=='march'&&res.collision.y){this.marchdown=!this.marchdown;}else if(this.movement=='march'&&res.collision.x){this.marchright=!this.marchright;}
this.parent(res);if(ig.game.myOTags!=null){ig.game.myOTags.broadcastOTag(this,this.otag['collide'],{why:'collide',res:res});}},check:function(other){if(other.type==ig.Entity.TYPE.A){if(this.canFire&&this.waitTimer.delta()>=0){this.checkA(other);if(this.wait==-1){this.canFire=false;}else{this.waitTimer.set(this.wait);}}}
if(other.type==ig.Entity.TYPE.B){if(this.canFireB&&this.waitTimerB.delta()>=0){this.checkB(other);if(this.waitB==-1){this.canFireB=false;}else{this.waitTimerB.set(this.waitB);}}}},checkA:function(other){if(other.intransit){return;}
if(ig.game.myOTags!=null){ig.game.myOTags.broadcastOTag(this,this.otag['bumpa'],{why:'bumpa',other:other});}
if(this.movenext.bump!=''&&this.movenext.bump!=this.movement){this.setMovementType(this.movenext.bump);}
if(typeof(other.receiveDamage)=='function'){other.receiveDamage(this.damage,this);}},checkB:function(other){if(ig.game.myOTags!=null){ig.game.myOTags.broadcastOTag(this,this.otag['bumpb'],{why:'bumpb',other:other});}
this.checkBMarch(other);if(other.etype=='void'){this.checkBTele(other);}},checkBMarch:function(other){if(this.checkdone){return;}
if(this.movement!='march'){return;}
if(other.etype=='void'){}else if(other.etype=='blocket'){}else if(typeof(other.movement)!='undefined'&&other.movement=='march'){}else{return;}
if(other.etype=='void'){this.checkBMarchTurn(other);}else{this.reverseMarch();if(other.march==this.march){if(this.march=='updown'){other.marchdown=!this.marchdown;}else{other.marchright=!this.marchright;}}else{if(typeof(other.reverseMarch)=='function'){other.reverseMarch();}}
other.checkdone=true;}},reverseMarch:function(){if(this.march=='updown'){this.marchdown=!this.marchdown;}else{this.marchright=!this.marchright;}},checkBMarchTurn:function(other){if(!other.turn.active){return;}
if(other.turn.id!=''&&other.turn.id!=this.name){return;}
var newdir='';if(this.march=='updown'&&this.marchdown){newdir=other.turn.up.to;}else if(this.march=='updown'&&!this.marchdown){newdir=other.turn.down.to;}else if(this.march=='leftright'&&this.marchright){newdir=other.turn.left.to;}else if(this.march=='leftright'&&!this.marchright){newdir=other.turn.right.to;}
if(newdir==''||newdir=='none'){return;}else if(newdir=='up'){this.march='updown';this.marchdown=false;}else if(newdir=='down'){this.march='updown';this.marchdown=true;}else if(newdir=='left'){this.march='leftright';this.marchright=false;}else if(newdir=='right'){this.march='leftright';this.marchright=true;}
this.vel.x=0;this.vel.y=0;},facingToFrom:function(facing){if(facing=='down'){return"up";}else if(facing=='up'){return'down';}else if(facing=='right'){return'left';}else if(facing=='left'){return'right';}
return'';},checkBTele:function(other){if(!other.tele.active){return;}
if(other.tele.id!=''&&other.tele.id!=this.name){return;}
var from=this.facingToFrom(this.facing);if(from==''){return;}
if(other.tele[from].to==''){return;}
var ent=ig.game.getEntityByName(other.tele[from].to);if(ent){this.pos.x=ent.pos.x;this.pos.y=ent.pos.y;}},receiveDamage:function(amount,from){if(this.health==9999){return;}
if(typeof(this.hurtby[from.name])!='undefined'){amount=this.hurtby[from.name]*amount;}
if(amount==0){return;}
if(this.movenext.hurt!=''&&this.movenext.hurt!=this.movement&&this.movenext.hurt!='none'){this.setMovementType(this.movenext.hurt);}
if(ig.game.myOTags!=null){ig.game.myOTags.broadcastOTag(this,this.otag['hurt'],{why:'hurt',amount:amount,from:from});}
this.parent(amount,from);if(this.health<=0){if(from.killer=='player'){ig.game.backpack.incGoalsDone({kills:this.kills,xp:this.xp});}
if(ig.game.mySFX!=null){ig.game.mySFX.iamDying(this,amount,from);}}else{if(this.moveact['hurt']!=''){var mafunc=null;if(ig.game.mySFX!=null){mafunc=ig.game.mySFX.getMoveact(this.moveact['hurt']);}
if(mafunc!=null){mafunc(this,ig.game.player,{amount:amount,from:from});}}
if(ig.game.mySFX!=null){ig.game.mySFX.iamHit(this,amount,from);}}},receiveTag:function(bywho,tag,settings){if(typeof(this.gtag[tag])=='undefined'){return;}
if(this.gtag[tag]=='kill'){this.kill();}else if(ig.game.myLib.StrPos("^swap^double^","^"+this.gtag[tag]+"^")){var mafunc=null;if(ig.game.mySFX!=null){mafunc=ig.game.mySFX.getMoveact(this.gtag[tag]);}
if(mafunc!=null){mafunc(this,ig.game.player,{tag:tag});}}else if(ig.game.myLib.StrPos("^standard^chase^path^march^wait^pace^follow^","^"+this.gtag[tag]+"^")){this.setMovementType(this.gtag[tag]);}},dupeMe:function(settings){if(this.dupeClass!=''){ig.game.spawnEntity(this.dupeClass,this.pos.x,this.pos.y,this.settings);}},kill:function(){if(this.moveact['kill']!=''){var mafunc=null;if(ig.game.mySFX!=null){mafunc=ig.game.mySFX.getMoveact(this.moveact['kill']);}
if(mafunc!=null){mafunc(this,ig.game.player,{});}}
if(ig.game.myOTags!=null){ig.game.myOTags.broadcastOTag(this,this.otag['kill'],{why:'kill'});}
ig.game.myDropper.makeDrop(this,{gold:this.gold,keyid:this.keyid,keyuses:this.keyuses,missions:this.missions,secrets:this.secrets});this.parent();this._killed=true;for(var i=0;i<this.chaseby.who.length;i++){var ent=this.chaseby.who[i];ent.chase.trget=null;ent.setChaseTarget();}}});});

// lib/game/entities/special/allsounds.js
ig.baked=true;ig.module('game.entities.special.allsounds').requires('impact.impact').defines(function(){ig.MySounds=ig.Class.extend({game:null,snds:[],sndagony7:new ig.Sound('media/sounds/agony7.*',false),sndpop:new ig.Sound('media/sounds/pop01.*',false),sndclink:new ig.Sound('media/sounds/clink01.*',false),sndpain:new ig.Sound('media/sounds/pain.*',false),snddie:new ig.Sound('media/sounds/die.*',false),sndwin:new ig.Sound('media/sounds/win.*',false),sndshoot:new ig.Sound('media/sounds/shoot.*',false),sndshoot2:new ig.Sound('media/sounds/shoot2.*',false),sndhit:new ig.Sound('media/sounds/hit.*',false),sndzwoo:new ig.Sound('media/sounds/zwoo.*',false),sndcreak:new ig.Sound('media/sounds/creak.*',false),snddoor01:new ig.Sound('media/sounds/door01.*',false),snddoor2opn:new ig.Sound('media/sounds/door2opn.*',false),snddoor03:new ig.Sound('media/sounds/door03.*',false),snddoor04:new ig.Sound('media/sounds/door04.*',false),sndphawap:new ig.Sound('media/sounds/phawap.*',false),sndlock03:new ig.Sound('media/sounds/lock03.*',false),sndcoinsdropping:new ig.Sound('media/sounds/coinsdropping.*',false),sndklang01:new ig.Sound('media/sounds/klang01.*',false),sndkeyup:new ig.Sound('media/sounds/keyup.*',false),sndflagup:new ig.Sound('media/sounds/flagup.*',false),sndfizzle:new ig.Sound('media/sounds/fizzle.*',false),sndexplode:new ig.Sound('media/sounds/explode.*',false),sndfalling:new ig.Sound('media/sounds/falling.*',false),snddud:new ig.Sound('media/sounds/dud01.*',false),sndblub01:new ig.Sound('media/sounds/blub01.*',false),sndthunk01:new ig.Sound('media/sounds/thunk01.*',false),init:function(theGame){this.game=theGame;this.snds["agony7"]=this.sndagony7;this.snds["pop"]=this.sndpop;this.snds["clink"]=this.sndclink;this.snds["pain"]=this.sndpain;this.snds["die"]=this.snddie;this.snds["win"]=this.sndwin;this.snds["shoot"]=this.sndshoot;this.snds["shoot2"]=this.sndshoot2;this.snds["hit"]=this.sndhit;this.snds["zwoo"]=this.sndzwoo;this.snds["zcreak"]=this.sndcreak;this.snds["phawap"]=this.sndphawap;this.snds["door01"]=this.snddoor01;this.snds["door03"]=this.snddoor03;this.snds["door04"]=this.snddoor04;this.snds["lock03"]=this.sndlock03;this.snds["door2opn"]=this.snddoor2opn;this.snds["coinsdropping"]=this.sndcoinsdropping;this.snds["klang01"]=this.sndklang01;this.snds["keyup"]=this.sndkeyup;this.snds["flagup"]=this.sndflagup;this.snds["fizzle"]=this.sndfizzle;this.snds["explode"]=this.sndexplode;this.snds["falling"]=this.sndfalling;this.snds["dud"]=this.snddud;this.snds["blub01"]=this.sndblub01;this.snds["thunk01"]=this.sndthunk01;},haveSnds:function(){if(this.snds.length>0){return true;}else{return false;}},haveSound:function(sndname){if(!ig.Sound.enabled){return false;}
if(typeof(sndname)=="undefined"||sndname==""){return false;}
if(typeof(this.snds[sndname])=='undefined'){return false;}
return true;},play:function(sndname){if(!ig.Sound.enabled){return;}
if(typeof(sndname)=="undefined"||sndname==""){return;}
if(sndname=='silence'||sndname=='none'){return;}
if(typeof(this.snds[sndname])=='undefined'){return;}
if(typeof(this.snds[sndname].play)=='function'){this.snds[sndname].play();}}});});

// lib/game/entities/special/allsprites.js
ig.baked=true;ig.module('game.entities.special.allsprites').requires('impact.impact').defines(function(){ig.MySprites=ig.Class.extend({game:null,sprites:[],imgnoimage:new ig.Image('media/sprites/noimage.png'),init:function(theGame){this.game=theGame;this.loadGlobalSprites();this.loadLocalSprites();},loadGlobalSprites:function(){this.sprites["noimage.png"]=this.imgnoimage;},loadLocalSprites:function(){if(typeof(ig.game.myLocal.loadLocalSprites)=='function'){ig.game.myLocal.loadLocalSprites(this);}},addSprite:function(spritename,img){if(typeof(spritename)=='undefined'||spritename==""){return;}
this.sprites[spritename]=img;},haveSprites:function(){if(this.sprites.length>0){return true;}else{return false;}},getSpritePath:function(spritename){if(typeof(spritename)=="undefined"||spritename==""){return'media/sprites/noimage.png';}
if(typeof(this.sprites[spritename])=='undefined'){return'media/sprites/noimage.png';}
return'media/sprites/'+spritename;},getSprite:function(spritename){if(typeof(spritename)=="undefined"||spritename==""){return null;}
if(typeof(this.sprites[spritename])=='undefined'){return null;}
return this.sprites[spritename];}});});

// lib/game/entities/special/explosion.js
ig.baked=true;ig.module('game.entities.special.explosion').requires('impact.entity').defines(function(){EntityExplosion=ig.Entity.extend({size:{x:48,y:48},type:ig.Entity.TYPE.NONE,collides:ig.Entity.COLLIDES.NEVER,zIndex:71,timer:null,lifetime:.5,animSheet:new ig.AnimationSheet('media/sprites/explosion.png',48,48),init:function(x,y,settings){x=x-(this.size.x/2);y=y-(this.size.y/2);this.parent(x,y,settings);if(this.fizzle){this.addAnim('idle',0.05,[0,1,2,1],true);}else{this.addAnim('idle',0.05,[0,1,2,3,4,5,6,7,8,9,10,11],true);}
this.timer=new ig.Timer(this.lifetime);},update:function(){if(this.timer.delta()>0){this.kill();}
this.parent();}});});

// lib/game/entities/player.js
ig.baked=true;ig.module('game.entities.player').requires('impact.entity').defines(function(){EntityPlayer=ig.Entity.extend({name:'player',etype:'player',size:{x:40,y:30},offset:{x:0,y:10},backpack:null,animSheetNormal:null,animSheetFly:null,animSheetCoffin:null,collides:ig.Entity.COLLIDES.ACTIVE,bounciness:0,inlimbo:false,onlimboexit:"",fadechunk:0,fly:false,canfly:true,type:ig.Entity.TYPE.A,checkAgainst:ig.Entity.TYPE.B,name:"player",health:100,facing:'right',alpha:1,deadwait:3,limbotimer:null,onlimboexit:"kill",flytimer:null,flywaittimer:null,flyduration:1.5,flyrecovery:4,speed:100,moveconf:{useaccel:false},gravityFactor:1,accelGround:400,accelAir:200,velGround:0,velAir:0,jumpVel:200,jumpAccel:0,apogee:6,apogeecountdown:0,velYpast:0,weapons:null,boost:{x:0,y:0},boosttimer:null,boosted:false,maxVelUnboosted:{},intransit:false,velmod:{percent:{x:100,y:100},inc:{x:0,y:0}},collidetiles:[false,true,true,false],team:'bloo',animSheet:null,zIndex:49,framerate:.250,pndx:1,_postRespawn:false,init:function(x,y,settings){this.parent(x,y,settings);if(!ig.game.backpack){ig.game.backpack=new EntityBackpack(this);ig.game.backpack.preSpawnCleanup(this,"newgame")}
this.limbotimer=new ig.Timer(this.deadwait);this.boosttimer=new ig.Timer();this.flytimer=new ig.Timer(this.flyduration);this.flywaittimer=new ig.Timer(this.flyrecovery);},postInit:function(){this.iamhere();this._postRespawn=false;},iamhere:function(){if(this._postRespawn){ig.game.iamhere(this);}
this.initAnim();ig.game.backpack.iamhere(this);if(typeof(ig.game.myWeapons)!='undefined'){ig.game.myWeapons.iamhere(this);}
if(ig.game.myWinTracker!=null){ig.game.myWinTracker.iamhere(this);}},initAnim:function(){this.animSheetNormal=ig.game.myLocal.plyr.animSheetNormal;this.animSheetFly=ig.game.myLocal.plyr.animSheetFly;this.animSheetCoffin=ig.game.myLocal.plyr.animSheetCoffin;this.animSheet=this.animSheetNormal;this.addAnim('right',this.framerate*.95,[0,1,2,3]);this.addAnim('left',this.framerate*.95,[4,5,6,7]);this.addAnim('down',this.framerate,[8,9,10,11]);this.addAnim('up',this.framerate,[12,13,14,15]);this.addAnim('fall',1,[16,17,18,19,19,19,19,19]);},preSpawnCleanupPlayer:function(whyfor,died,row,col,whereto){MyGame.GVault.spawndata.whyfor=whyfor;MyGame.GVault.spawndata.whereto=whereto;MyGame.GVault.spawndata.died=died;this.type=ig.Entity.TYPE.NONE;this.intransit=true;ig.game.backpack.preSpawnCleanup(this,whyfor);ig.game.myWeapons.preSpawnCleanup(this,whyfor);if(died){ig.game.backpack.preDieCleanup(this,whyfor);}else{if(!ig.game.myDirector.isVisited(row,col)&&typeof(MyGame.GVault.xpinc['newlevel'])!='undefined'&&MyGame.GVault.xpinc['newlevel']>0){if(ig.game.myWinTracker!=null){ig.game.myWinTracker.incGoalsDone({xp:MyGame.GVault.xpinc['newlevel']});}}}},sameLevelSpawn:function(whereto,whyfor,died){var spawnpoint=ig.game.getEntityByName(whereto);if(typeof(spawnpoint)=='undefined'){spawnpoint=ig.game.getEntityByName('pspawn');}
var sx;var sy;if(spawnpoint){var sp=this.calcSpawnShift(this,spawnpoint);sx=sp.pos.x;sy=sp.pos.y;}else{sx=ig.game.mapWidth/2;sy=ig.game.mapHeight/2;}
this.type=ig.Entity.TYPE.NONE;this.checkAgainst=ig.Entity.TYPE.NONE;this._killed=true;ig.game.removeEntity(this);var plyr=ig.game.spawnEntity(EntityPlayer,sx,sy);plyr._postRespawn=true;},handleTrigger:function(){if(ig.game.myTriggers==null){return;}
var tiles=ig.game.myTriggers.getTiles(this);var sum=0;for(var i=0;i<tiles.length;i++){var tile=tiles[i];if(tile>0){sum+=tile;}}
if(sum>0){this.pos.x=this.last.x;this.pos.y=this.last.y;}},check:function(other){},touches:function(other){if(other.etype=='wallb'){return false;}
return this.parent(other);},update:function(){if(this._postRespawn){this.postInit();}
if(this.velYpast<0&this.vel.y>0){this.apogeecountdown=this.apogee;}
this.velYpast=this.vel.y;if(this.inlimbo){this.updateLimbo();return;}
ig.game.backpack.updateish(this);if(ig.game.backpack.deathcheck){return;}
if(ig.input.state('fly')&&MyGame.GVault.allowfly){this.setFly(true);}
this.doMovement();this.doVelMod();if(this.weapons!=null){this.weapons.doWeaponCheck();}
this.setCurrentAnim(this.facing);if(ig.input.pressed('shoot')){if(!this.weapons.isWeaponEquipped()){return;}
this.weapons.shootWeapon(this,this.facing);}
if(!this.canfly&&this.flywaittimer.delta()>0){this.canfly=true;}
if(this.fly&&this.flytimer.delta()>0){this.setFly(false);}
this.parent();this.handleTrigger();},updateLimbo:function(){if(this.limbotimer.delta()>0){this.inlimbo=false;this.fadechunk=0;if(this.onlimboexit=="kill"){this.kill();}}
this.vel.x=0;if(this.currentAnim!=this.anims.fall){this.vel.y=-24;}
this.parent();var delta=this.limbotimer.delta();delta=Math.abs(delta);if(this.fadechunk==0){this.fadechunk=delta;}else{this.currentAnim.alpha=delta/this.fadechunk;}},doMovement:function(){if(MyGame.GVault.world=='flat'){this.doMovementFlat();this.addBoost();}else{this.doMovementSide();this.addBoost();}
this.noLeaveMap();},addBoost:function(){if(!this.boosted){return;}
if(this.boosttimer.delta()<0){this.vel.x+=this.boost.x;this.vel.y+=this.boost.y;}else{this.boost.x=0;this.boost.y=0;this.boosted=false;this.maxVel.x=this.maxVelUnboosted.x;this.maxVel.y=this.maxVelUnboosted.y;}},doVelMod:function(){this.vel.x*=(this.velmod.percent.x/100);this.vel.x+=this.velmod.inc.x;this.vel.y*=(this.velmod.percent.y/100);this.vel.y+=this.velmod.inc.y;this.velmod={percent:{x:100,y:100},inc:{x:0,y:0}};},doMovementFlat:function(){if(this.moveconf.useaccel){if(ig.input.state('pup')){this.accel.y=-1*this.speed;this.facing='up';}else if(ig.input.state('pdown')){this.accel.y=this.speed;this.facing='down';}else{this.accel.y*=.5;if(Math.abs(this.accel.y/this.speed)<.1){this.accel.y=0;}}
if(ig.input.state('pright')){this.accel.x=this.speed;this.facing='right';}else if(ig.input.state('pleft')){this.accel.x=-1*this.speed;this.facing='left';}else{this.accel.x*=.5;if(Math.abs(this.accel.x/this.speed)<.1){this.accel.x=0;}}}else{if(ig.input.state('pup')){this.vel.y=-1*this.speed;this.facing='up';}else if(ig.input.state('pdown')){this.vel.y=this.speed;this.facing='down';}else{this.vel.y=0;}
if(ig.input.state('pright')){this.vel.x=this.speed;this.facing='right';}else if(ig.input.state('pleft')){this.vel.x=-1*this.speed;this.facing='left';}else{this.vel.x=0;}}},noLeaveMap:function(){if(this.pos.x>=ig.game.mapWidth-this.size.x/2){this.pos.x=ig.game.mapWidth-this.size.x-2*this.offset.x;}else if(this.pos.x<0){this.pos.x=0;}
if(this.pos.y>=ig.game.mapHeight-this.size.y/2){this.pos.y=ig.game.mapHeight-this.size.y-2*this.offset.y;}else if(this.pos.y<0){this.pos.y=0;}},doMovementSide:function(){var accel=this.standing?this.accelGround:this.accelAir;var vel=this.standing?this.velGround:this.velAir;if(ig.input.state('pleft')){this.facing='left';this.accel.x=-accel;this.vel.x+=-vel;}
else if(ig.input.state('pright')){this.facing='right';this.accel.x=accel;this.vel.x+=vel;}
else{this.accel.x=0;}
if(this.standing&&ig.input.pressed('pup')){this.vel.y=-this.jumpVel;this.accel.y=-this.jumpAccel;}
if(this.apogeecountdown>0){if(ig.input.pressed('pup')){this.vel.y=-this.jumpVel;this.accel.y=-this.jumpAccel;}
this.apogeecountdown--;}},setCurrentAnim:function(direction){if(direction=='up'){this.currentAnim=this.anims.up;}else if(direction=='down'){this.currentAnim=this.anims.down;}else if(direction=='right'){this.currentAnim=this.anims.right;}else if(direction=='left'){this.currentAnim=this.anims.left;}
this.currentAnim.alpha=this.alpha;},setFly:function(tryflyon){if(this.fly&&tryflyon){return;}
if(!this.fly&&!tryflyon){return;}
if(tryflyon&&!this.canfly){return;}
if(tryflyon){this.fly=true;this.flytimer.reset();this.animSheet=this.animSheetFly;this.addAnim('right',.25,[0,1,2,3]);this.addAnim('left',.25,[4,5,6,7]);this.addAnim('down',.25,[8,9,10,11]);this.addAnim('up',.25,[12,13,14,15]);this.alpha=ig.game.myLocal.plyr.flyalpha;this.offset=ig.game.myLocal.plyr.flyoffset;}else{this.fly=false;this.flywaittimer.reset();this.canfly=false;this.animSheet=this.animSheetNormal;this.addAnim('right',.25,[0,1,2,3]);this.addAnim('left',.25,[4,5,6,7]);this.addAnim('down',.25,[8,9,10,11]);this.addAnim('up',.25,[12,13,14,15]);this.addAnim('fall',.25,[16,17,18,19,19,19,19,19],true);this.alpha=ig.game.myLocal.plyr.alpha;this.offset=ig.game.myLocal.plyr.offset;}
this.setCurrentAnim(this.facing);},receiveDamage:function(amount,from){if(ig.game.godmode||this.intransit){return;}
if(amount==0){return;}
if(ig.game.backpack.deathcheck){return;}
if(typeof(from.name)=='undefined'){}else if(from.name=="lava"){}else if(from.name=="hole"||from.name=="trench"){ig.game.mySounds.play("falling");this.currentAnim=this.anims.fall;this.vel.x=0;this.vel.y=0;this.accel.x=0;this.accel.y=0;this.inlimbo=true;this.onlimboexit="kill";this.limbotimer.reset(1.5);this.type=ig.Entity.TYPE.NONE;if(this.facing=='up'){this.pos.y-=this.size.y;}else if(this.facing=='down'){this.pos.y+=this.size.y;}else if(this.facing=='right'){this.pos.x+=this.size.x;}else if(this.facing=='left'){this.pos.x-=this.size.x;}else{}
return;}else if(from.name=="bomb"){ig.game.mySFX.iamHit(this,amount,from);}
if(typeof(from.etype)=='undefined'&&from.etype=='projectile'&&!from.playerkill){return;}
if(this.health<=amount){ig.game.mySounds.play("die");this.setToDie();}else{this.health-=amount;if(from.name=="lava"){ig.game.mySounds.play("phawap");}else{ig.game.mySounds.play("pain");}
ig.game.backpack.receiveDamageish(this,amount,from);}},receiveHealth:function(amount,from){this.health+=amount;ig.game.backpack.receiveHealthish(this,amount,from);},receiveBoost:function(from,boost){if(this.boosted){return;}
if(MyGame.GVault.world=='side'){if(boost.type==1){this.vel.y+=-1*boost.up;if(this.facing=='right'){this.vel.x+=boost.side;}else{this.vel.x+=-1*boost.side;}
return;}else{this.boost.y+=-1*boost.up;if(this.facing=='right'){this.boost.x+=boost.side;}else{this.boost.x+=-1*boost.side;}}}else{if(this.facing=='up'){this.boost.y-=boost.up;}else if(this.facing=='down'){this.boost.y+=boost.up;}else if(this.facing=='right'){this.boost.x+=boost.side;}else if(this.facing=='left'){this.boost.x-=boost.side;}else{}}
this.maxVelUnboosted.x=this.maxVel.x;this.maxVelUnboosted.y=this.maxVel.y;this.maxVel.x=this.boost.x;this.maxVel.y=this.boost.y;this.boosttimer.set(boost.duration);this.boosted=true;},setToDie:function(){this.animSheet=this.animSheetCoffin;this.addAnim('dead',1,[0]);this.currentAnim=this.anims.dead;this.alpha=1;this.inlimbo=true;this.onlimboexit="kill";this.limbotimer.reset(this.deadwait);this.type=ig.Entity.TYPE.NONE;},kill:function(){this.parent();var spawnpoint=ig.game.getEntityByName("pspawn");if(spawnpoint){this.preSpawnCleanupPlayer("respawn",true,-1,-1,'pspawn');this.sameLevelSpawn("pspawn","respawn",true);}else{this.preSpawnCleanupPlayer("gostart",true,-1,-1,'pspawn');ig.game.myDirector.goStart();}},moveToPoint:function(targetpoint){var spawnpoint=ig.game.getEntityByName(targetpoint);if(typeof(spawnpoint)=='undefined'){return;}
var sp=this.calcSpawnShift(this,spawnpoint);this.pos.x=sp.pos.x;this.pos.y=sp.pos.y;},calcSpawnShift:function(obj,spawnpoint){var sp=ig.game.myLib.cloneSimple(spawnpoint);sp.pos.x+=sp.size.x/2;sp.pos.y+=sp.size.y/2;sp.pos.x-=(obj.size.x/2);sp.pos.y-=(obj.size.y/2);return sp;},handleMovementTrace:function(res){this.parent(res);},draw:function(){this.parent();}});EntityBackpack=ig.Class.extend({player:null,health:0,starthealth:0,possessions:[],carry:[],followers:[],keys:[],keydropsound:"lock03",keypickupsound:"keyup",trace:"",justkilled:false,inittype:"start",damagedo:30,lastdeath:0,deathwindow:200,deathcheck:false,lives:5,gold:0,projcount:0,projcountmax:7,dropgoldsound:"coinsdropping",lvlval:{},curval:{},defval:{flyduration:1.5,flyrecovery:4,jumpVel:200,jumpAccel:0,gravityFactor:1,accelGround:400,accelAir:200,velGround:0,velAir:0,apogee:5,bounciness:0},init:function(player){this.player=player;this.gvaultToBP();this.resetCurVals();},gvaultToBP:function(){this.immortal=MyGame.GVault.immortal;this.lives=MyGame.GVault.lives;this.defval['apogee']=MyGame.GVault.pdefs['apogee'];MyGame.GVault.bploaded=true;},resetCurVals:function(){for(attrib in this.defval){this.lvlval[attrib]=-1;this.curval[attrib]=this.defval[attrib];}},preSpawnCleanup:function(player,stype){this.inittype=stype;this.resetCurVals();for(var i=0;i<this.carry.length;i++){var carryitem=this.carry[i];if(carryitem.ent==null){continue;}
if(stype!='respawn'||(carryitem.ent.attachon&&carryitem.ent.attachon.respawn!='true')){if(typeof(carryitem.ent.detachCleanup)=='function'){carryitem.ent.detachCleanup();}
carryitem.ent=null;}}},preDieCleanup:function(player,stype){this.justkilled=true;var d=new Date();var t=d.getTime();this.lastdeath=t;this.deathcheck=true;this.lives-=1;if(this.lives<=0&&MyGame.GVault.endoflives=='gameover'){ig.game.gameover(false);}},iamhere:function(player){this.player=player;player.backpack=this;if(this.inittype=="newgame"){this.starthealth=player.health;this.health=player.health;this.possessions=[];this.carry=[];this.followers=[];this.keys=[];}else if(this.inittype=="gostart"){if(this.starthealth==0){this.starthealth=player.health;}
this.health=this.starthealth;this.possessions=[];this.carry=[];this.followers=[];this.keys=[];}else if(this.inittype=="respawn"){this.health=this.starthealth;player.health=this.starthealth;for(var i=0;i<this.carry.length;i++){var carryitem=this.carry[i];if(carryitem.ent==null){continue;}
var carryent=carryitem.ent;if(!carryent._killed&&carryent.attachto&&carryent.attachto.name=='player'){carryent.attachto.ent=player;if(typeof(carryent.attachCleanup)=='function'){carryent.attachCleanup();}}}}else if(this.inittype=="strap"){player.health=this.health;for(var i=0;i<this.carry.length;i++){var carryitem=this.carry[i];var carryent=carryitem.ent;if(carryitem.settings.attachon.strap!='true'){continue;}
if(carryent==null){carryitem.settings.postinitnow=true;ig.game.spawnEntity(carryitem.dupeClass,player.pos.x,player.pos.y,carryitem.settings);}}}else{player.health=this.health;}
this.inittype="";this.setCurVals();this.transBPtoPlayer();},setCurVals:function(){this.projcount=0;for(attrib in this.defval){this.curval[attrib]=(this.lvlval[attrib]!=-1)?this.lvlval[attrib]:this.defval[attrib];}},transBPtoPlayer:function(){this.player.flyduration=this.curval['flyduration'];this.player.flyrecovery=this.curval['flyrecovery'];this.player.bounciness=this.curval['bounciness'];this.player.jumpVel=this.curval['jumpVel'];this.player.jumpAccel=this.curval['jumpAccel'];this.player.gravityFactor=this.curval['gravityFactor'];this.player.accelGround=this.curval['accelGround'];this.player.accelAir=this.curval['accelAir'];this.player.velGround=this.curval['velGround'];this.player.velAir=this.curval['velAir'];this.player.apogee=this.curval['apogee'];},addtrace:function(msg){trace=trace+" ; "+msg;},incGoalsDone:function(settings,fromwho){if(typeof(settings.gold)!='undefined'){this.gold+=settings.gold;}
if(ig.game.myWinTracker!=null){ig.game.myWinTracker.incGoalsDone(settings);}},addKey:function(other){var index=this.findKey(other.keyid);if(index>=0){this.keys[index].keyuses+=other.keyuses;}else{var key={id:other.keyid,keyuses:other.keyuses};this.keys.push(key);}
var sndname=(other.snd.pickup!='')?other.snd.pickup:this.keypickupsound;ig.game.mySounds.play(sndname);},findKey:function(keyid){for(var i=0;i<this.keys.length;i++){if(this.keys[i].id==keyid){return i;}}
return-1;},addCarry:function(other){var index=this.findCarry(other.keyid);if(index>=0){this.carry[index]={id:other.keyid,ent:other,settings:other.settings,dupeClass:other.dupeClass};return;}
var ent={id:other.keyid,ent:other,settings:other.settings,dupeClass:other.dupeClass};this.carry.push(ent);},findCarry:function(keyid){for(var i=0;i<this.carry.length;i++){if(this.carry[i].id==keyid){return i;}}
return-1;},checkKey:function(other){if(other.keyid=='gold'){if(this.gold>=other.keyuses){return true;}}else{var index=this.findKey(other.keyid);if(index<0){return false;}
if(this.keys[index].keyuses>=other.keyuses){return true;}}
return false;},useKey:function(other,keysound){if(other.keyid==''){return true;}
if(other.keyid=='gold'){if(this.gold>=other.keyuses){ig.game.backpack.incGoalsDone({gold:-1*other.keyuses});ig.game.mySounds.play(this.dropgoldsound);return true;}}else{var index=this.findKey(other.keyid);if(index<0){return false;}
if(this.keys[index].keyuses>=other.keyuses){this.keys[index].keyuses-=other.keyuses;if(typeof(keysound)!="undefined"&&keysound!=""){ig.game.mySounds.play(keysound);}else{ig.game.mySounds.play(this.keydropsound);}
return true;}}
return false;},receiveDamageish:function(player,amount,from){if(this.deathcheck){return;}
this.health-=amount;},receiveHealthish:function(player,amount,from){this.health+=amount;if(this.starthealth<this.health){this.health=this.starthealth;player.health=this.starthealth;}},updateish:function(player){if(this.deathcheck){var d=new Date();var t=d.getTime();if(t-this.lastdeath<this.deathwindow){}else{this.deathcheck=false;}}}});});

// lib/game/entities/coin.js
ig.baked=true;ig.module('game.entities.coin').requires('game.entities.special.treasure').defines(function(){EntityCoin=EntityTreasure.extend({size:{x:28,y:28},offset:{x:5,y:5},name:"coin",gold:30,animSheet:new ig.AnimationSheet("media/sprites/coin.png",38,38),init:function(x,y,settings){this.parent(x,y,settings);var anim=this.addAnim("rotating",this.framerate,[0,1,2,3,4,5,6,7]);this.currentAnim=anim;this.setFlippish();}});});

// lib/game/entities/chest.js
ig.baked=true;ig.module('game.entities.chest').requires('game.entities.special.treasure').defines(function(){EntityChest=EntityTreasure.extend({size:{x:30,y:25},offset:{x:15,y:15},name:"chest",gold:250,isactivated:false,animSheet:new ig.AnimationSheet("media/sprites/chest.png",60,55),init:function(x,y,settings){this.parent(x,y,settings);}});});

// lib/game/entities/blackboard.js
ig.baked=true;ig.module('game.entities.blackboard').requires('impact.entity').defines(function(){EntityBlackboard=ig.Entity.extend({name:"blackboard",size:{x:624,y:96},offset:{x:0,y:0},marginbottom:24,margintop:36,displaytime:2.5,displayat:'bottom',message:'',_waitforkey:false,timer:null,zIndex:100,font:new ig.Font('media/fonts/arial20.png'),fontsmall:new ig.Font('media/fonts/arial12black.png'),fontsize:18,type:ig.Entity.TYPE.NONE,checkAgainst:ig.Entity.TYPE.NONE,collides:ig.Entity.COLLIDES.NEVER,animSheet:new ig.AnimationSheet("media/sprites/blackboard.png",624,96),staticpos:{x:0,y:0},gravityFactor:0,dying:false,init:function(x,y,settings){if(!ig.global.wm){this.displayat=MyGame.GVault.blackboard.displayat;ig.game.blackboardinuse++;if(typeof(ig.game)!='undefined'){if(ig.game.blackboardinuse>1){this.kill();return;}}}
if(!ig.global.wm){if(typeof(settings.waitforkey)!="undefined"){this._waitforkey=ig.game.myLib.str2boolean(settings.waitforkey);}
if(typeof(settings.wait)!="undefined"){this._waitforkey=ig.game.myLib.str2boolean(settings.wait);}}
this.addAnim("idle",1,[0]);this.parent(x,y,settings);this.reSizeIfNecessary();this.pos.x=Math.floor((ig.system.width-this.size.x)/2);this.pos.y=ig.system.height-this.size.y-this.marginbottom;this.staticpos.x=this.pos.x;this.staticpos.y=this.pos.y;this.timer=new ig.Timer(this.displaytime);if(settings.postinitnow){this.postInit();}},postInit:function(){if(MyGame.GVault.world=='side'||this.displayat=='top'){this.staticpos.y=this.margintop;}},reSizeIfNecessary:function(){return;var image=this.animSheet.image;if(image==null){return;}
if(image.width<ig.system.width){return;}
var scale=Math.floor(ig.system.width/image.width);scale=.5;image.resize(scale);this.animSheet.width=image.width;this.animSheet.height=image.height;},update:function(){var xxx=typeof(ig.game);var xxy=typeof(ig.game.camera);if(typeof(ig.game)!='undefined'&&typeof(ig.game.camera)!='undefined'){this.pos.x=this.staticpos.x+ig.game.camera.pos.x;this.pos.y=this.staticpos.y+ig.game.camera.pos.y;var xx=ig.game.camera.offset.x;var yy=ig.game.camera.offset.y;}
if(this._waitforkey){if(ig.input.state('shoot')||ig.input.state('fly')){this.kill();}}else if(this.timer==null){}else{if(this.timer.delta()>0){this.kill();}}},kill:function(){ig.game.blackboardinuse--;this.parent();},draw:function(){this.parent();var centerx=this.staticpos.x+Math.floor(this.size.x/2);var centery=this.staticpos.y+Math.floor(this.size.y/2-this.fontsize/2);var bottomy=this.staticpos.y+this.size.y-18;this.font.draw(this.message,centerx,centery,ig.Font.ALIGN.CENTER);if(this._waitforkey){this.fontsmall.draw("shoot to close",centerx,bottomy,ig.Font.ALIGN.CENTER);}}});});

// lib/game/main.js
ig.baked=true;ig.module('game.main').requires('impact.game','impact.font','game.mylocal','plugins.xxaxx.dropper','plugins.xxaxx.mylib','plugins.xxaxx.annotate','plugins.xxaxx.sfx','plugins.xxaxx.weapons','plugins.xxaxx.wintracker','plugins.xxaxx.director2dim','plugins.xxaxx.otagevents','plugins.xxaxx.triggers','plugins.xxaxx.camera','plugins.impact.impact-splash-loader','game.entities.special.gvault','game.entities.special.creature','game.entities.special.allsounds','game.entities.special.allsprites','game.entities.special.explosion','game.entities.player','game.entities.gem','game.entities.coin','game.entities.chest','game.entities.otext','game.entities.blackboard').defines(function(){MyGame=ig.Game.extend({font:new ig.Font('media/fonts/trebuchet18px.png'),fontsmall:new ig.Font('media/fonts/trebuchet14px.png'),player:null,playerMDL:'bloo',backpack:null,myLocal:null,myDropper:null,myLib:null,myAnnotate:null,mySFX:null,myOTags:null,myTriggers:null,myDirector:null,myWeapons:null,myWinTracker:null,mySounds:null,mySprites:null,blackboardinuse:0,camera:null,gravityflat:0,gravityside:300,gravity:0,maxVelflat:{x:100,y:100},maxVelside:{x:100,y:200},maxVel:{x:100,y:100},frictionflat:{x:0,y:0},frictionside:{x:600,y:0},friction:{x:0,y:0},prevGame:{level:{row:-1,col:-1}},mapWidth:null,mapHeight:null,isgameover:false,init:function(){this.readMyLocal();this.setMyLib();this.setMyAnnotate();this.setMyOTags();this.setMyTriggers();this.getCookies();this.setMobile();this.setSounds();this.setKeyBinds();this.setCamera();this.setWeapons();this.setWinTracker();this.setSprites();this.setDropper();this.setSFX();this.setDirector();this.setMusic();},loadLevel:function(data){this.parent(data);for(var i=0;i<this.backgroundMaps.length;i++){this.backgroundMaps[i].preRender=true;}
if(this.myTriggers!=null){this.myTriggers.assignTriggerMaps();}
this.mapWidth=this.collisionMap.width*this.collisionMap.tilesize;this.mapHeight=this.collisionMap.height*this.collisionMap.tilesize;for(var i=0;i<this.entities.length;i++){var ent=this.entities[i];if(ent._killed||typeof(ent.etype)=='undefined'){continue;}
if(ent.etype=='config'&&typeof(ent.postInit)=='function'){ent.postInit();}}
this.postConfigSetWorldMode();this.spawnPlayer();this.player.postInit();for(var i=0;i<this.entities.length;i++){var ent=this.entities[i];if(ent._killed||typeof(ent.etype)=='undefined'){continue;}
if(ent.etype!='config'&&typeof(ent.postInit)=='function'){ent.postInit();}}
ig.game.sortEntitiesDeferred();var curlevel=this.myDirector.whatIsCurrentLevel();if(MyGame.GVault.startofgame){this.postInit();}else{if((curlevel.row!=0||curlevel.col!=0)&&curlevel.isnew){var curlevel_asstring="row:"+curlevel.row+", col:"+curlevel.col;this.myLib.saveGameCookie('level',curlevel_asstring);}}
if(this.myAnnotate!=null){this.myAnnotate.loadLevelAnnotation(curlevel.row,curlevel.col);}},postInit:function(){MyGame.GVault.startofgame=false;},readMyLocal:function(){this.myLocal=new ig.MyLocal(this);if(MyGame.GVault.sounddisabled){ig.Sound.enabled=false;}else{if(!ig.Sound.enabled){MyGame.GVault.sounddisabled=true;}}},setMyLib:function(){this.myLib=new ig.MyLib(this);},setMyAnnotate:function(){if(!MyGame.GVault.hasannotations){return;}
if(typeof(ig.MyAnnotate)=='undefined'){return;}
this.myAnnotate=new ig.MyAnnotate(this);},setMyOTags:function(){if(typeof(ig.Otagevents)=='undefined'){return;}
this.myOTags=new ig.Otagevents(this);},setMyTriggers:function(){if(typeof(ig.Triggers)=='undefined'){return;}
this.myTriggers=new ig.Triggers(this);},getCookies:function(){this.getSystemCookie();this.getGameCookie();},getSystemCookie:function(){},getGameCookie:function(){var prevlevel_asstring=this.myLib.loadGameCookie('level');var obj=null;if(prevlevel_asstring==null){this.prevGame.level={row:0,col:0};}else{obj=this.myLib.Str2Object(prevlevel_asstring);if(obj!=null){this.prevGame.level=obj;}}
var scorestr=this.myLib.loadGameCookie('score');if(scorestr!=null){obj=this.myLib.Str2Object(scorestr);MyGame.GVault.oldscore=obj;}},setMobile:function(){if(!ig.ua.mobile){return;}
ig.Sound.enabled=false;MyGame.GVault.sounddisabled=true;ig.input.bindTouch('#buttonLeft','pleft');ig.input.bindTouch('#buttonRight','pright');ig.input.bindTouch('#buttonShoot','shoot');ig.input.bindTouch('#buttonUp','pup');ig.input.bindTouch('#buttonDown','pdown');ig.input.bindTouch('#buttonTab','fly');},setCamera:function(){this.camera=new Camera(ig.system.width/4,ig.system.height/3,5);this.camera.trap.size.x=ig.system.width/3;this.camera.trap.size.y=ig.system.height/3;this.camera.lookAhead.x=ig.ua.mobile?ig.system.width/6:0;},setKeyBinds:function(){if(ig.ua.mobile){return;}
ig.input.bind(ig.KEY.TAB,'fly');ig.input.bind(ig.KEY.UP_ARROW,'pup');ig.input.bind(ig.KEY.DOWN_ARROW,'pdown');ig.input.bind(ig.KEY.LEFT_ARROW,'pleft');ig.input.bind(ig.KEY.RIGHT_ARROW,'pright');ig.input.bind(ig.KEY.W,'pup');ig.input.bind(ig.KEY.S,'pdown');ig.input.bind(ig.KEY.A,'pleft');ig.input.bind(ig.KEY.D,'pright');ig.input.bind(ig.KEY.SPACE,'shoot');ig.input.bind(ig.KEY.H,'togglehud');ig.input.bind(ig.KEY._1,'weapon1');ig.input.bind(ig.KEY._2,'weapon2');ig.input.bind(ig.KEY._3,'weapon3');ig.input.bind(ig.KEY._4,'weapon4');ig.input.initMouse();return;},setDirector:function(){this.myDirector=new ig.Director2dim(this,MyGame.GVault.levels);this.myDirector.goStart();return;},setWeapons:function(){this.myWeapons=new ig.Weapons(this);for(var i=0;i<MyGame.GVault.weapons.length;i++){this.myWeapons.addWeapon(MyGame.GVault.weapons[i].name,MyGame.GVault.weapons[i].template);}},setWinTracker:function(){if(typeof(ig.Wintracker)=='undefined'){return;}
this.myWinTracker=new ig.Wintracker(this);this.myWinTracker.setGoals(MyGame.GVault.goals);this.myWinTracker.hudon=MyGame.GVault.hudstarton;},spawnPlayer:function(){var spawnpoint;if(MyGame.GVault.spawndata.whereto!=''){spawnpoint=ig.game.getEntityByName(MyGame.GVault.spawndata.whereto);}
if(!spawnpoint){spawnpoint=ig.game.getEntityByName("pspawn");}
if(!spawnpoint){spawnpoint=ig.game.getEntityByName("pdown");}
var sx;var sy;if(spawnpoint){var pclass=typeof(MyGame.GVault.playerClass)==='string'?ig.global[MyGame.GVault.playerClass]:MyGame.GVault.playerClass;var sp=pclass.prototype.calcSpawnShift(pclass.prototype,spawnpoint);sx=sp.pos.x;sy=sp.pos.y;}else{sx=ig.game.mapWidth/2;sy=ig.game.mapHeight/2;}
var plyr=ig.game.spawnEntity(MyGame.GVault.playerClass,sx,sy);this.iamhere(plyr);return;},addMusic:function(filename,name){ig.music.add('media/music/'+filename+'.*',name);},setMusic:function(){if(!ig.Sound.enabled){return;}
if(MyGame.GVault.musicdisabled){return;}
this.addMusic('dungn10','start');ig.music.volume=0.6;ig.music.play('start');return;},setDropper:function(){if(typeof(ig.Dropper)=='undefined'){return;}
this.myDropper=new ig.Dropper(this);if(typeof(EntityGem)!='undefined'){this.myDropper.addDrop(EntityGem),4;}
if(typeof(EntityCoin)!='undefined'){this.myDropper.addDrop(EntityCoin,6);}
if(typeof(EntityChest)!='undefined'){this.myDropper.addDrop(EntityChest,2);}},setSFX:function(){if(typeof(ig.Sfx)=='undefined'){return;}
this.mySFX=new ig.Sfx(this);},setSounds:function(){this.mySounds=new ig.MySounds(this);},setSprites:function(){this.mySprites=new ig.MySprites(this);},iamhere:function(player){this.player=player;this.myLocal.iamhere(player);player.friction=this.friction;player.maxVel=this.maxVel;this.camera.max.x=this.collisionMap.width*this.collisionMap.tilesize-ig.system.width;this.camera.max.y=this.collisionMap.height*this.collisionMap.tilesize-ig.system.height;this.camera.set(this.player);if(ig.Sound.enabled){ig.music.volume=MyGame.GVault.defaultVolume;}},update:function(){if(!this.isgameover&&this.player){this.camera.follow(this.player);if(this.Wintracker!=null){this.myWinTracker.winCheck();}}
this.parent();if(ig.input.state('togglehud')){if(this.Wintracker!=null){this.myWinTracker.toggleHUD();}}},realX:function(){var realX=ig.input.mouse.x+ig.game.screen.x;return realX;},realY:function(){var realY=ig.input.mouse.y+ig.game.screen.y;return realY;},draw:function(){this.parent();if(this.myWinTracker!=null&&typeof(this.myWinTracker.drawHUD)=='function'){this.myWinTracker.drawHUD();}
if(typeof(this.myLocal.drawHUD)=='function'){this.myLocal.drawHUD();}
var msg='row: '+this.myDirector.currentRow+', col: '+this.myDirector.currentCol;var msgwidth=this.fontsmall.widthForString(msg);var x=ig.system.width-msgwidth-6;y=10;this.fontsmall.draw(msg,x,y,ig.Font.ALIGN.LEFT);},postConfigSetWorldMode:function(){if(MyGame.GVault.world=='flat'){ig.game.setWorldFlat();}else{ig.game.setWorldSide();}},setWorldFlat:function(){this.gravity=this.gravityflat;this.friction=this.frictionflat;this.maxVel=this.maxVelflat;},setWorldSide:function(){this.gravity=this.gravityside;this.friction=this.frictionside;this.maxVel=this.maxVelside;},setWorldFromConfig:function(settings,globalish){if(typeof(settings.world)!='undefined'){if(ig.game.myLib.StrPos(settings.world,'flat')){MyGame.GVault.world='flat';if(globalish){MyGame.GVault.defworld='flat';}}else if(ig.game.myLib.StrPos(settings.world,'side')){MyGame.GVault.world='side';if(globalish){MyGame.GVault.defworld='side';}}}
if(typeof(settings.maxVel)!="undefined"){if(typeof(settings.maxVel.x)!="undefined"){this.maxVel.x=settings.maxVel.x;if(globalish){if(MyGame.GVault.defworld=='flat'){this.maxVelflat.x=settings.maxVel.x;}else{this.maxVelside.x=settings.maxVel.x;}}}
if(typeof(settings.maxVel.y)!="undefined"){this.maxVel.y=settings.maxVel.y;if(globalish){if(MyGame.GVault.defworld=='flat'){this.maxVelflat.y=settings.maxVel.y;}else{this.maxVelside.y=settings.maxVel.y;}}}}
if(typeof(settings.friction)!="undefined"){if(typeof(settings.friction.x)!="undefined"){this.friction.x=settings.friction.x;if(globalish){if(MyGame.GVault.defworld=='flat'){this.frictionflat.x=settings.friction.x;}else{this.frictionside.x=settings.friction.x;}}}
if(typeof(settings.friction.y)!="undefined"){this.friction.y=settings.friction.y;if(globalish){if(MyGame.GVault.defworld=='flat'){this.frictionflat.y=settings.friction.y;}else{this.frictionside.y=settings.friction.y;}}}}
if(typeof(settings.gravity)!="undefined"){this.gravity=settings.gravity;if(globalish){if(MyGame.GVault.defworld=='flat'){this.gravityflat=settings.gravity;}else{this.gravityside=settings.gravity;}}}},levelover:function(){this.blackboardinuse=0;ig.input.clearPressed();if(MyGame.GVault.defworld=='flat'){ig.game.setWorldFlat();}else{ig.game.setWorldSide();}
MyGame.GVault.world=MyGame.GVault.defworld;},gameover:function(won){this.isgameover=true;if(won){ig.music.fadeOut(3*60);if(typeof(LevelGameover)!='undefined'){this.loadLevel(LevelGameover);}else{var gameoverurl=this.myLib.GrabDir(document.location.href);gameoverurl+='/gameover.html';document.location.href=gameoverurl;}}else{ig.game.mySounds.play("lose");ig.music.fadeOut(3*60);if(typeof(LevelGamelose)!='undefined'){this.loadLevel(LevelGamelose);}else if(typeof(LegvelGameover)!='undefined'){this.loadLevel(LevelGameover);}else{var gameoverurl=this.myLib.GrabDir(document.location.href);gameoverurl+='/gameover.html';document.location.href=gameoverurl;}}}});MyGame.GVault={startofgame:true,spawndata:{whereto:'',whyfor:'',died:false},godmode:false,gamename:'goddimpact',defaultVolume:.6,musicdisabled:false,sounddisabled:false,bploaded:false,lives:9,immortal:true,endoflives:'continue',configUpdated:false,sogConfigDone:false,defworld:'flat',world:'flat',xpinc:{newlevel:0,died:0},goals:{xp:0,gold:0,kills:0,secrets:0,missions:0},oldscore:{},pdefs:{apogee:5},hudstarton:true,blackboard:{displayat:'bottom'},levels:[],weapons:[],allowfly:true,hasannotations:false,playerClass:'EntityPlayer'};if(typeof(ig.goddjs)!='undefined'){ig.main('#canvas',MyGame,ig.goddjs.fps,ig.goddjs.width,ig.goddjs.height,ig.goddjs.scale,ig.ImpactSplashLoader);}else{ig.main('#canvas',MyGame,60,768,480,1,ig.ImpactSplashLoader);}});
