mota-js/libs/maps.min.js
2017-12-08 14:57:13 +08:00

1 line
9.7 KiB
JavaScript

function maps(){}maps.prototype.init=function(){};maps.prototype.loadFloor=function(e,h){var d=core.floors[e];var c={};c.floorId=d.floorId;c.name=d.name;c.title=d.title;c.canFlyTo=d.canFlyTo;if(!core.isset(h)){h=d.map}var b=[];for(var f=0;f<13;f++){for(var g=0;g<13;g++){var a=this.getBlock(g,f,h[f][g]);if(a.event!=undefined){if(a.event.cls=="enemys"&&a.event.trigger==undefined){a.event.trigger="battle"}if(a.event.cls=="items"&&a.event.trigger==undefined){a.event.trigger="getItem"}if(a.event.noPass==undefined){if(a.event.cls=="enemys"||a.event.cls=="terrains"||a.event.cls=="npcs"){a.event.noPass=true}}if(a.event.animate==undefined){if(a.event.cls=="enemys"||a.event.cls=="npcs"){a.event.animate=2}if(a.event.cls=="animates"){a.event.animate=4}}}this.addEvent(a,g,f,d.events[g+","+f]);this.addChangeFloor(a,g,f,d.changeFloor[g+","+f]);if(d.checkBlock.indexOf(g+","+f)>=0){this.addEvent(a,g,f,{trigger:"checkBlock"})}if(core.isset(a.event)){b.push(a)}}}c.blocks=b;return c};maps.prototype.getBlock=function(d,e,b){var a=null;b=""+b;if(b.length>2){if(b.indexOf(":f")==b.length-2){b=b.substring(0,b.length-2);a=false}else{if(b.indexOf(":t")==b.length-2){b=b.substring(0,b.length-2);a=true}}}b=parseInt(b);var c={x:d,y:e,id:b};if(a!=null){c.enable=a}if(b==1){c.event={cls:"terrains",id:"yellowWall"}}if(b==2){c.event={cls:"terrains",id:"whiteWall"}}if(b==3){c.event={cls:"terrains",id:"blueWall"}}if(b==4){c.event={cls:"animates",id:"star",noPass:true}}if(b==5){c.event={cls:"animates",id:"lava",noPass:true}}if(b==6){c.event={cls:"terrains",id:"ice"}}if(b==7){c.event={cls:"terrains",id:"blueShop-left"}}if(b==8){c.event={cls:"terrains",id:"blueShop-right"}}if(b==9){c.event={cls:"terrains",id:"pinkShop-left"}}if(b==10){c.event={cls:"terrains",id:"pinkShop-right"}}if(b==11){c.event={cls:"animates",id:"lavaNet",noPass:false,trigger:"passNet"}}if(b==12){c.event={cls:"animates",id:"poisonNet",noPass:false,trigger:"passNet"}}if(b==13){c.event={cls:"animates",id:"weakNet",noPass:false,trigger:"passNet"}}if(b==14){c.event={cls:"animates",id:"curseNet",noPass:false,trigger:"passNet"}}if(b==21){c.event={cls:"items",id:"yellowKey"}}if(b==22){c.event={cls:"items",id:"blueKey"}}if(b==23){c.event={cls:"items",id:"redKey"}}if(b==24){c.event={cls:"items",id:"greenKey"}}if(b==25){c.event={cls:"items",id:"steelKey"}}if(b==26){c.event={cls:"items",id:"bigKey"}}if(b==27){c.event={cls:"items",id:"redJewel"}}if(b==28){c.event={cls:"items",id:"blueJewel"}}if(b==29){c.event={cls:"items",id:"greenJewel"}}if(b==30){c.event={cls:"items",id:"yellowJewel"}}if(b==31){c.event={cls:"items",id:"redPotion"}}if(b==32){c.event={cls:"items",id:"bluePotion"}}if(b==33){c.event={cls:"items",id:"greenPotion"}}if(b==34){c.event={cls:"items",id:"yellowPotion"}}if(b==35){c.event={cls:"items",id:"sword1"}}if(b==36){c.event={cls:"items",id:"shield1"}}if(b==37){c.event={cls:"items",id:"sword2"}}if(b==38){c.event={cls:"items",id:"shield2"}}if(b==39){c.event={cls:"items",id:"sword3"}}if(b==40){c.event={cls:"items",id:"shield3"}}if(b==41){c.event={cls:"items",id:"sword4"}}if(b==42){c.event={cls:"items",id:"shield4"}}if(b==43){c.event={cls:"items",id:"sword5"}}if(b==44){c.event={cls:"items",id:"shield5"}}if(b==45){c.event={cls:"items",id:"book"}}if(b==46){c.event={cls:"items",id:"fly"}}if(b==47){c.event={cls:"items",id:"pickaxe"}}if(b==48){c.event={cls:"items",id:"icePickaxe"}}if(b==49){c.event={cls:"items",id:"bomb"}}if(b==50){c.event={cls:"items",id:"centerFly"}}if(b==51){c.event={cls:"items",id:"upFly"}}if(b==52){c.event={cls:"items",id:"downFly"}}if(b==53){c.event={cls:"items",id:"coin"}}if(b==54){c.event={cls:"items",id:"snow"}}if(b==55){c.event={cls:"items",id:"cross"}}if(b==56){c.event={cls:"items",id:"superPotion"}}if(b==57){c.event={cls:"items",id:"earthquake"}}if(b==58){c.event={cls:"items",id:"poisonWine"}}if(b==59){c.event={cls:"items",id:"weakWine"}}if(b==60){c.event={cls:"items",id:"curseWine"}}if(b==61){c.event={cls:"items",id:"superWine"}}if(b==62){c.event={cls:"items",id:"knife"}}if(b==63){c.event={cls:"items",id:"moneyPocket"}}if(b==64){c.event={cls:"items",id:"shoes"}}if(b==65){c.event={cls:"items",id:"hammer"}}if(b==81){c.event={cls:"terrains",id:"yellowDoor",trigger:"openDoor"}}if(b==82){c.event={cls:"terrains",id:"blueDoor",trigger:"openDoor"}}if(b==83){c.event={cls:"terrains",id:"redDoor",trigger:"openDoor"}}if(b==84){c.event={cls:"terrains",id:"greenDoor",trigger:"openDoor"}}if(b==85){c.event={cls:"terrains",id:"specialDoor",trigger:"openDoor"}}if(b==86){c.event={cls:"terrains",id:"steelDoor",trigger:"openDoor"}}if(b==87){c.event={cls:"terrains",id:"upFloor",noPass:false}}if(b==88){c.event={cls:"terrains",id:"downFloor",noPass:false}}if(b==89){c.event={cls:"animates",id:"portal",noPass:false}}if(b==90){c.event={cls:"animates",id:"starPortal",noPass:false}}if(b==91){c.event={cls:"animates",id:"upPortal",noPass:false}}if(b==92){c.event={cls:"animates",id:"leftPortal",noPass:false}}if(b==93){c.event={cls:"animates",id:"downPortal",noPass:false}}if(b==94){c.event={cls:"animates",id:"rightPortal",noPass:false}}if(b==121){c.event={cls:"npcs",id:"man"}}if(b==122){c.event={cls:"npcs",id:"woman"}}if(b==123){c.event={cls:"npcs",id:"thief"}}if(b==124){c.event={cls:"npcs",id:"fairy"}}if(b==125){c.event={cls:"npcs",id:"magician"}}if(b==126){c.event={cls:"npcs",id:"womanMagician"}}if(b==127){c.event={cls:"npcs",id:"oldMan"}}if(b==128){c.event={cls:"npcs",id:"child"}}if(b==129){c.event={cls:"npcs",id:"wood"}}if(b==130){c.event={cls:"npcs",id:"pinkShop"}}if(b==131){c.event={cls:"npcs",id:"blueShop"}}if(b==132){c.event={cls:"npcs",id:"princess"}}if(b==201){c.event={cls:"enemys",id:"greenSlime"}}if(b==202){c.event={cls:"enemys",id:"redSlime"}}if(b==203){c.event={cls:"enemys",id:"blackSlime"}}if(b==204){c.event={cls:"enemys",id:"slimelord"}}if(b==205){c.event={cls:"enemys",id:"bat"}}if(b==206){c.event={cls:"enemys",id:"bigBat"}}if(b==207){c.event={cls:"enemys",id:"redBat"}}if(b==208){c.event={cls:"enemys",id:"vampire"}}if(b==209){c.event={cls:"enemys",id:"skeleton"}}if(b==210){c.event={cls:"enemys",id:"skeletonSoilder"}}if(b==211){c.event={cls:"enemys",id:"skeletonCaptain"}}if(b==212){c.event={cls:"enemys",id:"ghostSkeleton"}}if(b==213){c.event={cls:"enemys",id:"zombie"}}if(b==214){c.event={cls:"enemys",id:"zombieKnight"}}if(b==215){c.event={cls:"enemys",id:"rock"}}if(b==216){c.event={cls:"enemys",id:"slimeMan"}}if(b==217){c.event={cls:"enemys",id:"bluePriest"}}if(b==218){c.event={cls:"enemys",id:"redPriest"}}if(b==219){c.event={cls:"enemys",id:"brownWizard"}}if(b==220){c.event={cls:"enemys",id:"redWizard"}}if(b==221){c.event={cls:"enemys",id:"yellowGuard"}}if(b==222){c.event={cls:"enemys",id:"blueGuard"}}if(b==223){c.event={cls:"enemys",id:"redGuard"}}if(b==224){c.event={cls:"enemys",id:"swordsman"}}if(b==225){c.event={cls:"enemys",id:"soldier"}}if(b==226){c.event={cls:"enemys",id:"yellowKnight"}}if(b==227){c.event={cls:"enemys",id:"redKnight"}}if(b==228){c.event={cls:"enemys",id:"darkKnight"}}if(b==229){c.event={cls:"enemys",id:"blackKing"}}if(b==230){c.event={cls:"enemys",id:"yellowKing"}}if(b==231){c.event={cls:"enemys",id:"greenKing"}}if(b==232){c.event={cls:"enemys",id:"blueKnight"}}if(b==233){c.event={cls:"enemys",id:"goldSlime"}}if(b==234){c.event={cls:"enemys",id:"poisonSkeleton"}}if(b==235){c.event={cls:"enemys",id:"poisonBat"}}if(b==236){c.event={cls:"enemys",id:"steelRock"}}if(b==237){c.event={cls:"enemys",id:"skeletonPriest"}}if(b==238){c.event={cls:"enemys",id:"skeletonKing"}}if(b==239){c.event={cls:"enemys",id:"skeletonWizard"}}if(b==240){c.event={cls:"enemys",id:"redSkeletonCaption"}}if(b==241){c.event={cls:"enemys",id:"badHero"}}if(b==242){c.event={cls:"enemys",id:"demon"}}if(b==243){c.event={cls:"enemys",id:"demonPriest"}}if(b==244){c.event={cls:"enemys",id:"goldHornSlime"}}if(b==245){c.event={cls:"enemys",id:"redKing"}}if(b==246){c.event={cls:"enemys",id:"whiteKing"}}if(b==247){c.event={cls:"enemys",id:"blackMagician"}}if(b==248){c.event={cls:"enemys",id:"silverSlime"}}if(b==249){c.event={cls:"enemys",id:"swordEmperor"}}if(b==250){c.event={cls:"enemys",id:"whiteHornSlime"}}if(b==251){c.event={cls:"enemys",id:"badPrincess"}}if(b==252){c.event={cls:"enemys",id:"badFairy"}}if(b==253){c.event={cls:"enemys",id:"grayPriest"}}if(b==254){c.event={cls:"enemys",id:"redSwordsman"}}if(b==255){c.event={cls:"enemys",id:"whiteGhost"}}if(b==256){c.event={cls:"enemys",id:"poisonZombie"}}if(b==257){c.event={cls:"enemys",id:"magicDragon"}}if(b==258){c.event={cls:"enemys",id:"octopus"}}if(b==259){c.event={cls:"enemys",id:"fairy"}}if(b==260){c.event={cls:"enemys",id:"greenKnight"}}return c};maps.prototype.addEvent=function(a,d,e,b){if(!core.isset(b)){return}if(!core.isset(a.event)){a.event={cls:"terrains",id:"ground",noPass:false}}if(typeof b=="string"){b={data:[b]}}else{if(b instanceof Array){b={data:b}}}if(!core.isset(b.data)){b.data=[]}if(!core.isset(a.enable)&&core.isset(b.enable)){a.enable=b.enable}if(!core.isset(a.event.trigger)){if(core.isset(b.trigger)){a.event.trigger=b.trigger}else{a.event.trigger="action"}}else{if(core.isset(b.trigger)&&b.trigger!="checkBlock"){a.event.trigger=b.trigger}}for(var c in b){if(c!="enable"&&c!="trigger"){a.event[c]=core.clone(b[c])}}};maps.prototype.addChangeFloor=function(a,c,d,b){if(!core.isset(b)){return}this.addEvent(a,c,d,{trigger:"changeFloor",data:b})};maps.prototype.initMaps=function(b){var d={};for(var c=0;c<b.length;c++){var a=b[c];d[a]=this.loadFloor(a)}return d};maps.prototype.save=function(e,b){if(!core.isset(b)){var d={};for(var c in e){d[c]=this.save(e,c)}return d}var f=e[b];var a=[];for(var g=0;g<13;g++){a[g]=[];for(var h=0;h<13;h++){a[g].push(0)}}f.blocks.forEach(function(i){if(core.isset(i.enable)){if(i.enable){a[i.y][i.x]=i.id+":t"}else{a[i.y][i.x]=i.id+":f"}}else{a[i.y][i.x]=i.id}});return a};maps.prototype.load=function(a,b){if(b==undefined){var d={};for(var c in a){d[c]=this.load(a,c)}return d}return this.loadFloor(b,a[b])};main.instance.maps=new maps();