home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / sinta.swf / scripts / PlatformGame.as < prev   
Encoding:
Text File  |  2008-08-08  |  86.0 KB  |  1,954 lines

  1. package
  2. {
  3.    import flash.display.*;
  4.    import flash.events.*;
  5.    import flash.net.*;
  6.    import flash.system.*;
  7.    import flash.text.*;
  8.    import flash.utils.*;
  9.    import mochi.*;
  10.    
  11.    public dynamic class PlatformGame extends MovieClip
  12.    {
  13.       
  14.       internal static const gridWidth:* = 16;
  15.       
  16.       internal static const cellHeight:* = 40;
  17.       
  18.       internal static const cellWidth:* = 40;
  19.       
  20.       internal static const gridHeight:* = 11;
  21.       
  22.       internal static const gravity:Number = 0.0015;
  23.       
  24.       internal static const starPoints:* = 100;
  25.       
  26.       internal static const edgeDistance:Number = 100;
  27.        
  28.       
  29.       public var generators:Array;
  30.       
  31.       public var data3020:*;
  32.       
  33.       public var data3021:*;
  34.       
  35.       public var data3022:*;
  36.       
  37.       public var data3023:*;
  38.       
  39.       public var data3024:*;
  40.       
  41.       public var data3026:*;
  42.       
  43.       public var data3028:*;
  44.       
  45.       public var levelname:*;
  46.       
  47.       public var data3025:*;
  48.       
  49.       public var data3027:*;
  50.       
  51.       public var data3029:*;
  52.       
  53.       public var data3030:*;
  54.       
  55.       public var data3031:*;
  56.       
  57.       public var data3032:*;
  58.       
  59.       public var data3033:*;
  60.       
  61.       public var data3034:*;
  62.       
  63.       public var data3035:*;
  64.       
  65.       public var diff:int;
  66.       
  67.       public var loadthis_txt:*;
  68.       
  69.       public var healthbar:*;
  70.       
  71.       public var timeSum:Number;
  72.       
  73.       public var wizAttack:int;
  74.       
  75.       public var messagebox:*;
  76.       
  77.       public var starsGot:int;
  78.       
  79.       public var startHard:*;
  80.       
  81.       public var wizardDead:Boolean;
  82.       
  83.       public var howtoplay:*;
  84.       
  85.       public var blockholder:MovieClip;
  86.       
  87.       public var r:Number;
  88.       
  89.       public var blackbit:*;
  90.       
  91.       public var hallVisited:Boolean;
  92.       
  93.       private var gameMode:String = "start";
  94.       
  95.       public var starsgot_txt:*;
  96.       
  97.       public var diffMod:int;
  98.       
  99.       public var loadSavedGame:Boolean;
  100.       
  101.       public var fps:*;
  102.       
  103.       public var getLevelVars:URLVariables;
  104.       
  105.       public var curLevel:int;
  106.       
  107.       public var sounds:*;
  108.       
  109.       public var goLevelBtn:*;
  110.       
  111.       public var levelData:Array;
  112.       
  113.       public var menu:*;
  114.       
  115.       public var loadbar:*;
  116.       
  117.       public var howtoplaybtn:*;
  118.       
  119.       public var renderTime:Number;
  120.       
  121.       public var fireFX:*;
  122.       
  123.       public var arrows:Array;
  124.       
  125.       private var gameScore:int;
  126.       
  127.       public var data1:*;
  128.       
  129.       public var data2:*;
  130.       
  131.       public var data3:*;
  132.       
  133.       public var data4:*;
  134.       
  135.       public var data6:*;
  136.       
  137.       public var data7:*;
  138.       
  139.       public var wingame:*;
  140.       
  141.       public var data9:*;
  142.       
  143.       public var data5:*;
  144.       
  145.       public var savedProgress:SharedObject;
  146.       
  147.       public var data8:*;
  148.       
  149.       public var isLoaded:Boolean;
  150.       
  151.       public var badArrows:Array;
  152.       
  153.       public var gameoverpanel:*;
  154.       
  155.       public var monsterholder:MovieClip;
  156.       
  157.       private var curDoor:int;
  158.       
  159.       public var music:*;
  160.       
  161.       public var enemies:Array;
  162.       
  163.       public var levelsArray:Array;
  164.       
  165.       public var startButton:*;
  166.       
  167.       public var arrows_txt:*;
  168.       
  169.       public var pressUp:Boolean;
  170.       
  171.       public var lustras:Array;
  172.       
  173.       public var uiruby:*;
  174.       
  175.       private var lastTime:Number = 0;
  176.       
  177.       public var doors:Array;
  178.       
  179.       public var clickbit:*;
  180.       
  181.       public var playerLives:int;
  182.       
  183.       private var oneFrame:int;
  184.       
  185.       public var uifire:*;
  186.       
  187.       public var gamelevel:MovieClip;
  188.       
  189.       public var pressLeft:Boolean;
  190.       
  191.       public var playerObjects:Array;
  192.       
  193.       public var arrowholder:MovieClip;
  194.       
  195.       public var doit:*;
  196.       
  197.       public var fixedObjects:Array;
  198.       
  199.       public var gotStars:Array;
  200.       
  201.       public var lives_txt:*;
  202.       
  203.       public var loadlevelbtn:*;
  204.       
  205.       public var score_txt:*;
  206.       
  207.       public var theversion:String;
  208.       
  209.       public var data10:*;
  210.       
  211.       public var data12:*;
  212.       
  213.       public var data13:*;
  214.       
  215.       public var data14:*;
  216.       
  217.       public var data15:*;
  218.       
  219.       public var data16:*;
  220.       
  221.       public var data17:*;
  222.       
  223.       public var data19:*;
  224.       
  225.       public var uiamulet:*;
  226.       
  227.       public var data18:*;
  228.       
  229.       public var data11:*;
  230.       
  231.       public var prog:*;
  232.       
  233.       public var data20:*;
  234.       
  235.       public var data21:*;
  236.       
  237.       public var data22:*;
  238.       
  239.       public var data23:*;
  240.       
  241.       public var data25:*;
  242.       
  243.       public var data26:*;
  244.       
  245.       public var data27:*;
  246.       
  247.       public var data28:*;
  248.       
  249.       public var data29:*;
  250.       
  251.       public var data24:*;
  252.       
  253.       public var getLevelLoader:URLLoader;
  254.       
  255.       public var pressDown:Boolean;
  256.       
  257.       public var data30:*;
  258.       
  259.       public var data32:*;
  260.       
  261.       public var data33:*;
  262.       
  263.       public var data34:*;
  264.       
  265.       public var data31:*;
  266.       
  267.       public var loopTime:Number;
  268.       
  269.       public var data35:*;
  270.       
  271.       public var quitScreen:*;
  272.       
  273.       public var frameCount:int;
  274.       
  275.       public var pressRight:Boolean;
  276.       
  277.       public var starstotal_txt:*;
  278.       
  279.       public var placedRuby:Boolean;
  280.       
  281.       public var introclip:*;
  282.       
  283.       public var wizDoor:*;
  284.       
  285.       public var data3001:*;
  286.       
  287.       public var data3002:*;
  288.       
  289.       public var data3003:*;
  290.       
  291.       public var data3004:*;
  292.       
  293.       public var data3005:*;
  294.       
  295.       public var data3006:*;
  296.       
  297.       public var data3007:*;
  298.       
  299.       public var data3008:*;
  300.       
  301.       public var data3009:*;
  302.       
  303.       public var gotLives:Array;
  304.       
  305.       public var otherObjects:Array;
  306.       
  307.       public var data3010:*;
  308.       
  309.       public var data3011:*;
  310.       
  311.       public var data3012:*;
  312.       
  313.       public var data3013:*;
  314.       
  315.       public var data3015:*;
  316.       
  317.       public var data3016:*;
  318.       
  319.       public var data3017:*;
  320.       
  321.       public var data3018:*;
  322.       
  323.       public var data3019:*;
  324.       
  325.       public var profiler:*;
  326.       
  327.       public var data3014:*;
  328.       
  329.       public var hero:Hero;
  330.       
  331.       public function PlatformGame()
  332.       {
  333.          gameMode = "start";
  334.          lastTime = 0;
  335.          super();
  336.          addFrameScript(0,frame1,2,frame3,3,frame4,10,frame11,14,frame15,15,frame16,16,frame17,17,frame18);
  337.          levelsArray = new Array(4000);
  338.          diff = 0;
  339.          savedProgress = SharedObject.getLocal("sinta");
  340.          renderTime = loopTime = 0;
  341.       }
  342.       
  343.       public function getTypeAt(param1:*, param2:*) : *
  344.       {
  345.          if(param1 < 0 || param2 < 0 || param1 >= gridWidth || param2 >= gridHeight)
  346.          {
  347.             return 0;
  348.          }
  349.          return levelData[param1][param2];
  350.       }
  351.       
  352.       public function shoot(param1:Event) : *
  353.       {
  354.          if(hero.animstate == "stand" && !hero.isShooting && hero.numArrows > 0 && hero.alive && hero.mc.visible)
  355.          {
  356.             if(gameMode == "play")
  357.             {
  358.                hero.shoot();
  359.                shootArrow();
  360.             }
  361.          }
  362.       }
  363.       
  364.       public function updateAim() : *
  365.       {
  366.          hero.doAim();
  367.       }
  368.       
  369.       public function GetTypeByGrid(param1:*, param2:*) : *
  370.       {
  371.          if(levelData[param1][param2] === undefined)
  372.          {
  373.             return 5;
  374.          }
  375.          return levelData[param1][param2];
  376.       }
  377.       
  378.       public function showLives() : *
  379.       {
  380.          lives_txt.text = String(playerLives);
  381.       }
  382.       
  383.       internal function frame11() : *
  384.       {
  385.          if(!introclip.done)
  386.          {
  387.             gotoAndPlay("intro");
  388.          }
  389.       }
  390.       
  391.       internal function frame15() : *
  392.       {
  393.          doit = 0;
  394.       }
  395.       
  396.       internal function frame16() : *
  397.       {
  398.          stop();
  399.          data1 = "title=Jail 1&bgnum=1&data=0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-21-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-41-0-0-0-0-0-0-0-0-0-0-41-0-0-0-0-0-0-0-0-0-0-41-0-0-0-0-0-8-19-19-19-19-19-0-0-0-0-0-2-0-0-0-0-0-0-0-0-0-43-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-78-0-0-0-0-33-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-0-doordata33-14-4-1-2-1#";
  400.          levelsArray[1] = data1;
  401.          data2 = "title=Jail 2&bgnum=1&data=0-0-0-33-2-0-0-0-0-0-0-0-0-0-21-2-0-0-0-0-0-0-0-0-0-0-8-19-19-19-19-19-19-0-0-56-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-0-0-2-0-0-0-0-0-0-0-0-0-41-2-0-0-0-56-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-66-0-0-0-0-0-0-2-0-0-0-2-0-0-0-0-56-0-8-19-19-19-2-0-0-2-2-0-62-2-0-0-41-2-0-0-0-0-0-0-2-0-0-41-2-0-0-0-0-0-33-2-0-0-38-2-0-0-0-0-0-0-2-0-0-0-2-0-0-doordata33-0-3-1-1-1#33-14-3-2-3-1#";
  402.          levelsArray[2] = data2;
  403.          data3 = "title=Jail 3&bgnum=1&data=0-0-0-33-2-0-0-0-0-0-35-0-0-0-21-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-0-76-0-0-0-56-2-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-51-0-0-0-0-0-0-0-0-56-0-0-0-0-0-0-2-0-0-0-0-0-0-0-0-0-0-8-19-19-2-0-0-0-0-0-0-0-2-0-0-2-0-0-22-0-0-0-22-2-0-43-2-0-0-0-0-0-0-0-2-0-0-2-0-0-0-0-0-0-44-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-2-0-0-0-0-0-0-2-0-0-0-8-19-19-0-0-0-33-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-0-57-doordata33-0-3-1-2-2#35-0-10-3-35-1#33-14-3-2-4-1#";
  404.          levelsArray[3] = data3;
  405.          data4 = "title=Basement&bgnum=1&data=0-0-33-5-41-6-19-19-19-19-19-0-0-0-5-0-5-0-0-0-0-0-21-0-0-0-0-60-0-0-41-5-0-0-0-41-0-15-0-0-0-56-5-0-0-0-41-0-0-0-0-0-0-5-0-0-0-0-0-0-41-0-0-0-0-0-0-0-0-0-0-0-0-0-43-5-0-0-41-56-13-0-0-0-0-56-5-0-41-0-0-0-0-0-41-0-41-5-0-0-60-0-0-0-0-0-0-0-0-0-0-0-0-41-41-0-0-14-0-0-0-0-41-5-0-0-0-0-0-14-0-0-56-0-5-60-0-0-0-0-0-0-0-0-0-5-0-0-0-42-5-56-0-0-0-0-5-0-0-41-0-5-0-0-34-0-0-6-19-19-19-19-5-0-0-0-doordata33-0-2-1-3-2#34-14-10-2-5-1#";
  406.          levelsArray[4] = data4;
  407.          data5 = "title=Herb Garden&bgnum=3&data=0-33-1-0-41-1-0-43-1-41-0-0-0-1-0-24-1-0-41-1-0-43-0-21-1-0-0-1-0-41-1-0-0-0-0-1-0-73-1-0-41-1-0-0-0-0-1-0-0-1-0-0-1-0-0-0-0-18-0-0-0-0-0-0-0-77-0-0-0-0-0-0-0-0-0-0-0-41-0-0-0-17-0-0-0-7-19-19-41-0-0-0-0-0-0-0-1-0-35-0-0-18-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-57-0-0-1-0-0-1-0-0-1-0-41-0-0-1-0-71-1-0-44-1-0-43-0-41-1-0-0-1-41-0-1-0-0-0-0-1-0-23-1-0-24-1-0-33-0-57-1-0-42-1-0-41-1-0-0-doordata33-0-1-1-4-2#35-8-10-3-33-1#33-14-10-2-6-1#";
  408.          levelsArray[5] = data5;
  409.          data6 = "title=Stone Garden&bgnum=8&data=0-41-0-0-0-0-0-0-0-0-33-0-0-0-0-8-19-19-19-2-0-21-0-0-0-41-2-0-0-0-2-0-78-0-0-0-41-2-0-0-57-2-0-0-0-0-0-0-2-0-0-43-2-0-0-0-0-0-77-2-0-0-0-0-0-41-0-0-0-57-2-0-78-2-0-0-57-0-0-0-0-0-0-22-2-0-0-41-0-0-17-0-0-0-0-2-0-0-41-0-0-0-0-0-0-0-2-0-0-41-0-0-0-0-0-0-0-0-0-0-78-0-0-13-0-0-0-0-0-0-0-22-0-0-0-0-0-0-0-2-0-0-0-0-0-0-41-2-41-76-2-0-0-44-0-0-0-33-2-41-0-2-0-0-57-0-0-0-0-2-0-0-8-19-19-19-doordata33-0-10-1-5-2#33-14-3-2-7-1#";
  410.          levelsArray[6] = data6;
  411.          data7 = "title=Great Hall&bgnum=2&data=0-0-0-0-0-0-5-0-0-0-0-0-0-0-69-0-34-5-0-67-0-34-95-0-0-0-0-0-6-19-5-0-0-0-0-0-0-0-0-0-0-6-19-19-0-0-0-0-0-56-0-0-0-0-0-0-0-0-0-0-0-0-0-6-19-19-0-0-0-5-0-0-0-35-5-0-0-0-0-36-5-0-68-0-34-5-0-21-0-0-0-5-0-0-0-0-5-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-56-0-0-6-19-19-95-0-0-0-0-0-0-0-5-0-0-0-0-0-0-0-0-6-19-5-0-0-0-0-0-69-0-34-5-0-0-0-34-0-0-0-0-0-0-5-0-0-0-0-doordata34-1-5-3-13-1#34-1-10-2-8-1#35-6-7-7-29-1#36-7-2-6-30-1#34-7-7-4-18-1#34-14-5-5-23-1#34-14-10-1-6-2#";
  412.          levelsArray[7] = data7;
  413.          data8 = "title=East Wing 1&bgnum=5&data=0-41-6-19-19-19-19-0-0-0-33-0-41-5-0-0-0-0-0-0-0-21-52-41-5-0-0-0-0-0-5-0-0-0-41-5-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-5-0-0-0-0-0-0-0-0-0-38-5-0-0-0-0-0-0-0-0-0-0-0-0-0-42-0-41-43-0-64-41-0-5-0-0-0-0-0-0-0-0-41-0-5-0-0-0-0-0-0-0-64-0-0-0-0-0-0-0-0-0-0-44-0-0-0-0-0-41-2-0-62-0-62-0-0-0-57-0-41-2-0-33-6-19-19-0-0-0-0-74-2-2-2-2-2-0-0-0-0-60-0-0-0-0-0-0-0-0-0-0-0-0-6-19-19-19-19-19-19-19-19-doordata33-0-10-1-7-2#33-12-4-2-9-1#";
  414.          levelsArray[8] = data8;
  415.          data9 = "title=East Wing 2&bgnum=5&data=0-0-33-5-2-0-0-0-0-0-0-0-0-21-5-2-0-16-0-0-0-0-0-0-0-0-2-0-0-0-2-54-0-0-0-0-0-0-0-0-51-2-0-41-0-0-0-13-0-0-0-51-2-0-41-42-0-0-0-0-0-0-0-2-52-0-0-0-0-17-0-0-0-0-2-0-0-60-0-0-0-0-0-0-0-2-0-0-0-0-5-0-0-0-56-2-2-54-0-0-0-13-0-0-0-0-0-2-0-41-0-0-5-0-13-0-0-0-2-0-41-0-43-5-0-0-0-0-53-2-52-0-0-41-5-0-41-2-2-2-2-0-0-0-41-5-0-0-5-0-0-0-0-0-0-41-5-0-24-5-0-33-8-8-8-0-23-5-0-41-5-0-0-0-0-0-doordata33-0-2-1-8-2#33-14-7-2-10-1#";
  416.          levelsArray[9] = data9;
  417.          data10 = "title=East Wing 3&bgnum=5&data=0-0-33-5-0-0-0-0-33-5-51-0-0-0-5-0-0-0-0-0-5-51-0-0-0-0-0-0-13-0-0-0-51-0-0-0-0-56-0-5-0-0-0-51-0-0-0-63-0-0-5-0-0-0-51-0-0-0-0-0-0-13-0-0-0-51-0-44-0-0-0-0-0-51-5-0-51-0-0-0-0-0-0-0-41-5-0-51-0-13-0-0-41-0-0-57-5-0-51-60-0-0-0-0-0-0-0-0-0-51-0-0-0-0-18-0-0-0-0-0-51-43-5-0-0-0-0-0-0-0-0-0-0-5-56-2-2-2-2-2-2-2-2-0-5-0-0-0-0-19-19-19-64-38-41-5-0-0-0-0-0-0-21-0-0-0-6-19-19-19-19-19-5-0-0-64-doordata33-0-2-2-11-1#33-0-8-1-9-2#";
  418.          levelsArray[10] = data10;
  419.          data11 = "title=East Wing 4&bgnum=5&data=0-33-6-19-19-19-0-74-2-0-57-0-2-0-0-11-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-41-2-0-0-56-0-0-0-24-0-0-12-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-41-0-0-0-0-0-0-41-5-0-0-0-0-2-0-0-0-0-0-0-0-0-0-0-21-0-33-5-0-41-5-0-24-0-0-0-0-0-5-0-0-0-0-0-0-0-0-0-0-0-0-41-5-0-0-0-0-5-0-0-5-0-0-0-0-0-0-0-60-0-0-0-0-41-5-0-24-0-0-5-0-0-0-56-0-0-0-57-0-0-0-0-42-0-0-0-0-0-0-0-0-0-6-19-19-19-19-19-19-0-doordata33-0-1-2-12-1#33-8-4-1-10-2#";
  420.          levelsArray[11] = data11;
  421.          data12 = "title=East Tower&bgnum=10&data=41-0-6-19-19-19-5-0-21-5-0-41-0-5-41-0-38-5-0-33-5-0-41-0-5-60-0-0-0-0-0-5-0-0-0-0-0-0-0-15-0-0-0-53-0-0-0-64-0-0-0-0-0-0-53-0-0-0-0-0-0-0-16-41-5-0-0-0-0-0-0-0-0-0-41-5-0-0-0-41-2-2-2-0-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-0-43-2-15-0-0-0-0-0-53-0-0-0-0-0-0-0-0-44-5-0-0-0-64-0-0-51-2-0-0-5-0-0-0-0-0-0-2-0-0-0-0-51-0-0-0-0-14-0-0-0-0-0-51-0-62-5-0-0-0-0-41-41-0-51-0-39-5-0-0-41-0-13-0-0-51-doordata33-1-8-1-11-2#";
  422.          levelsArray[12] = data12;
  423.          data13 = "title=South Wing 1&bgnum=6&data=21-0-6-19-19-19-19-0-43-5-42-0-33-5-0-0-0-0-0-0-5-0-0-0-5-0-0-0-0-0-0-5-57-0-0-41-41-0-41-0-64-56-5-0-0-0-0-0-0-0-0-0-2-54-0-0-0-0-3-0-0-0-41-2-0-0-0-0-41-41-0-0-0-0-0-0-0-0-0-0-0-0-41-0-64-0-0-0-0-0-0-3-0-0-0-0-41-0-0-0-0-41-41-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-3-41-38-65-64-0-5-0-0-0-41-41-0-0-0-0-56-5-0-0-0-0-0-0-41-0-0-0-5-57-0-62-2-60-0-0-0-0-0-5-0-0-34-2-0-0-0-6-19-19-19-19-doordata33-1-1-1-7-3#34-15-1-2-14-1#";
  424.          levelsArray[13] = data13;
  425.          data14 = "title=South Wing 2&bgnum=6&data=0-57-2-0-0-41-0-2-0-0-33-0-0-2-0-0-0-44-2-0-0-21-0-38-2-0-0-0-0-8-19-19-19-0-0-66-41-0-41-0-0-56-0-43-0-0-2-60-0-0-0-0-0-2-2-0-0-2-0-0-0-0-0-0-0-0-0-0-43-2-0-60-0-0-56-0-0-0-0-0-2-0-0-0-0-41-0-2-0-0-0-0-2-0-0-60-0-0-41-0-0-0-0-0-2-0-0-56-0-2-60-0-0-0-0-2-0-0-0-0-41-0-0-0-0-0-2-0-0-41-2-66-0-0-60-0-0-2-56-0-2-0-0-0-0-0-0-0-2-0-0-2-0-62-0-0-0-0-60-2-0-0-2-0-0-0-0-0-0-0-8-19-19-2-0-33-doordata33-0-10-1-13-2#33-15-10-2-15-1#";
  426.          levelsArray[14] = data14;
  427.          data15 = "title=South Wing 3&bgnum=6&data=0-0-0-0-0-0-0-21-0-0-33-0-0-8-19-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-2-0-0-15-0-2-0-0-0-0-0-0-60-0-0-0-0-0-0-0-0-2-0-0-0-0-0-12-0-0-0-0-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-2-0-0-0-0-0-0-0-0-0-0-2-0-0-56-0-2-0-0-0-0-0-2-0-0-0-0-0-0-0-43-0-0-15-0-0-0-2-0-11-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-51-0-0-0-0-0-0-0-0-0-0-0-0-0-2-0-0-56-0-0-0-0-57-0-33-2-0-0-0-0-0-8-19-42-doordata33-0-10-1-14-2#33-15-1-2-16-1#";
  428.          levelsArray[15] = data15;
  429.          data16 = "title=South Wing 4&bgnum=6&data=0-33-2-41-23-2-0-57-2-0-0-21-0-2-0-0-2-0-43-2-0-0-0-0-8-0-0-0-0-0-0-0-51-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-8-19-19-2-0-0-0-0-0-2-41-2-0-38-2-0-57-2-2-2-2-2-2-2-2-2-0-0-0-41-8-19-19-19-19-19-19-19-19-0-62-2-0-41-2-52-0-2-0-0-0-41-2-0-41-2-0-0-2-0-22-60-0-0-0-2-2-2-42-2-0-0-0-0-60-0-0-0-0-0-0-0-0-0-0-0-0-0-0-56-0-0-0-51-2-2-2-2-2-54-0-2-0-0-22-0-33-2-2-2-0-0-2-0-0-51-0-0-8-19-19-19-19-2-0-0-0-doordata33-0-1-1-15-2#33-14-1-2-17-1#";
  430.          levelsArray[16] = data16;
  431.          data17 = "title=South Tower&bgnum=13&data=0-21-2-0-0-0-0-35-2-0-53-0-34-2-0-0-0-0-0-2-0-53-0-0-2-0-2-0-56-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-0-0-0-2-0-0-43-2-0-53-0-0-0-0-0-0-0-0-2-0-53-60-0-0-0-0-66-56-0-0-0-53-0-0-2-0-0-0-0-0-0-0-53-0-38-2-0-0-0-2-0-0-0-2-0-0-66-0-0-0-0-0-0-0-51-60-0-0-0-0-0-0-0-0-0-0-0-0-0-13-0-0-0-0-0-0-2-0-0-0-0-0-0-0-0-11-0-0-2-0-0-2-2-2-0-0-0-2-42-0-0-0-0-0-0-0-0-0-0-0-19-19-19-19-19-19-19-0-0-0-57-doordata35-0-7-2-34-1#34-1-1-1-16-2#";
  432.          levelsArray[17] = data17;
  433.          data18 = "title=West Wing 1&bgnum=7&data=0-23-2-0-0-21-2-0-0-0-42-41-43-2-0-0-34-2-0-0-56-57-41-0-2-0-0-0-2-0-0-0-43-0-38-2-0-0-41-2-0-0-0-0-0-0-2-0-0-0-0-0-16-0-44-0-0-2-60-0-0-0-0-0-56-57-0-0-0-15-0-0-2-0-0-0-43-0-0-56-0-41-41-2-0-0-0-22-0-64-0-0-0-0-0-0-0-0-44-0-0-0-0-0-0-0-0-0-56-43-41-0-0-13-0-0-0-0-0-0-57-0-2-0-0-0-41-2-0-0-0-0-0-0-0-0-0-41-2-0-0-0-34-0-0-0-0-0-3-2-0-0-0-0-0-0-0-0-0-34-2-0-0-56-57-0-0-0-0-0-2-2-0-0-0-0-doordata34-1-5-1-7-4#34-12-10-3-19-3#34-14-5-2-19-1#";
  434.          levelsArray[18] = data18;
  435.          data19 = "title=West Wing 2&bgnum=7&data=42-0-66-0-0-66-41-0-66-0-34-0-0-2-0-34-2-0-23-2-0-0-41-0-2-0-21-2-41-0-2-0-41-41-0-2-0-0-8-19-19-2-0-57-0-0-2-0-41-0-0-0-2-0-0-0-0-2-0-0-0-0-0-2-0-38-0-0-11-2-60-0-56-0-2-0-62-0-0-0-0-2-0-0-0-2-0-57-0-0-0-0-0-11-0-43-2-0-41-0-0-0-0-0-0-0-0-2-2-0-0-0-0-41-0-0-0-41-22-2-22-0-41-2-0-0-0-0-41-0-2-0-0-0-0-0-0-2-0-0-57-2-41-0-0-2-0-0-8-19-19-19-2-0-0-34-2-2-2-2-2-2-2-2-22-0-0-8-19-19-19-19-19-19-19-19-doordata34-0-10-3-18-3#34-1-4-1-18-2#34-14-1-2-20-1#";
  436.          levelsArray[19] = data19;
  437.          data20 = "title=West Wing 3&bgnum=7&data=0-41-0-0-0-0-0-0-0-0-51-0-0-0-0-0-41-41-41-0-0-0-0-0-2-2-2-2-2-2-2-2-0-0-34-2-0-0-0-0-0-38-2-57-0-21-2-0-0-0-0-0-0-2-41-2-2-2-0-0-0-2-0-62-2-0-0-34-2-0-56-41-2-41-42-2-22-0-0-2-0-0-74-2-0-62-2-0-0-0-0-0-0-0-0-0-0-0-44-0-41-2-0-0-0-0-0-56-0-0-0-0-60-0-0-23-2-0-0-8-19-0-0-0-0-41-0-2-52-0-2-0-18-0-0-0-41-0-2-0-0-2-0-0-0-0-0-0-0-2-2-0-2-2-0-0-0-17-0-0-0-2-0-0-2-41-0-0-0-0-0-0-8-19-19-41-doordata34-3-1-1-19-2#34-6-1-2-21-1#";
  438.          levelsArray[20] = data20;
  439.          data21 = "title=West Wing 4&bgnum=7&data=41-41-41-41-41-42-0-0-0-0-33-0-0-2-2-2-2-2-2-0-0-21-0-0-8-19-19-19-19-0-0-0-0-2-2-2-0-0-0-0-2-0-56-57-0-0-11-2-0-0-0-0-0-0-0-0-0-0-0-2-0-0-63-2-54-0-0-0-0-0-0-0-0-0-2-0-0-0-0-0-38-2-0-41-0-2-54-0-0-0-0-0-0-0-0-41-2-0-0-0-33-2-0-41-2-0-0-0-0-41-0-62-2-0-0-0-0-0-0-0-57-60-0-0-0-0-0-2-0-0-0-0-0-0-2-0-0-0-0-0-41-0-2-0-0-34-2-0-0-5-41-0-2-0-0-0-0-2-0-0-41-0-2-56-0-0-0-26-2-0-0-0-2-0-0-0-doordata33-0-10-1-20-2#33-9-1-2-22-1#34-13-2-3-28-1#";
  440.          levelsArray[21] = data21;
  441.          data22 = "title=West Tower&bgnum=4&data=0-38-1-41-0-0-41-65-0-65-43-0-73-1-41-0-64-0-0-0-0-0-0-41-1-41-0-0-0-41-0-0-65-0-60-0-0-64-0-0-0-2-1-0-0-0-0-0-21-0-2-0-2-1-41-0-0-12-0-0-77-2-57-2-1-41-0-0-0-41-0-33-2-41-2-1-0-0-0-0-65-0-0-5-0-2-1-0-0-0-0-0-2-2-5-38-2-0-62-0-0-0-0-0-22-2-43-2-1-41-0-0-0-65-1-0-2-57-2-1-24-0-0-0-0-1-41-0-62-2-1-57-0-0-0-0-1-0-0-0-2-1-41-0-62-1-24-1-60-41-0-0-0-41-0-40-1-0-1-0-0-0-0-43-2-0-26-1-38-7-19-19-0-0-0-63-doordata33-6-5-1-21-2#";
  442.          levelsArray[22] = data22;
  443.          data23 = "title=North Wing 1&bgnum=9&data=0-38-8-19-2-0-0-38-2-0-21-0-41-5-0-15-0-0-41-2-0-33-0-0-5-0-0-0-0-41-8-19-19-60-0-0-0-0-0-0-41-2-2-2-41-0-5-0-0-0-0-0-16-0-51-0-0-0-0-5-0-41-2-0-0-51-41-0-5-0-2-0-56-0-0-0-51-0-0-0-43-2-0-0-0-0-0-51-0-0-0-0-0-0-0-0-0-0-51-0-0-0-63-2-41-62-2-0-0-51-60-0-0-0-0-0-0-0-0-0-51-0-0-11-0-0-0-56-0-0-0-51-41-0-0-0-5-0-44-2-0-0-51-0-0-0-0-0-0-38-2-0-0-51-0-0-0-0-2-0-0-2-0-0-51-0-33-5-0-8-19-19-2-0-0-51-doordata33-1-10-1-7-5#33-15-1-2-24-1#";
  444.          levelsArray[23] = data23;
  445.          data24 = "title=North Wing 2&bgnum=9&data=0-34-2-0-38-2-42-2-0-33-2-0-21-2-0-43-2-41-2-52-0-2-0-0-0-2-0-2-57-2-0-0-2-0-0-0-0-57-2-43-2-0-41-0-0-0-2-56-0-5-41-2-2-0-62-41-0-2-0-57-5-0-0-2-2-0-0-0-0-2-0-2-60-0-41-66-0-0-0-0-41-22-2-60-0-41-2-0-0-0-2-0-0-2-2-0-2-2-0-0-74-2-0-0-0-2-0-2-0-78-0-43-2-2-2-57-2-0-2-0-0-0-0-0-0-0-0-5-57-2-56-57-0-0-56-0-2-0-5-0-2-2-0-0-0-0-41-2-57-5-41-0-2-0-0-0-2-2-0-0-5-0-0-2-41-0-0-8-19-19-19-8-19-19-8-19-doordata34-0-1-1-23-2#33-0-9-2-25-1#";
  446.          levelsArray[24] = data24;
  447.          data25 = "title=North Wing 3&bgnum=9&data=0-33-5-38-5-0-6-19-5-0-33-0-0-2-0-5-0-5-0-0-0-21-0-62-6-19-5-0-0-0-0-5-0-0-0-0-0-5-0-0-5-57-5-0-0-0-0-0-0-56-0-5-0-5-57-0-0-5-0-5-0-0-5-22-5-0-0-0-5-23-5-0-0-0-0-5-43-0-0-60-0-5-0-5-0-0-0-22-0-5-0-0-0-56-5-0-0-5-57-0-0-56-5-0-0-0-0-22-5-43-0-2-26-5-0-0-0-0-0-5-0-0-0-63-5-0-0-5-0-0-0-57-0-0-0-0-0-23-5-0-0-0-0-0-0-0-0-5-0-5-0-22-5-43-0-0-0-0-5-0-5-0-0-5-22-0-42-5-0-6-19-5-0-0-6-19-doordata33-0-1-2-26-1#38-0-3-undefined-undefined-undefined#33-0-10-1-24-2#";
  448.          levelsArray[25] = data25;
  449.          data26 = "title=North Wing 4&bgnum=9&data=19-19-19-19-19-19-19-19-8-19-19-0-60-0-0-0-0-0-38-2-0-57-2-2-6-19-19-0-0-0-0-56-0-2-42-5-41-41-5-0-0-0-0-0-2-41-2-0-62-2-0-41-2-2-2-2-57-2-41-42-2-0-0-12-0-53-2-22-2-2-2-2-0-0-0-0-53-0-33-5-0-0-0-0-0-0-0-53-2-0-5-21-34-6-19-41-0-0-53-2-57-5-0-0-0-41-0-0-0-53-0-62-2-2-2-2-41-0-0-0-53-0-41-0-0-0-2-41-0-0-0-53-0-41-0-0-2-2-0-62-2-2-2-0-0-41-0-0-2-0-0-0-0-57-0-0-6-0-0-0-6-19-5-0-0-26-0-5-0-0-41-0-56-6-19-19-doordata33-7-1-2-27-1#34-8-4-1-25-2#";
  450.          levelsArray[26] = data26;
  451.          data27 = "title=North Tower&bgnum=13&data=21-33-5-0-0-0-0-0-0-5-51-0-0-0-0-0-0-0-0-0-0-51-0-0-43-5-41-5-43-5-0-0-0-0-0-26-5-38-5-0-5-38-5-0-0-0-23-5-23-5-0-5-23-5-0-2-0-62-0-0-5-62-0-0-2-0-60-0-41-5-41-5-41-5-41-2-43-0-0-41-5-41-5-41-5-41-2-0-60-56-42-5-41-5-41-5-41-2-56-0-0-22-5-0-5-26-5-0-2-57-60-0-22-5-0-5-62-5-44-2-0-0-0-0-0-0-63-0-0-0-0-0-0-0-0-0-0-0-63-0-0-0-2-0-62-5-0-43-0-0-0-0-0-0-0-37-5-0-0-5-0-0-0-5-0-56-0-5-0-0-6-19-19-19-19-0-doordata33-0-1-1-26-2#";
  452.          levelsArray[27] = data27;
  453.          data28 = "title=Oubliette&bgnum=14&data=0-0-10-41-4-4-0-0-21-4-43-0-34-4-0-41-4-4-0-34-4-44-0-0-4-60-0-41-4-41-41-10-19-0-34-4-0-0-0-0-0-0-0-0-0-0-0-41-0-4-0-0-0-0-51-0-60-0-0-0-0-38-17-0-0-51-0-0-0-41-0-5-0-0-0-0-51-0-0-0-0-0-0-4-0-0-0-51-0-0-0-0-0-0-0-0-62-2-51-0-0-41-41-0-0-0-0-0-0-51-0-0-41-41-41-43-41-0-62-2-51-41-38-4-60-0-0-0-0-0-0-51-0-0-0-0-0-0-41-0-62-2-51-60-0-0-0-0-0-0-0-0-0-51-0-41-14-0-0-0-0-0-0-0-41-0-0-0-0-0-0-44-10-19-19-0-doordata34-1-1-3-28-1#34-1-8-1-28-1#34-3-1-2-21-1#";
  454.          levelsArray[28] = data28;
  455.          data29 = "title=Pantry&bgnum=15&data=0-56-0-0-0-6-19-19-0-0-21-0-42-0-0-0-5-0-0-0-0-33-41-41-41-0-0-0-0-0-41-5-0-0-0-0-0-0-0-0-0-41-5-41-0-0-0-0-0-0-0-0-41-5-0-5-0-0-41-41-0-63-0-41-5-41-6-19-5-0-0-0-0-0-41-5-0-0-0-5-0-0-0-0-0-41-5-41-0-56-5-0-0-0-0-0-41-5-0-0-0-5-41-41-0-63-0-41-5-41-0-0-5-0-0-0-0-0-41-5-0-0-0-5-0-0-0-0-0-41-5-41-0-0-5-0-0-0-0-0-41-5-0-0-0-5-41-41-0-63-0-41-5-41-0-56-5-0-0-0-0-0-41-6-19-0-0-6-19-19-5-0-0-0-0-38-doordata33-1-10-1-7-7#";
  456.          levelsArray[29] = data29;
  457.          data30 = "title=Wizard Tower 1&bgnum=12&data=0-0-0-33-2-56-0-0-0-11-53-0-0-0-0-2-21-33-4-0-0-53-0-0-0-0-2-0-3-4-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-0-0-0-0-0-0-0-0-16-53-0-0-0-0-0-63-0-0-0-0-53-0-0-0-0-0-4-0-0-0-0-53-0-0-0-0-0-4-0-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-2-0-62-2-0-62-4-0-0-0-53-0-0-13-0-0-56-4-0-0-11-53-0-0-0-27-0-0-0-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-38-10-0-0-10-19-0-13-0-53-doordata33-0-3-2-31-1#33-1-6-1-7-6#";
  458.          levelsArray[30] = data30;
  459.          data31 = "title=Wizard Tower 2&bgnum=12&data=0-34-4-0-34-4-60-0-0-10-19-0-21-4-56-0-4-60-0-38-4-0-0-41-4-0-0-4-60-54-0-4-0-0-41-2-0-62-2-2-0-0-4-57-0-0-4-60-0-51-2-0-0-4-0-0-0-4-0-22-2-0-0-0-0-0-0-0-4-56-0-8-19-19-0-0-53-0-0-4-2-57-2-0-0-41-0-4-0-0-0-0-0-0-0-0-0-0-53-0-0-0-0-0-27-41-0-0-0-53-0-63-0-41-0-0-0-0-0-0-53-42-0-0-63-41-63-0-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-0-0-0-0-0-0-41-0-0-53-0-41-4-0-0-0-38-4-0-0-4-0-56-10-19-19-19-19-19-19-19-4-doordata34-0-1-1-30-2#34-0-4-2-32-1#";
  460.          levelsArray[31] = data31;
  461.          data32 = "title=Throne Room&bgnum=11&data=0-0-0-0-72-0-0-0-5-21-0-0-0-0-0-0-0-0-43-5-0-34-0-0-0-0-0-0-0-0-5-0-0-0-0-0-0-0-0-0-0-6-19-19-95-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-56-0-0-0-0-0-0-0-0-0-0-0-0-0-0-95-0-0-0-0-0-0-28-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-27-0-0-0-0-43-95-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-56-0-0-0-0-0-0-0-72-0-0-0-6-19-19-0-0-0-0-0-0-0-0-5-0-62-0-0-0-0-0-0-0-0-5-0-0-0-0-0-0-0-0-0-38-5-0-42-doordata34-1-10-1-31-2#";
  462.          levelsArray[32] = data32;
  463.          data33 = "title=Secret Garden&bgnum=3&data=0-0-7-19-19-19-19-1-0-0-21-0-0-1-0-0-0-43-1-0-0-33-0-41-1-0-0-0-24-1-0-0-0-0-41-1-0-0-0-41-1-0-41-1-0-0-1-0-0-0-41-1-0-41-1-0-24-1-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-1-41-0-1-0-0-0-0-0-0-41-1-41-0-1-0-0-0-41-1-0-24-1-41-0-1-0-0-0-41-1-0-0-0-41-41-0-0-0-0-0-0-41-1-0-24-41-0-0-0-0-0-0-3-1-0-0-0-41-0-0-0-0-0-24-1-0-0-0-41-41-0-0-0-0-2-1-0-0-0-0-41-0-24-1-0-0-7-19-19-0-0-0-42-0-1-0-43-1-0-0-doordata33-1-10-1-5-3#";
  464.          levelsArray[33] = data33;
  465.          data34 = "title=The Inferno&bgnum=13&data=0-0-0-38-2-0-0-33-2-0-53-0-0-0-0-2-0-0-21-2-0-53-0-0-0-11-0-12-0-0-0-0-53-0-0-0-0-0-0-41-2-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-41-0-0-0-0-0-0-0-0-53-0-41-64-0-0-0-41-2-0-0-53-0-0-3-0-0-0-0-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-41-64-0-0-11-0-0-74-2-0-53-0-0-0-0-0-0-0-0-0-0-53-0-0-0-0-0-0-41-2-0-0-53-0-0-0-0-0-0-0-0-0-0-53-41-2-0-0-0-41-2-0-0-0-53-0-41-0-0-41-2-0-0-0-0-53-doordata33-0-7-1-17-2#";
  466.          levelsArray[34] = data34;
  467.          data35 = "title=Forgotten Jail&bgnum=1&data=0-2-2-2-0-0-2-2-0-0-2-0-0-41-2-0-0-41-2-0-0-41-0-0-41-2-0-0-22-2-0-0-26-0-0-51-2-0-0-41-2-0-0-74-0-0-41-2-0-0-41-2-0-0-26-0-0-41-2-0-0-57-2-0-0-26-2-0-62-2-0-62-2-2-0-0-41-0-8-19-19-19-19-19-2-0-62-2-78-2-0-0-0-0-0-2-0-0-0-0-2-0-0-0-0-0-8-19-19-19-0-2-0-38-65-0-0-0-0-0-51-41-2-0-0-0-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-0-71-0-0-0-33-2-0-0-56-0-0-51-0-0-0-21-2-0-0-0-0-0-74-0-0-0-0-0-0-0-0-0-0-51-doordata33-13-3-1-3-3#";
  468.          levelsArray[35] = data35;
  469.          data3001 = "title=Jail 1&bgnum=1&data=0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-21-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-41-0-0-0-0-0-0-0-0-0-0-41-0-0-0-0-0-0-0-0-0-0-41-0-0-0-0-0-8-19-19-19-19-19-0-0-0-0-0-2-0-0-0-0-0-0-0-0-0-43-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-78-0-0-0-0-33-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-0-doordata33-14-4-1-2-1#";
  470.          levelsArray[3001] = data3001;
  471.          data3002 = "title=Jail 2&bgnum=1&data=0-0-0-33-2-0-0-0-0-0-0-0-0-0-21-2-0-0-0-0-0-0-0-0-0-0-8-19-19-19-19-19-19-0-0-56-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-0-0-2-0-0-0-0-0-0-0-0-0-41-2-0-0-0-56-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-66-0-0-0-0-0-0-2-0-0-0-2-0-0-0-0-56-0-8-19-19-19-2-0-0-2-2-0-62-2-0-0-41-2-0-0-0-0-0-0-2-0-0-41-2-0-0-0-0-0-33-2-0-0-38-2-0-0-0-0-0-0-2-0-0-0-2-0-0-doordata33-0-3-1-1-1#33-14-3-2-3-1#";
  472.          levelsArray[3002] = data3002;
  473.          data3003 = "title=Jail 3&bgnum=1&data=0-0-0-33-2-0-0-0-0-0-35-0-0-0-21-2-0-0-0-0-0-0-0-0-0-43-2-0-0-0-0-0-76-0-0-0-56-2-0-0-0-0-0-0-0-0-0-0-0-0-0-2-0-0-51-0-0-0-0-0-0-0-0-56-0-0-0-0-0-0-2-0-0-0-0-0-0-0-0-0-0-8-19-19-2-0-0-0-0-0-0-0-2-0-0-2-0-0-22-0-0-0-22-2-0-43-2-0-0-0-0-0-0-0-2-0-0-2-0-0-0-0-0-0-44-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-2-0-0-0-0-0-0-2-0-0-0-8-19-19-0-0-0-33-2-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-0-0-doordata33-0-3-1-2-2#35-0-10-3-35-1#33-14-3-2-4-1#";
  474.          levelsArray[3003] = data3003;
  475.          data3004 = "title=Basement&bgnum=1&data=0-0-33-5-41-6-19-19-19-19-19-0-0-0-5-0-5-0-0-0-0-0-21-0-0-0-0-60-0-0-41-5-0-0-0-41-0-5-0-0-0-56-5-0-0-0-41-0-5-0-0-0-0-5-0-0-0-0-0-0-41-0-0-0-0-0-0-0-0-0-0-0-0-0-43-5-0-0-41-56-13-0-0-0-0-56-5-0-41-0-0-0-0-0-41-0-41-5-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-41-41-0-0-0-0-0-0-0-41-5-60-0-0-0-0-0-0-0-56-0-5-0-0-0-0-6-19-19-19-0-0-5-0-0-0-42-5-56-0-0-0-0-5-0-0-41-0-5-0-0-34-0-0-6-19-19-19-19-5-0-0-0-doordata33-0-2-1-3-2#34-14-10-2-5-1#";
  476.          levelsArray[3004] = data3004;
  477.          data3005 = "title=Herb Garden&bgnum=3&data=0-33-1-0-41-1-0-43-1-41-0-0-0-1-0-24-1-0-41-1-0-43-0-21-1-0-0-1-0-41-1-0-0-0-0-1-0-73-1-0-41-1-0-22-0-0-1-0-0-1-0-0-1-0-0-0-0-1-0-0-1-0-0-1-0-77-0-0-1-0-0-1-0-0-1-0-0-41-0-18-0-0-0-0-0-7-19-19-41-0-0-0-0-0-0-0-1-0-35-0-0-1-0-0-1-0-0-1-0-0-0-0-1-0-0-1-0-0-1-0-0-0-0-1-0-0-1-0-0-1-0-41-0-0-1-0-71-1-0-44-1-0-43-0-41-1-0-0-1-41-0-1-0-0-0-22-1-0-23-1-0-24-1-0-33-0-0-1-0-42-1-0-41-1-0-0-doordata33-0-1-1-4-2#35-8-10-3-33-1#33-14-10-2-6-1#";
  478.          levelsArray[3005] = data3005;
  479.          data3006 = "title=Stone Garden&bgnum=8&data=0-41-42-0-0-0-0-0-0-0-33-0-0-0-0-8-19-19-19-2-0-21-0-0-0-41-2-0-0-0-2-0-78-0-0-0-41-2-0-0-57-2-0-0-0-0-0-0-2-0-0-43-2-0-0-0-0-0-22-2-0-0-0-0-0-41-0-0-0-0-2-0-78-2-0-0-57-0-0-0-0-0-0-22-2-0-0-41-0-0-0-2-0-0-0-2-0-0-41-0-0-77-2-0-0-0-2-0-0-41-0-0-0-2-0-0-0-0-0-0-78-0-0-0-0-0-0-0-0-0-0-22-0-0-0-0-0-0-0-2-0-0-0-0-0-0-41-2-41-76-2-0-0-44-0-0-0-33-2-41-0-2-0-0-0-0-0-0-0-2-0-0-8-19-19-19-doordata33-0-10-1-5-2#33-14-3-2-7-1#";
  480.          levelsArray[3006] = data3006;
  481.          data3007 = "title=Great Hall&bgnum=2&data=0-0-0-0-0-0-5-0-0-0-0-0-0-0-69-0-34-5-0-67-0-34-95-0-0-0-0-0-6-19-5-0-0-0-0-0-0-0-0-0-0-6-19-19-0-0-0-0-0-56-0-0-0-0-0-0-0-0-0-0-0-0-0-6-19-19-0-0-0-5-0-0-0-35-5-0-0-0-0-36-5-0-68-0-34-5-0-21-0-0-0-5-0-0-0-0-5-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-56-0-0-6-19-19-95-0-0-0-0-0-0-0-5-0-0-0-0-0-0-0-0-6-19-5-0-0-0-0-0-69-0-34-5-0-0-0-34-0-0-0-0-0-0-5-0-0-0-0-doordata34-1-5-3-13-1#34-1-10-2-8-1#35-6-7-7-29-1#36-7-2-6-30-1#34-7-7-4-18-1#34-14-5-5-23-1#34-14-10-1-6-2#";
  482.          levelsArray[3007] = data3007;
  483.          data3008 = "title=East Wing 1&bgnum=5&data=0-41-6-19-19-19-19-19-5-0-33-0-41-5-0-0-0-0-0-5-0-21-0-41-5-0-0-0-0-0-5-0-0-0-41-5-0-0-0-0-42-0-0-0-0-0-0-0-0-0-0-0-0-5-0-0-0-0-0-0-0-0-0-38-5-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-41-43-0-64-41-0-5-0-0-0-0-0-0-0-0-41-0-5-0-0-0-0-0-0-0-64-0-0-0-0-0-0-0-0-0-0-44-0-0-0-0-0-41-2-0-62-0-62-0-0-0-57-0-41-2-0-33-6-19-19-5-0-0-0-74-2-2-2-2-2-0-0-0-0-60-0-0-0-0-0-0-0-0-0-0-0-0-6-19-19-19-19-19-19-19-19-doordata33-0-10-1-7-2#33-12-4-2-9-1#";
  484.          levelsArray[3008] = data3008;
  485.          data3009 = "title=East Wing 2&bgnum=5&data=0-0-33-5-2-0-0-0-0-0-0-0-0-21-5-2-0-16-0-5-0-44-0-0-0-0-2-0-0-0-5-0-0-0-0-0-0-0-0-0-0-5-56-41-0-0-0-13-0-0-0-51-5-0-41-0-0-0-0-0-0-0-0-5-0-22-0-0-0-17-0-0-0-0-5-0-0-0-0-0-0-0-0-0-0-2-54-0-0-0-5-0-0-0-56-2-2-0-0-0-0-13-0-0-0-0-0-2-0-0-0-0-5-0-13-0-0-0-2-52-41-0-43-5-0-0-0-0-0-2-0-0-0-41-5-0-41-2-2-2-2-0-57-0-41-5-0-0-5-0-0-0-0-0-0-41-5-0-42-5-0-33-8-8-8-0-23-5-0-41-5-0-0-0-0-0-doordata33-0-2-1-8-2#33-14-7-2-10-1#";
  486.          levelsArray[3009] = data3009;
  487.          data3010 = "title=East Wing 3&bgnum=5&data=0-0-33-5-0-0-0-0-33-5-51-0-0-0-5-0-0-0-0-0-5-51-0-0-0-0-0-0-13-0-0-0-51-0-0-0-0-56-0-5-0-0-0-51-0-0-0-63-0-0-5-0-0-0-51-0-0-0-0-0-0-13-0-0-0-51-0-0-0-0-0-0-0-51-5-0-51-0-42-5-0-0-0-0-41-5-0-51-0-0-5-0-41-0-0-22-5-0-51-60-0-0-0-0-0-0-0-0-0-51-0-0-0-0-18-0-0-0-0-0-2-43-5-0-0-0-0-0-0-0-0-2-0-5-56-0-2-2-2-2-2-2-2-0-5-0-0-0-0-0-0-0-0-38-41-5-0-0-0-0-0-0-21-0-44-0-6-19-19-19-19-19-19-19-19-19-doordata33-0-2-2-11-1#33-0-8-1-9-2#";
  488.          levelsArray[3010] = data3010;
  489.          data3011 = "title=East Wing 4&bgnum=5&data=0-33-6-19-19-19-5-74-2-0-57-0-2-0-0-5-0-0-0-0-0-0-0-0-0-0-5-0-0-0-0-0-0-0-0-41-0-0-0-56-0-0-0-0-0-0-12-0-0-0-0-0-0-0-43-0-0-0-0-0-0-0-0-0-0-0-41-0-0-0-0-0-0-41-5-0-0-0-0-2-0-0-0-0-0-0-0-0-0-0-21-0-33-5-0-41-5-0-0-0-0-0-0-0-5-0-0-0-0-0-0-0-0-0-0-0-0-41-5-0-0-0-0-5-0-0-5-0-0-0-0-0-0-0-60-0-0-0-0-41-5-0-0-0-0-5-0-0-0-56-0-0-0-57-0-0-0-0-42-0-0-0-0-0-0-0-0-0-6-19-19-19-19-19-19-0-doordata33-0-1-2-12-1#33-8-4-1-10-2#";
  490.          levelsArray[3011] = data3011;
  491.          data3012 = "title=East Tower&bgnum=10&data=41-0-6-19-19-19-5-0-21-5-0-41-0-5-41-0-38-5-0-33-5-0-41-0-5-60-0-0-0-0-0-5-0-0-0-0-0-0-0-15-0-0-0-53-0-0-0-64-0-0-0-0-0-0-53-0-0-0-0-0-0-0-16-41-5-0-0-0-0-0-0-0-0-0-41-5-0-0-0-41-2-2-2-0-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-0-43-2-15-0-0-0-0-5-0-0-0-0-0-0-0-0-0-44-5-0-0-0-64-0-0-51-2-0-0-5-0-0-0-0-0-0-2-0-0-0-0-0-0-0-0-0-14-0-0-0-0-0-0-0-62-5-0-0-0-0-41-41-0-0-0-39-5-0-0-41-0-13-0-0-0-doordata33-1-8-1-11-2#";
  492.          levelsArray[3012] = data3012;
  493.          data3013 = "title=South Wing 1&bgnum=6&data=21-0-6-19-19-19-19-5-43-5-42-0-33-5-0-0-0-0-0-0-5-0-0-0-5-0-0-0-0-0-0-5-57-0-0-41-41-0-41-0-64-56-5-0-0-0-0-0-0-0-0-0-2-52-0-0-0-2-0-0-0-0-41-2-0-0-0-0-41-41-0-0-0-0-0-0-0-0-0-0-0-0-41-0-64-0-0-0-0-0-2-0-0-0-0-0-41-0-0-0-0-41-41-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-2-0-41-38-65-64-0-5-0-0-0-41-41-0-0-0-0-56-5-0-0-0-0-0-0-41-0-0-0-5-57-0-62-2-60-0-0-0-0-0-5-0-0-34-2-0-0-0-6-19-19-19-19-doordata33-1-1-1-7-3#34-15-1-2-14-1#";
  494.          levelsArray[3013] = data3013;
  495.          data3014 = "title=South Wing 2&bgnum=6&data=0-22-2-0-0-41-0-2-0-0-33-0-0-2-0-0-0-44-2-0-0-21-0-38-2-0-0-0-0-8-19-19-19-0-0-66-41-0-41-0-0-56-0-43-0-0-2-0-0-0-0-0-0-2-2-0-0-2-0-0-0-0-0-0-0-0-0-0-43-2-0-60-0-0-56-0-0-0-0-0-2-0-0-0-0-41-0-2-0-0-0-0-2-0-0-60-0-0-41-0-0-0-0-0-2-0-0-56-0-2-60-0-0-0-0-2-0-0-0-0-41-0-0-0-0-0-2-0-0-41-2-0-0-0-60-0-0-2-56-0-2-0-0-0-0-0-0-0-2-0-0-2-0-62-0-0-0-0-0-2-0-0-2-0-0-0-0-0-0-0-8-19-19-2-0-33-doordata33-0-10-1-13-2#33-15-10-2-15-1#";
  496.          levelsArray[3014] = data3014;
  497.          data3015 = "title=South Wing 3&bgnum=6&data=0-0-0-0-0-0-0-21-0-0-33-0-0-8-19-2-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-2-0-0-15-0-2-0-0-0-0-0-0-60-0-0-0-0-0-0-0-0-2-0-0-0-0-0-12-0-0-0-0-0-0-0-0-0-0-0-0-0-0-2-0-0-0-0-2-0-0-0-0-0-0-0-0-0-44-2-0-0-56-0-2-0-0-0-0-0-2-0-0-0-0-0-0-0-43-0-0-15-0-0-0-2-0-11-0-0-0-0-0-0-0-0-0-0-0-0-22-0-0-0-0-0-2-0-0-0-0-51-0-0-0-0-0-0-0-0-0-0-0-0-0-2-0-0-56-0-0-0-0-0-0-33-2-0-0-0-0-42-8-19-19-doordata33-0-10-1-14-2#33-15-1-2-16-1#";
  498.          levelsArray[3015] = data3015;
  499.          data3016 = "title=South Wing 4&bgnum=6&data=0-33-2-41-23-2-0-57-2-0-0-21-0-2-0-0-2-0-43-2-0-0-0-0-8-0-0-0-0-0-0-0-51-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-8-19-19-2-0-0-0-0-0-2-41-2-0-38-2-0-57-2-2-2-2-2-2-2-2-2-0-0-0-41-8-19-19-19-19-19-19-19-19-0-62-2-0-41-2-52-0-2-0-0-0-41-2-0-41-2-0-0-2-0-22-60-0-0-0-2-2-2-42-2-0-0-0-0-60-0-0-0-0-0-0-0-0-0-0-0-0-0-0-56-0-0-0-0-2-2-0-0-0-0-0-2-0-0-22-0-33-2-0-0-0-0-2-0-0-0-0-0-8-19-19-19-2-0-0-0-0-doordata33-0-1-1-15-2#33-14-1-2-17-1#";
  500.          levelsArray[3016] = data3016;
  501.          data3017 = "title=South Tower&bgnum=13&data=0-21-2-0-0-0-0-35-2-0-53-0-34-2-0-0-0-0-0-2-0-53-0-0-2-0-2-0-56-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-0-0-0-2-0-0-43-2-0-53-0-0-0-0-0-0-0-0-2-0-53-60-0-0-0-0-2-56-0-0-0-53-0-0-2-0-0-0-0-0-0-0-53-0-38-2-0-0-0-2-0-0-0-2-0-0-2-0-0-0-0-0-0-0-0-60-0-0-0-0-0-0-0-0-0-0-0-0-0-13-0-0-0-0-0-0-2-0-0-0-0-0-0-0-0-11-0-0-2-0-0-2-2-2-0-0-0-2-42-0-0-0-0-0-0-0-0-0-0-0-19-19-19-19-19-19-19-0-0-0-57-doordata35-0-7-2-34-1#34-1-1-1-16-2#";
  502.          levelsArray[3017] = data3017;
  503.          data3018 = "title=West Wing 1&bgnum=7&data=0-23-2-0-0-21-2-0-0-0-42-41-43-2-0-0-34-2-0-0-56-57-41-0-2-0-0-0-2-0-0-0-43-0-38-2-0-0-41-2-0-0-0-0-0-0-2-0-0-0-0-0-16-0-44-0-0-2-60-0-0-0-0-0-56-0-0-0-0-15-0-0-2-0-0-0-43-0-0-56-0-41-41-0-0-0-0-22-0-64-0-0-0-0-0-0-0-0-44-0-0-0-0-8-19-2-0-0-56-43-41-0-0-0-0-0-0-0-0-0-57-0-2-0-0-0-41-2-0-0-0-0-0-0-0-0-0-41-2-0-0-0-34-0-0-0-0-0-3-2-0-0-0-0-0-0-0-0-0-34-2-0-0-56-0-0-0-0-0-0-2-2-0-0-0-0-doordata34-1-5-1-7-4#34-12-10-3-19-3#34-14-5-2-19-1#";
  504.          levelsArray[3018] = data3018;
  505.          data3019 = "title=West Wing 2&bgnum=7&data=42-0-66-0-0-66-41-0-66-0-34-0-0-2-0-34-2-0-23-2-0-0-41-0-2-0-21-2-41-0-2-0-41-41-0-2-0-0-8-19-19-2-0-57-0-0-2-0-41-0-0-0-2-0-0-0-0-2-0-0-0-0-0-2-0-38-0-0-11-2-60-0-56-0-2-0-62-0-0-0-0-2-0-0-44-2-0-57-0-0-0-0-0-0-0-43-2-0-41-0-0-0-0-0-2-0-0-2-2-0-0-0-0-41-0-0-0-41-22-2-22-0-41-2-0-0-0-0-41-0-2-0-0-0-0-0-0-2-0-0-0-2-41-0-0-2-0-0-8-19-19-19-2-0-0-34-2-2-2-2-2-2-2-2-22-0-0-8-19-19-19-19-19-19-19-19-doordata34-0-10-3-18-3#34-1-4-1-18-2#34-14-1-2-20-1#";
  506.          levelsArray[3019] = data3019;
  507.          data3020 = "title=West Wing 3&bgnum=7&data=0-41-0-0-0-0-0-0-0-0-2-0-0-0-0-0-41-41-41-0-0-0-0-0-2-2-2-2-2-2-2-2-0-0-34-2-0-0-0-0-0-38-2-22-0-21-2-0-0-0-0-43-0-2-41-2-2-2-0-0-0-2-0-62-2-0-0-34-2-0-56-41-2-41-42-2-22-0-0-2-0-0-74-2-0-62-2-0-0-0-0-0-0-0-0-0-0-0-44-0-41-2-0-0-0-0-0-56-0-0-0-0-60-0-0-23-2-0-0-8-19-0-0-0-0-41-0-2-52-0-2-0-0-0-17-0-41-0-2-0-0-2-0-0-0-0-0-0-0-2-0-0-2-2-0-0-0-0-0-0-0-2-0-0-2-41-0-0-0-0-0-0-8-19-19-41-doordata34-3-1-1-19-2#34-6-1-2-21-1#";
  508.          levelsArray[3020] = data3020;
  509.          data3021 = "title=West Wing 4&bgnum=7&data=41-41-41-41-41-42-0-0-0-0-33-0-0-2-2-2-2-2-2-0-0-21-0-0-8-19-19-19-19-2-0-0-0-2-2-2-0-0-0-0-2-0-56-43-0-0-11-2-0-0-0-0-0-0-0-0-0-0-0-2-0-0-63-2-0-22-0-0-0-0-0-0-0-0-2-0-0-0-0-0-0-2-0-41-0-2-54-0-0-0-0-41-0-2-0-41-2-0-0-0-33-2-0-38-2-0-0-0-0-41-0-62-2-0-0-0-0-0-0-0-0-60-0-0-0-0-0-2-0-0-0-22-0-0-2-0-0-0-0-0-41-44-2-0-0-34-2-0-0-5-41-0-2-0-0-0-0-2-0-0-41-0-2-56-0-0-0-26-2-0-0-0-2-0-0-0-doordata33-0-10-1-20-2#33-9-1-2-22-1#34-13-2-3-28-1#";
  510.          levelsArray[3021] = data3021;
  511.          data3022 = "title=West Tower&bgnum=4&data=42-38-1-41-0-0-41-65-0-65-43-0-73-1-41-0-64-0-0-0-0-0-0-41-1-41-0-0-0-41-0-0-65-0-60-0-0-64-0-0-0-2-1-0-0-0-0-0-21-0-2-0-2-1-41-0-0-12-0-0-77-2-0-2-1-41-0-0-0-41-0-33-2-41-2-1-0-0-0-0-65-0-0-5-44-2-1-0-0-0-0-0-2-2-5-38-2-0-62-0-0-0-0-0-22-2-43-2-1-41-0-0-0-65-1-0-2-57-2-1-0-0-0-0-0-1-41-0-62-2-1-57-0-0-0-0-1-0-0-0-2-1-41-0-62-1-24-1-60-41-0-0-0-41-0-40-1-0-1-0-0-0-0-43-2-0-26-1-38-7-19-19-19-19-0-63-doordata33-6-5-1-21-2#";
  512.          levelsArray[3022] = data3022;
  513.          data3023 = "title=North Wing 1&bgnum=9&data=0-0-8-19-2-0-0-38-2-0-21-0-41-5-0-15-0-0-41-2-0-33-0-0-5-0-0-0-0-41-8-19-19-60-43-5-0-0-0-0-41-2-2-2-41-0-5-0-0-0-0-0-15-0-51-0-0-5-0-5-0-41-0-0-0-51-41-0-5-0-2-0-56-0-0-0-51-0-0-0-44-2-0-0-0-0-0-51-0-0-16-0-0-0-0-2-0-0-2-0-0-0-43-2-41-62-2-0-0-2-60-0-0-0-0-0-0-0-0-2-2-0-0-0-0-5-0-56-0-15-0-51-41-0-0-0-5-0-0-0-0-0-51-0-0-0-0-0-0-0-0-0-0-51-0-0-0-42-2-0-0-0-0-0-51-0-33-5-0-8-19-19-19-2-0-51-doordata33-1-10-1-7-5#33-15-1-2-24-1#";
  514.          levelsArray[3023] = data3023;
  515.          data3024 = "title=North Wing 2&bgnum=9&data=0-34-2-0-38-2-42-2-0-33-2-0-21-2-0-43-2-41-2-0-0-2-0-0-0-2-0-2-57-2-0-0-2-0-0-0-0-57-5-43-2-0-41-0-0-0-2-56-0-5-41-0-2-0-62-41-0-2-0-0-2-0-0-2-2-0-0-0-0-2-0-2-60-0-41-2-0-0-0-0-41-22-2-0-0-41-2-0-0-0-2-0-0-2-0-0-2-2-0-0-74-2-0-0-0-2-0-2-0-78-0-43-2-2-2-0-2-0-2-0-0-0-0-0-0-0-0-2-57-2-0-57-0-56-2-0-2-0-5-0-2-0-0-0-0-0-41-2-57-5-41-2-56-0-0-0-2-2-0-0-5-0-0-2-41-0-0-8-19-19-19-8-19-19-8-19-doordata34-0-1-1-23-2#33-0-9-2-25-1#";
  516.          levelsArray[3024] = data3024;
  517.          data3025 = "title=North Wing 3&bgnum=9&data=0-33-5-38-5-0-6-19-5-0-33-0-0-2-0-5-0-5-0-0-0-21-0-62-6-19-5-0-0-0-0-5-0-0-0-0-0-5-0-0-5-57-5-0-0-0-0-0-0-56-0-5-0-5-57-0-0-5-0-5-0-0-5-22-5-0-0-0-5-23-5-0-0-0-0-5-43-0-0-60-0-5-0-5-0-0-0-22-0-5-0-0-0-56-5-0-0-5-0-0-0-56-5-0-0-0-0-22-5-43-0-2-26-5-0-0-0-0-0-5-0-0-0-63-5-0-0-5-0-0-0-0-0-0-0-0-0-23-5-0-0-5-0-0-0-0-0-5-0-5-0-22-5-43-0-0-0-0-5-0-5-0-0-5-22-0-42-5-0-6-19-5-0-0-6-19-doordata33-0-1-2-26-1#33-0-10-1-24-2#";
  518.          levelsArray[3025] = data3025;
  519.          data3026 = "title=North Wing 4&bgnum=9&data=19-19-19-19-19-19-19-19-8-19-19-0-60-0-0-0-0-0-38-2-0-57-2-2-6-19-19-5-0-0-0-56-0-2-42-5-41-41-5-0-0-0-0-0-2-41-2-0-62-2-0-41-2-2-2-2-22-2-41-42-2-0-0-8-19-19-2-22-2-2-2-2-0-0-11-0-22-0-33-5-0-0-0-0-0-0-0-0-2-0-5-21-34-6-19-41-0-0-0-2-0-5-0-0-0-41-0-0-0-22-0-62-2-2-2-2-41-0-0-0-0-0-41-0-0-0-2-41-0-8-19-19-0-41-5-0-2-2-0-62-2-2-2-0-0-41-0-0-2-0-0-0-0-57-0-26-6-19-19-19-6-19-5-0-0-0-0-5-0-0-41-0-56-6-19-19-doordata33-7-1-2-27-1#34-8-4-1-25-2#";
  520.          levelsArray[3026] = data3026;
  521.          data3027 = "title=North Tower&bgnum=13&data=21-33-5-0-0-0-0-0-0-5-0-0-0-0-0-0-0-0-0-0-0-0-0-0-43-5-41-5-43-5-0-0-0-0-0-22-5-38-5-0-5-38-5-0-0-0-0-5-23-5-0-5-0-5-0-2-0-62-0-0-5-62-0-0-2-22-60-0-41-5-41-5-41-5-41-2-43-0-0-41-5-41-5-41-5-41-2-0-0-56-42-5-41-5-41-5-41-2-56-0-0-22-5-44-5-26-5-0-2-0-0-0-0-5-0-5-62-5-44-2-22-0-0-0-0-0-63-0-0-0-0-0-0-0-0-0-0-0-63-0-0-0-2-0-62-5-0-43-0-0-0-0-0-0-0-37-5-0-0-5-0-0-0-5-44-56-0-5-0-0-6-19-19-19-19-19-doordata33-0-1-1-26-2#";
  522.          levelsArray[3027] = data3027;
  523.          data3028 = "title=Oubliette&bgnum=14&data=0-0-10-19-19-4-0-0-21-4-43-0-34-4-0-41-4-4-0-34-4-44-0-0-4-0-0-41-4-41-41-10-19-0-34-4-0-0-0-0-0-0-0-0-0-0-0-41-0-4-0-17-0-0-51-0-60-0-0-0-0-38-0-0-0-51-0-0-0-41-0-5-0-0-0-0-51-0-0-0-0-0-0-4-0-0-2-51-0-0-0-0-0-0-0-0-62-2-51-0-0-41-41-0-0-0-0-0-0-51-0-0-41-41-41-43-41-0-62-2-51-41-38-4-0-0-0-0-0-0-0-51-0-0-4-0-0-0-41-0-62-2-51-60-0-4-0-0-0-0-0-0-0-51-0-41-14-0-0-0-0-0-0-0-41-0-0-4-0-0-0-44-10-19-19-41-doordata34-1-1-3-28-1#34-1-8-1-28-1#34-3-1-2-21-1#";
  524.          levelsArray[3028] = data3028;
  525.          data3029 = "title=Pantry&bgnum=15&data=0-56-0-0-0-6-19-19-0-0-21-0-42-0-0-0-5-0-0-0-0-33-41-41-41-0-0-0-0-0-41-5-0-0-0-0-0-0-0-0-0-41-5-41-0-0-0-0-0-5-0-0-41-5-0-5-0-0-41-41-0-63-0-41-5-41-6-19-5-0-0-0-0-0-41-5-0-0-0-5-0-0-0-0-0-41-5-41-0-56-5-0-0-5-0-0-41-5-0-0-0-5-41-41-0-63-0-41-5-41-0-0-5-0-0-0-0-0-41-5-0-0-0-5-0-0-0-0-0-41-5-41-0-0-5-0-0-5-0-0-41-5-0-0-0-5-41-41-0-63-0-41-5-41-0-56-5-0-0-0-0-0-41-6-19-0-0-6-19-19-5-0-0-0-0-38-doordata33-1-10-1-7-7#";
  526.          levelsArray[3029] = data3029;
  527.          data3030 = "title=Wizard Tower 1&bgnum=12&data=0-0-0-33-2-56-0-0-0-4-53-0-0-0-0-2-21-33-4-0-4-53-0-0-0-0-2-0-3-4-0-4-53-0-0-0-0-0-0-0-0-0-4-53-0-0-0-0-0-0-0-0-0-16-53-0-0-0-0-0-4-0-0-0-0-53-0-0-0-0-0-4-0-0-0-0-53-0-0-0-0-0-4-0-0-0-0-53-0-0-0-2-0-0-0-0-0-0-53-0-0-0-2-0-0-0-0-0-0-53-2-0-62-2-0-62-4-0-0-0-53-0-0-17-0-0-56-4-0-0-11-53-0-0-0-0-0-0-0-0-0-0-53-0-0-0-27-0-0-0-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-38-10-19-0-10-19-19-19-4-53-doordata33-0-3-2-31-1#33-1-6-1-7-6#";
  528.          levelsArray[3030] = data3030;
  529.          data3031 = "title=Wizard Tower 2&bgnum=12&data=0-34-4-0-34-4-0-0-0-10-19-0-21-4-56-0-4-0-0-38-4-0-0-41-4-0-0-4-60-54-0-4-0-0-41-2-0-62-2-2-0-0-4-22-0-0-4-0-44-2-0-0-43-4-0-0-0-4-0-22-2-0-0-0-0-0-0-0-4-56-0-8-19-19-0-0-4-0-0-4-2-57-2-0-0-41-42-4-0-0-0-0-0-0-0-0-0-0-4-0-0-0-0-0-0-41-0-0-0-53-0-63-0-41-0-0-0-0-0-0-53-42-0-0-63-41-63-27-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-0-0-0-0-0-0-41-0-0-53-0-41-4-0-0-0-38-4-0-0-4-0-56-10-19-19-19-19-19-19-19-4-doordata34-0-1-1-30-2#34-0-4-2-32-1#";
  530.          levelsArray[3031] = data3031;
  531.          data3032 = "title=Throne Room&bgnum=11&data=0-0-0-0-72-0-0-42-5-0-21-0-0-0-0-0-0-0-43-5-0-34-0-0-0-0-0-0-0-0-5-0-0-95-0-0-0-0-0-0-0-6-19-19-0-0-0-0-0-0-0-0-0-0-0-95-0-0-0-0-0-0-56-0-0-0-0-0-0-0-0-0-0-0-0-0-0-95-0-0-0-0-0-0-28-0-0-43-0-0-0-0-0-0-0-0-0-0-0-95-0-0-0-0-27-0-0-0-0-0-0-0-0-0-0-0-41-0-0-0-0-95-0-0-0-0-0-0-56-0-0-0-0-0-0-0-72-0-0-0-6-19-19-0-0-0-0-0-0-43-0-5-0-62-0-0-0-0-0-0-0-0-5-0-0-0-0-0-0-0-0-0-38-5-0-42-doordata34-1-10-1-31-2#";
  532.          levelsArray[3032] = data3032;
  533.          data3033 = "title=Secret Garden&bgnum=3&data=0-0-7-19-19-19-19-1-0-0-21-0-0-1-0-0-0-43-1-0-0-33-0-41-1-0-0-0-24-1-0-0-0-0-41-1-0-0-0-41-1-0-41-1-0-0-1-0-0-0-41-1-0-41-1-0-24-1-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-1-41-0-1-0-0-0-0-0-0-41-1-41-0-1-0-0-0-41-1-0-24-1-41-0-1-0-0-0-41-1-0-0-0-41-41-0-0-0-0-0-0-41-1-0-24-41-0-0-0-0-0-0-3-1-0-0-0-41-0-0-0-0-0-24-1-0-0-0-41-41-0-0-0-0-2-1-0-0-0-0-41-0-24-1-0-0-7-19-19-0-0-0-42-0-1-0-43-1-0-0-doordata33-1-10-1-5-3#";
  534.          levelsArray[3033] = data3033;
  535.          data3034 = "title=The Inferno&bgnum=13&data=0-0-0-38-2-0-0-33-2-0-53-0-0-0-0-2-0-0-21-2-0-53-0-0-0-0-0-16-0-0-0-0-53-0-0-0-64-0-0-41-2-0-0-53-0-0-0-64-0-0-0-0-0-0-53-0-41-0-0-0-0-0-0-0-0-53-0-41-64-0-0-0-41-2-0-0-53-0-0-64-0-0-0-0-0-0-0-53-0-0-0-0-0-0-0-0-0-0-53-0-0-0-0-0-0-0-0-2-0-53-41-64-0-0-15-0-0-74-2-0-53-0-2-0-0-0-0-0-0-0-0-53-0-0-0-0-0-0-41-2-0-0-53-0-0-0-0-0-0-0-0-0-0-53-41-2-0-0-0-41-2-0-0-0-53-0-41-0-0-41-2-0-0-0-0-53-doordata33-0-7-1-17-2#";
  536.          levelsArray[3034] = data3034;
  537.          data3035 = "title=Forgotten Jail&bgnum=1&data=0-2-2-2-0-43-2-2-0-0-2-0-0-41-2-0-0-41-2-0-0-41-0-0-41-2-0-0-22-2-0-0-26-0-0-22-2-0-0-41-2-0-0-74-0-0-41-2-0-0-41-2-0-0-0-0-0-41-2-0-0-57-2-0-0-26-2-0-62-2-0-62-2-2-0-0-41-0-8-19-19-19-19-19-2-0-62-2-78-2-0-0-0-0-0-2-0-0-0-0-2-0-0-0-0-0-8-19-19-19-0-2-0-38-65-0-0-0-0-0-0-41-2-0-0-0-0-0-0-0-0-51-0-0-0-0-2-0-0-0-0-0-71-0-0-0-33-2-0-0-56-0-0-51-0-0-0-21-2-0-0-0-0-0-74-0-0-0-0-0-0-0-0-0-0-51-doordata33-13-3-1-3-3#";
  538.          levelsArray[3035] = data3035;
  539.          menu.warning.visible = false;
  540.          gamelevel.visible = false;
  541.          quitScreen.visible = false;
  542.          messagebox.visible = false;
  543.          gameoverpanel.visible = false;
  544.          howtoplay.visible = false;
  545.          if(!savedProgress.data.livesLeft)
  546.          {
  547.             menu.loadsavebtn.visible = false;
  548.          }
  549.          else
  550.          {
  551.             menu.loadsavebtn.visible = true;
  552.          }
  553.          stage.quality = StageQuality.HIGH;
  554.          theversion = String(Capabilities.version);
  555.          if(theversion.indexOf("9,0,45,0") != -1)
  556.          {
  557.             menu.warning.visible = true;
  558.          }
  559.          stopMusic();
  560.       }
  561.       
  562.       internal function frame17() : *
  563.       {
  564.          stop();
  565.          messagebox.visible = false;
  566.          startPlatformGame();
  567.          loadlevelbtn.addEventListener(MouseEvent.CLICK,goLevel);
  568.          stage.quality = StageQuality.MEDIUM;
  569.       }
  570.       
  571.       internal function frame3() : *
  572.       {
  573.          prog = this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal;
  574.          loadbar.scaleX = prog;
  575.       }
  576.       
  577.       internal function frame4() : *
  578.       {
  579.          if(framesLoaded == totalFrames)
  580.          {
  581.             play();
  582.          }
  583.          else
  584.          {
  585.             gotoAndPlay("load");
  586.          }
  587.       }
  588.       
  589.       internal function frame18() : *
  590.       {
  591.       }
  592.       
  593.       public function startGameLevel() : *
  594.       {
  595.          this.addEventListener(Event.ENTER_FRAME,gameLoop);
  596.          stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownFunction);
  597.          stage.addEventListener(KeyboardEvent.KEY_UP,keyUpFunction);
  598.          clickbit.addEventListener(MouseEvent.MOUSE_DOWN,shoot);
  599.          gameMode = "play";
  600.          addScore(0);
  601.          showLives();
  602.          uifire.visible = hero.hasFlame;
  603.          uiamulet.visible = hero.hasAmulet;
  604.          uiruby.visible = hero.hasRuby;
  605.       }
  606.       
  607.       internal function frame1() : *
  608.       {
  609.          if(MochiBot != null)
  610.          {
  611.             MochiBot.track(this,"07cfe4fc");
  612.          }
  613.          stage.showDefaultContextMenu = false;
  614.          if(Capabilities.playerType != "External")
  615.          {
  616.             if(MochiAd != null)
  617.             {
  618.                MochiAd.showPreGameAd({
  619.                   "clip":root,
  620.                   "id":"9e766ab65642d883",
  621.                   "res":"640x480"
  622.                });
  623.             }
  624.          }
  625.          if(MochiServices != null)
  626.          {
  627.             MochiServices.connect("9e766ab65642d883",this);
  628.             MochiServices.connect("9e766ab65642d883",this);
  629.          }
  630.       }
  631.       
  632.       public function startPlatformGame() : *
  633.       {
  634.          ClearBlocks();
  635.          gameoverpanel.visible = false;
  636.          if(diff == 1)
  637.          {
  638.             diffMod = 0;
  639.          }
  640.          else
  641.          {
  642.             diffMod = 3000;
  643.          }
  644.          hallVisited = false;
  645.          closemsg();
  646.          gameScore = 0;
  647.          gameMode = "play";
  648.          playerLives = 5 - diff * 2;
  649.          wizAttack = 0;
  650.          oneFrame = 0;
  651.          starsGot = 0;
  652.          isLoaded = false;
  653.          hero = new Hero(this);
  654.          uifire.visible = uiamulet.visible = uiruby.visible = false;
  655.          blockholder = gamelevel.blockholder;
  656.          arrowholder = gamelevel.arrowholder;
  657.          monsterholder = gamelevel.monsterholder;
  658.          blockholder.visible = false;
  659.          quitScreen.visible = false;
  660.          placedRuby = false;
  661.          wizardDead = false;
  662.          fixedObjects = new Array();
  663.          otherObjects = new Array();
  664.          arrows = new Array();
  665.          badArrows = new Array();
  666.          doors = new Array();
  667.          enemies = new Array();
  668.          generators = new Array();
  669.          gotStars = new Array();
  670.          gotLives = new Array();
  671.          lustras = new Array();
  672.          timeSum = 0;
  673.          frameCount = 0;
  674.          playMainMusic();
  675.          if(loadSavedGame)
  676.          {
  677.             loadGame();
  678.             loadLevel(7,0);
  679.          }
  680.          else
  681.          {
  682.             loadLevel(1,0);
  683.          }
  684.          countStars();
  685.       }
  686.       
  687.       public function countStars() : *
  688.       {
  689.          var _loc1_:* = undefined;
  690.          var _loc2_:* = undefined;
  691.          var _loc3_:int = 0;
  692.          var _loc4_:int = 0;
  693.          var _loc5_:String = null;
  694.          var _loc6_:int = 0;
  695.          _loc1_ = 0;
  696.          _loc2_ = 0 + diffMod;
  697.          while(_loc2_ < 37 + diffMod)
  698.          {
  699.             if(levelsArray[_loc2_] != undefined)
  700.             {
  701.                _loc3_ = 0;
  702.                _loc4_ = 0;
  703.                while(_loc3_ != -1)
  704.                {
  705.                   _loc4_++;
  706.                   if(_loc4_ > 99999)
  707.                   {
  708.                      break;
  709.                   }
  710.                   if((_loc3_ = (_loc5_ = String(levelsArray[_loc2_])).indexOf("41",_loc3_ + 1)) != -1)
  711.                   {
  712.                      _loc1_++;
  713.                   }
  714.                }
  715.             }
  716.             _loc2_++;
  717.          }
  718.          starstotal_txt.text = String(_loc1_);
  719.       }
  720.       
  721.       public function endWinGame() : *
  722.       {
  723.          this.removeEventListener(Event.ENTER_FRAME,gameLoop);
  724.          stage.removeEventListener(KeyboardEvent.KEY_DOWN,keyDownFunction);
  725.          stage.removeEventListener(KeyboardEvent.KEY_UP,keyUpFunction);
  726.          clickbit.removeEventListener(MouseEvent.MOUSE_DOWN,shoot);
  727.          gamelevel.bgcolour.gotoAndPlay(2);
  728.          wingame.gotoAndPlay(2);
  729.       }
  730.       
  731.       public function getYFromRow(param1:*) : *
  732.       {
  733.          return param1 * cellHeight + gamelevel.y;
  734.       }
  735.       
  736.       public function loadResult(param1:Event) : *
  737.       {
  738.          var _loc2_:int = 0;
  739.          var _loc3_:int = 0;
  740.          var _loc4_:* = undefined;
  741.          var _loc5_:Object = null;
  742.          var _loc6_:* = undefined;
  743.          var _loc7_:String = null;
  744.          var _loc8_:Array = null;
  745.          var _loc9_:Array = null;
  746.          var _loc10_:int = 0;
  747.          var _loc11_:Array = null;
  748.          var _loc12_:* = undefined;
  749.          var _loc13_:int = 0;
  750.          var _loc14_:URLVariables = null;
  751.          var _loc15_:Array = null;
  752.          var _loc16_:int = 0;
  753.          gamelevel.bgcolour.gotoAndStop(1);
  754.          if(curLevel > 3)
  755.          {
  756.             gamelevel.help.visible = false;
  757.          }
  758.          else
  759.          {
  760.             gamelevel.help.gotoAndStop(curLevel);
  761.             gamelevel.help.visible = true;
  762.          }
  763.          if(curDoor != 0)
  764.          {
  765.             sounds.doorclose.play();
  766.          }
  767.          isLoaded = true;
  768.          if(gotStars[curLevel] == undefined)
  769.          {
  770.             gotStars[curLevel] = new Array();
  771.          }
  772.          if(gotLives[curLevel] == undefined)
  773.          {
  774.             gotLives[curLevel] = new Array();
  775.          }
  776.          _loc2_ = 0;
  777.          _loc3_ = 0;
  778.          ClearBlocks();
  779.          oneFrame = 0;
  780.          FillUpArray();
  781.          _loc4_ = URLLoader(getLevelLoader);
  782.          _loc5_ = new Object();
  783.          if(param1.type != "timer")
  784.          {
  785.             _loc5_.data = _loc4_.data["data"];
  786.             _loc5_.title = _loc4_.data["title"];
  787.             _loc5_.bgnum = _loc4_.data["bgnum"];
  788.          }
  789.          _loc6_ = curLevel;
  790.          if(diff == 0)
  791.          {
  792.             _loc6_ += 3000;
  793.          }
  794.          if(param1.type == "timer")
  795.          {
  796.             (_loc14_ = new URLVariables()).decode(levelsArray[_loc6_]);
  797.             _loc5_.data = _loc14_.data;
  798.             _loc5_.title = _loc14_.title;
  799.             _loc5_.bgnum = _loc14_.bgnum;
  800.          }
  801.          levelname.level_txt.text = String(_loc5_.title);
  802.          gamelevel.bgs.gotoAndStop(_loc5_.bgnum);
  803.          gamelevel.bgs.visible = true;
  804.          _loc9_ = (_loc8_ = (_loc7_ = String(_loc5_.data)).split("doordata"))[1].split("#");
  805.          _loc10_ = 0;
  806.          while(_loc10_ < _loc9_.length - 1)
  807.          {
  808.             _loc15_ = _loc9_[_loc10_].split("-");
  809.             CreateBlockFromLoad(parseInt(_loc15_[0]),parseInt(_loc15_[1]),parseInt(_loc15_[2]),parseInt(_loc15_[3]),parseInt(_loc15_[4]),parseInt(_loc15_[5]));
  810.             _loc10_++;
  811.          }
  812.          _loc11_ = _loc8_[0].split("-");
  813.          _loc12_ = 0;
  814.          _loc13_ = 0;
  815.          while(_loc13_ < gridWidth)
  816.          {
  817.             _loc16_ = 0;
  818.             while(_loc16_ < gridHeight)
  819.             {
  820.                levelData[_loc13_][_loc16_] = _loc11_[_loc12_];
  821.                _loc12_++;
  822.                _loc16_++;
  823.             }
  824.             _loc13_++;
  825.          }
  826.          _loc13_ = 0;
  827.          while(_loc13_ < gridWidth)
  828.          {
  829.             _loc16_ = 0;
  830.             while(_loc16_ < gridHeight)
  831.             {
  832.                if(levelData[_loc13_][_loc16_] != 0)
  833.                {
  834.                   if(parseInt(levelData[_loc13_][_loc16_]) < 33 || parseInt(levelData[_loc13_][_loc16_]) > 36)
  835.                   {
  836.                      if(parseInt(levelData[_loc13_][_loc16_]) > 21 && parseInt(levelData[_loc13_][_loc16_]) < 33)
  837.                      {
  838.                         createMonster(parseInt(levelData[_loc13_][_loc16_]),_loc13_,_loc16_,null);
  839.                      }
  840.                      else if(parseInt(levelData[_loc13_][_loc16_]) > 56 && parseInt(levelData[_loc13_][_loc16_]) < 61)
  841.                      {
  842.                         createGenerator(parseInt(levelData[_loc13_][_loc16_]),_loc13_,_loc16_);
  843.                      }
  844.                      else if(parseInt(levelData[_loc13_][_loc16_]) == 41)
  845.                      {
  846.                         if(!gotStars[curLevel][_loc2_])
  847.                         {
  848.                            CreateBlockFromLoad(parseInt(levelData[_loc13_][_loc16_]),_loc13_,_loc16_,0,0,0,_loc2_);
  849.                         }
  850.                         _loc2_++;
  851.                      }
  852.                      else if(parseInt(levelData[_loc13_][_loc16_]) == 42)
  853.                      {
  854.                         if(!gotLives[curLevel][_loc3_])
  855.                         {
  856.                            CreateBlockFromLoad(parseInt(levelData[_loc13_][_loc16_]),_loc13_,_loc16_,0,0,0,_loc3_);
  857.                         }
  858.                         _loc3_++;
  859.                      }
  860.                      else
  861.                      {
  862.                         CreateBlockFromLoad(parseInt(levelData[_loc13_][_loc16_]),_loc13_,_loc16_,0,0,0);
  863.                      }
  864.                   }
  865.                }
  866.                _loc16_++;
  867.             }
  868.             _loc13_++;
  869.          }
  870.          if(curLevel == 7 && hero.hasPulledLever)
  871.          {
  872.             CreateBlockFromLoad(64,9,4,0,0,0);
  873.             CreateBlockFromLoad(64,10,5,0,0,0);
  874.             CreateBlockFromLoad(64,11,6,0,0,0);
  875.          }
  876.          if(oneFrame != 0)
  877.          {
  878.             updateJoins();
  879.          }
  880.          startGameLevel();
  881.          if(curLevel == 7 && !hallVisited)
  882.          {
  883.             hallVisited = true;
  884.             showmsg();
  885.          }
  886.       }
  887.       
  888.       public function getScore() : *
  889.       {
  890.          return gameScore;
  891.       }
  892.       
  893.       public function moveEnemies(param1:int) : *
  894.       {
  895.          var _loc2_:int = 0;
  896.          _loc2_ = 0;
  897.          while(_loc2_ < enemies.length)
  898.          {
  899.             enemies[_loc2_].update(param1);
  900.             _loc2_++;
  901.          }
  902.       }
  903.       
  904.       public function continueGame() : *
  905.       {
  906.          gotLives = new Array();
  907.          ClearBlocks();
  908.          gameoverpanel.visible = false;
  909.          timeSum = 0;
  910.          frameCount = 0;
  911.          gameMode = "play";
  912.          playerLives = 5 - diff * 2;
  913.          oneFrame = 0;
  914.          hero.continueGame();
  915.          loadLevel(7,0);
  916.       }
  917.       
  918.       public function clearLevel() : *
  919.       {
  920.       }
  921.       
  922.       public function createGenerator(param1:int, param2:int, param3:int) : *
  923.       {
  924.          var _loc4_:MonsterGenerator = null;
  925.          (_loc4_ = new MonsterGenerator(this)).gotoAndStop(param1 - 56);
  926.          blockholder.addChild(_loc4_);
  927.          _loc4_.col = param2;
  928.          _loc4_.row = param3;
  929.          _loc4_.x = getXFromCol(param2);
  930.          _loc4_.y = getYFromRow(param3);
  931.          _loc4_.monsterType = param1 - 35;
  932.          _loc4_.init();
  933.          generators.push(_loc4_);
  934.       }
  935.       
  936.       public function updateJoins() : *
  937.       {
  938.          var _loc1_:int = 0;
  939.          var _loc2_:Block = null;
  940.          var _loc3_:int = 0;
  941.          _loc1_ = 0;
  942.          while(_loc1_ < fixedObjects.length)
  943.          {
  944.             _loc2_ = fixedObjects[_loc1_];
  945.             if(_loc2_.blocktype == 36)
  946.             {
  947.                if(hero.hasRuby && placedRuby)
  948.                {
  949.                   _loc2_.block36.gotoAndStop("ruby");
  950.                }
  951.             }
  952.             if(curLevel == 7 && _loc2_.blocktype == 64)
  953.             {
  954.                _loc2_.block64.play();
  955.             }
  956.             if(_loc2_.blocktype < 6)
  957.             {
  958.                if(Math.random() > 0.5)
  959.                {
  960.                   _loc2_["block" + _loc2_.blocktype].gotoAndStop(2);
  961.                }
  962.                _loc3_ = _loc2_.col - 1;
  963.                if(_loc3_ >= 0)
  964.                {
  965.                   if(levelData[_loc3_][_loc2_.row] == 0)
  966.                   {
  967.                      _loc2_["block" + _loc2_.blocktype].gotoAndStop(3);
  968.                   }
  969.                }
  970.                _loc3_ = _loc2_.col + 1;
  971.                if(_loc3_ < gridWidth)
  972.                {
  973.                   if(levelData[_loc3_][_loc2_.row] == 0)
  974.                   {
  975.                      _loc2_["block" + _loc2_.blocktype].gotoAndStop(4);
  976.                   }
  977.                }
  978.             }
  979.             if(_loc2_.blocktype == 51)
  980.             {
  981.                _loc2_.block51.gotoAndStop(Math.ceil(Math.random() * 4));
  982.             }
  983.             _loc1_++;
  984.          }
  985.          blockholder.visible = true;
  986.          gamelevel.visible = true;
  987.       }
  988.       
  989.       public function FillUpArray() : *
  990.       {
  991.          var _loc1_:int = 0;
  992.          var _loc2_:int = 0;
  993.          levelData = new Array(gridWidth);
  994.          _loc1_ = 0;
  995.          while(_loc1_ < gridWidth)
  996.          {
  997.             levelData[_loc1_] = new Array(gridHeight);
  998.             _loc2_ = 0;
  999.             while(_loc2_ < gridHeight)
  1000.             {
  1001.                levelData[_loc1_][_loc2_] = 0;
  1002.                _loc2_++;
  1003.             }
  1004.             _loc1_++;
  1005.          }
  1006.       }
  1007.       
  1008.       public function getSuperObject(param1:int) : *
  1009.       {
  1010.          if(param1 == 39)
  1011.          {
  1012.             hero.hasFlame = true;
  1013.          }
  1014.          if(param1 == 40)
  1015.          {
  1016.             hero.hasAmulet = true;
  1017.          }
  1018.          if(param1 == 37)
  1019.          {
  1020.             hero.hasRuby = true;
  1021.          }
  1022.          loadLevel(7,0);
  1023.       }
  1024.       
  1025.       public function shootLightning(param1:Monster, param2:Number) : *
  1026.       {
  1027.          var _loc3_:BadArrow = null;
  1028.          var _loc4_:* = undefined;
  1029.          var _loc5_:* = undefined;
  1030.          var _loc6_:* = undefined;
  1031.          var _loc7_:* = undefined;
  1032.          var _loc8_:Number = NaN;
  1033.          if(wizAttack < 2)
  1034.          {
  1035.             ++wizAttack;
  1036.             _loc3_ = new BadArrow();
  1037.             _loc3_.game = this;
  1038.             arrowholder.addChild(_loc3_);
  1039.             sounds.wizardattack.play();
  1040.             _loc4_ = hero.mc.x;
  1041.             _loc5_ = hero.mc.y;
  1042.             _loc3_.direction = param1.direction;
  1043.             _loc3_.x = param1.x + param1.inner.movewiz.x + param2;
  1044.             _loc3_.y = param1.y + param1.inner.movewiz.y - 10;
  1045.             _loc3_.rotation = 90;
  1046.             _loc3_.game = this;
  1047.             _loc6_ = _loc4_ - _loc3_.x;
  1048.             _loc7_ = _loc3_.y - _loc5_;
  1049.             _loc8_ = Math.sqrt(_loc6_ * _loc6_ + _loc7_ * _loc7_);
  1050.             _loc6_ /= _loc8_;
  1051.             _loc7_ /= _loc8_;
  1052.             _loc3_.dx = _loc6_ / 2;
  1053.             _loc3_.dy = -_loc7_ / 2;
  1054.             _loc3_.init(param1);
  1055.             badArrows.push(_loc3_);
  1056.          }
  1057.          else
  1058.          {
  1059.             wizAttack = 0;
  1060.             sounds.wizardsummon.play();
  1061.             createMonster(26,getColFromX(hero.mc.x),getRowFromY(hero.mc.y - 180),null);
  1062.          }
  1063.       }
  1064.       
  1065.       public function hitTrap(param1:Block) : *
  1066.       {
  1067.       }
  1068.       
  1069.       public function GetDistSq(param1:Number, param2:Number, param3:Number, param4:Number) : *
  1070.       {
  1071.          var _loc5_:Number = NaN;
  1072.          var _loc6_:Number = NaN;
  1073.          var _loc7_:Number = NaN;
  1074.          _loc5_ = param1 - param3;
  1075.          _loc6_ = param2 - param4;
  1076.          return _loc5_ * _loc5_ + _loc6_ * _loc6_;
  1077.       }
  1078.       
  1079.       public function getRowFromY(param1:*) : *
  1080.       {
  1081.          param1 -= gamelevel.y;
  1082.          param1 /= cellHeight;
  1083.          return Math.floor(param1);
  1084.       }
  1085.       
  1086.       public function gameLoop(param1:Event) : *
  1087.       {
  1088.          var _loc2_:int = 0;
  1089.          if(oneFrame < 2)
  1090.          {
  1091.             if(oneFrame == 1)
  1092.             {
  1093.                updateJoins();
  1094.             }
  1095.             ++oneFrame;
  1096.             return;
  1097.          }
  1098.          if(lastTime == 0)
  1099.          {
  1100.             lastTime = getTimer();
  1101.          }
  1102.          _loc2_ = getTimer() - lastTime;
  1103.          lastTime += _loc2_;
  1104.          timeSum += _loc2_;
  1105.          ++frameCount;
  1106.          if(frameCount == 60)
  1107.          {
  1108.             fps.text = String(Math.round(1000 / (timeSum / 60)));
  1109.             timeSum = 0;
  1110.             frameCount = 0;
  1111.             timeSum = 0;
  1112.             frameCount = 0;
  1113.          }
  1114.          if(gameMode == "play")
  1115.          {
  1116.             if(_loc2_ > 100)
  1117.             {
  1118.                _loc2_ = 100;
  1119.             }
  1120.             updateAim();
  1121.             hero.moveHero(_loc2_);
  1122.             updateArrows(_loc2_);
  1123.             moveEnemies(_loc2_);
  1124.             checkCollisions();
  1125.          }
  1126.       }
  1127.       
  1128.       public function getColFromX(param1:*) : *
  1129.       {
  1130.          param1 -= gamelevel.x;
  1131.          param1 /= cellWidth;
  1132.          return Math.floor(param1);
  1133.       }
  1134.       
  1135.       public function removeArrow(param1:*) : *
  1136.       {
  1137.          var _loc2_:* = undefined;
  1138.          _loc2_ = 0;
  1139.          while(_loc2_ < arrows.length)
  1140.          {
  1141.             if(param1 == arrows[_loc2_])
  1142.             {
  1143.                arrows.splice(_loc2_,1);
  1144.                arrowholder.removeChild(param1);
  1145.                param1 = null;
  1146.             }
  1147.             _loc2_++;
  1148.          }
  1149.       }
  1150.       
  1151.       public function winGame() : *
  1152.       {
  1153.          stopMusic();
  1154.          CreateBlockFromLoad(79,7,8,0,0,0);
  1155.          CreateBlockFromLoad(33,7,10,2,10000,0);
  1156.          removeBlock(wizDoor);
  1157.       }
  1158.       
  1159.       public function loadGame() : *
  1160.       {
  1161.          hero.hasFlame = savedProgress.data.hasFlame;
  1162.          hero.hasAmulet = savedProgress.data.hasAmulet;
  1163.          hero.hasRuby = savedProgress.data.hasRuby;
  1164.          hero.hasPulledLever = savedProgress.data.hasPulledLever;
  1165.          playerLives = savedProgress.data.livesLeft;
  1166.          starsGot = savedProgress.data.starsGot;
  1167.          gotStars = savedProgress.data.gotStars;
  1168.          gotLives = savedProgress.data.gotLives;
  1169.          gameScore = savedProgress.data.gameScore;
  1170.          placedRuby = savedProgress.data.placedRuby;
  1171.          hallVisited = savedProgress.data.hallVisited;
  1172.          diff = savedProgress.data.diff;
  1173.          uifire.visible = hero.hasFlame;
  1174.          uiamulet.visible = hero.hasAmulet;
  1175.          uiruby.visible = hero.hasRuby;
  1176.          if(diff == 1)
  1177.          {
  1178.             diffMod = 0;
  1179.          }
  1180.          else
  1181.          {
  1182.             diffMod = 3000;
  1183.          }
  1184.       }
  1185.       
  1186.       public function ClearBlocks() : *
  1187.       {
  1188.          var _loc1_:int = 0;
  1189.          var _loc2_:* = undefined;
  1190.          var _loc3_:* = undefined;
  1191.          if(!fixedObjects)
  1192.          {
  1193.             return;
  1194.          }
  1195.          _loc1_ = 0;
  1196.          while(_loc1_ < fixedObjects.length)
  1197.          {
  1198.             fixedObjects[_loc1_].endIt();
  1199.             levelData[fixedObjects[_loc1_].col][fixedObjects[_loc1_].row] = 0;
  1200.             blockholder.removeChild(fixedObjects[_loc1_]);
  1201.             fixedObjects[_loc1_] = null;
  1202.             _loc1_++;
  1203.          }
  1204.          while(fixedObjects.length > 0)
  1205.          {
  1206.             fixedObjects.shift();
  1207.          }
  1208.          while(arrows.length > 0)
  1209.          {
  1210.             _loc2_ = arrows.shift();
  1211.             arrowholder.removeChild(_loc2_);
  1212.             _loc2_ = null;
  1213.          }
  1214.          while(badArrows.length > 0)
  1215.          {
  1216.             _loc2_ = badArrows.shift();
  1217.             arrowholder.removeChild(_loc2_);
  1218.             _loc2_ = null;
  1219.          }
  1220.          _loc1_ = 0;
  1221.          while(_loc1_ < enemies.length)
  1222.          {
  1223.             enemies[_loc1_].endIt();
  1224.             monsterholder.removeChild(enemies[_loc1_]);
  1225.             enemies[_loc1_] = null;
  1226.             _loc1_++;
  1227.          }
  1228.          while(enemies.length > 0)
  1229.          {
  1230.             enemies.shift();
  1231.          }
  1232.          _loc1_ = 0;
  1233.          while(_loc1_ < lustras.length)
  1234.          {
  1235.             lustras[_loc1_].hit = true;
  1236.             blockholder.removeChild(lustras[_loc1_]);
  1237.             lustras[_loc1_] = null;
  1238.             _loc1_++;
  1239.          }
  1240.          while(lustras.length > 0)
  1241.          {
  1242.             lustras.shift();
  1243.          }
  1244.          while(generators.length > 0)
  1245.          {
  1246.             _loc3_ = generators.shift();
  1247.             blockholder.removeChild(_loc3_);
  1248.             _loc3_.emitting = false;
  1249.             _loc3_ = null;
  1250.          }
  1251.       }
  1252.       
  1253.       public function getPowerup(param1:Block) : *
  1254.       {
  1255.          if(hero.alive)
  1256.          {
  1257.             switch(param1.blocktype)
  1258.             {
  1259.                case 41:
  1260.                   param1.block41.gotoAndPlay("pickup");
  1261.                   ++starsGot;
  1262.                   addScore(starPoints);
  1263.                   param1.alive = false;
  1264.                   break;
  1265.                case 42:
  1266.                   param1.block42.gotoAndPlay("pickup");
  1267.                   sounds.pickuplife.play();
  1268.                   ++playerLives;
  1269.                   param1.alive = false;
  1270.                   break;
  1271.                case 43:
  1272.                   if(hero.numArrows < hero.maxArrows)
  1273.                   {
  1274.                      sounds.pickuparrows.play();
  1275.                      param1.block43.gotoAndPlay("pickup");
  1276.                      hero.addArrows(10);
  1277.                      param1.alive = false;
  1278.                   }
  1279.                   break;
  1280.                case 44:
  1281.                   if(hero.curHealth < hero.maxHealth)
  1282.                   {
  1283.                      sounds.sintaeat.play();
  1284.                      param1.block44.gotoAndPlay("pickup");
  1285.                      hero.addHealth(50);
  1286.                      param1.alive = false;
  1287.                   }
  1288.             }
  1289.          }
  1290.       }
  1291.       
  1292.       public function loadLevel(param1:uint, param2:int) : *
  1293.       {
  1294.          var _loc3_:URLRequest = null;
  1295.          var _loc4_:* = undefined;
  1296.          if(param1 > 1)
  1297.          {
  1298.             saveGame();
  1299.          }
  1300.          if(diff == 0)
  1301.          {
  1302.             param1 += diffMod;
  1303.          }
  1304.          gamelevel.visible = false;
  1305.          blackbit.play();
  1306.          wizAttack = 0;
  1307.          hero.mc.visible = false;
  1308.          gamelevel.bgs.visible = false;
  1309.          isLoaded = false;
  1310.          gamelevel.help.visible = false;
  1311.          ClearBlocks();
  1312.          if(param1 - diffMod == 10000)
  1313.          {
  1314.             endWinGame();
  1315.             return;
  1316.          }
  1317.          getLevelLoader = new URLLoader();
  1318.          getLevelVars = new URLVariables();
  1319.          getLevelLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
  1320.          if(!levelsArray[param1])
  1321.          {
  1322.             _loc3_ = new URLRequest("http://www.kaiparasoft.co.nz/platform_leveltest/php/loadlevels.php");
  1323.             getLevelVars.num = param1;
  1324.             _loc3_.method = URLRequestMethod.POST;
  1325.             _loc3_.data = getLevelVars;
  1326.             getLevelLoader.addEventListener(Event.COMPLETE,loadResult);
  1327.             getLevelLoader.load(_loc3_);
  1328.          }
  1329.          if(curLevel + diffMod != param1 && param1 - diffMod == 32)
  1330.          {
  1331.             sounds.wizardlaugh1.play();
  1332.             playWizMusic();
  1333.          }
  1334.          if(curLevel == 32 && curLevel + diffMod != param1)
  1335.          {
  1336.             playMainMusic();
  1337.          }
  1338.          curLevel = param1 - diffMod;
  1339.          curDoor = param2;
  1340.          if(levelsArray[param1])
  1341.          {
  1342.             (_loc4_ = new Timer(100,1)).start();
  1343.             _loc4_.addEventListener(TimerEvent.TIMER,loadResult);
  1344.          }
  1345.       }
  1346.       
  1347.       public function throwAxe(param1:Monster) : *
  1348.       {
  1349.          var _loc2_:BadArrow = null;
  1350.          _loc2_ = new BadArrow();
  1351.          _loc2_.game = this;
  1352.          arrowholder.addChild(_loc2_);
  1353.          _loc2_.init(param1);
  1354.          badArrows.push(_loc2_);
  1355.       }
  1356.       
  1357.       public function killAllMonsters() : *
  1358.       {
  1359.          var _loc1_:int = 0;
  1360.          var _loc2_:* = undefined;
  1361.          var _loc3_:* = undefined;
  1362.          _loc1_ = int(enemies.length - 1);
  1363.          while(_loc1_ >= 0)
  1364.          {
  1365.             enemies[_loc1_].die();
  1366.             _loc1_--;
  1367.          }
  1368.          while(badArrows.length > 0)
  1369.          {
  1370.             _loc2_ = badArrows.shift();
  1371.             arrowholder.removeChild(_loc2_);
  1372.             _loc2_ = null;
  1373.          }
  1374.          while(generators.length > 0)
  1375.          {
  1376.             _loc3_ = generators.shift();
  1377.             blockholder.removeChild(_loc3_);
  1378.             _loc3_.emitting = false;
  1379.             _loc3_ = null;
  1380.          }
  1381.       }
  1382.       
  1383.       public function removeBlock(param1:*) : *
  1384.       {
  1385.          var _loc2_:int = 0;
  1386.          _loc2_ = 0;
  1387.          while(_loc2_ < fixedObjects.length)
  1388.          {
  1389.             if(param1 == fixedObjects[_loc2_])
  1390.             {
  1391.                levelData[param1.col][param1.row] = 0;
  1392.                fixedObjects.splice(_loc2_,1);
  1393.                blockholder.removeChild(param1);
  1394.                param1 = null;
  1395.             }
  1396.             _loc2_++;
  1397.          }
  1398.       }
  1399.       
  1400.       public function addScore(param1:int) : *
  1401.       {
  1402.          gameScore += param1;
  1403.          score_txt.text = String(gameScore);
  1404.          starsgot_txt.text = String(starsGot);
  1405.       }
  1406.       
  1407.       public function showQuitScreen() : *
  1408.       {
  1409.          quitScreen.visible = true;
  1410.       }
  1411.       
  1412.       public function closemsg() : *
  1413.       {
  1414.          gameMode = "play";
  1415.          messagebox.visible = false;
  1416.       }
  1417.       
  1418.       public function keyDownFunction(param1:KeyboardEvent) : *
  1419.       {
  1420.          if(gameMode != "play" || !hero.alive)
  1421.          {
  1422.             return;
  1423.          }
  1424.          if(param1.keyCode == 27)
  1425.          {
  1426.             gameMode = "pause";
  1427.             showQuitScreen();
  1428.             return;
  1429.          }
  1430.          if(param1.keyCode == 37 || param1.keyCode == 65)
  1431.          {
  1432.             hero.moveLeft = true;
  1433.             pressLeft = true;
  1434.          }
  1435.          else if(param1.keyCode == 39 || param1.keyCode == 68)
  1436.          {
  1437.             hero.moveRight = true;
  1438.             pressRight = true;
  1439.          }
  1440.          else if(param1.keyCode == 40 || param1.keyCode == 83)
  1441.          {
  1442.             hero.moveDown = true;
  1443.             pressDown = true;
  1444.          }
  1445.          else if(param1.keyCode == 32)
  1446.          {
  1447.             if(!hero.inAir)
  1448.             {
  1449.                hero.jump = true;
  1450.             }
  1451.          }
  1452.          if(param1.keyCode == 87 || param1.keyCode == 38)
  1453.          {
  1454.             if(!hero.inAir && !hero.isClimbing)
  1455.             {
  1456.                hero.jump = true;
  1457.             }
  1458.             hero.moveUp = true;
  1459.             pressUp = true;
  1460.          }
  1461.       }
  1462.       
  1463.       public function checkCollisions() : *
  1464.       {
  1465.          var _loc1_:int = 0;
  1466.          _loc1_ = int(enemies.length - 1);
  1467.          while(_loc1_ >= 0)
  1468.          {
  1469.             if(enemies[_loc1_].alive && !hero.isHit && enemies[_loc1_].monsterType != 23 && enemies[_loc1_].monsterType != 24 && enemies[_loc1_].monsterType != 27 && enemies[_loc1_].monsterType != 28)
  1470.             {
  1471.                if(hero.mc.hitTestObject(enemies[_loc1_].inner.hitbitbite))
  1472.                {
  1473.                   hero.takeDamage(enemies[_loc1_].damage,enemies[_loc1_].damType,0.1,enemies[_loc1_].x);
  1474.                }
  1475.             }
  1476.             _loc1_--;
  1477.          }
  1478.          _loc1_ = 0;
  1479.          while(_loc1_ < badArrows.length)
  1480.          {
  1481.             _loc1_++;
  1482.          }
  1483.       }
  1484.       
  1485.       public function playWizMusic() : *
  1486.       {
  1487.          music.musicmain.gotoAndStop(1);
  1488.          music.musicwizard.gotoAndStop(2);
  1489.       }
  1490.       
  1491.       public function removeMonster(param1:*) : *
  1492.       {
  1493.          var _loc2_:* = undefined;
  1494.          _loc2_ = 0;
  1495.          while(_loc2_ < enemies.length)
  1496.          {
  1497.             if(param1 == enemies[_loc2_])
  1498.             {
  1499.                enemies.splice(_loc2_,1);
  1500.                monsterholder.removeChild(param1);
  1501.                param1 = null;
  1502.             }
  1503.             _loc2_++;
  1504.          }
  1505.       }
  1506.       
  1507.       public function cleanUp() : *
  1508.       {
  1509.          removeChild(gamelevel);
  1510.          this.removeEventListener(Event.ENTER_FRAME,gameLoop);
  1511.          stage.removeEventListener(KeyboardEvent.KEY_DOWN,keyDownFunction);
  1512.          stage.removeEventListener(KeyboardEvent.KEY_UP,keyUpFunction);
  1513.       }
  1514.       
  1515.       public function removeLustra(param1:*) : *
  1516.       {
  1517.          var _loc2_:* = undefined;
  1518.          _loc2_ = 0;
  1519.          while(_loc2_ < lustras.length)
  1520.          {
  1521.             if(param1 == lustras[_loc2_])
  1522.             {
  1523.                lustras.splice(_loc2_,1);
  1524.                blockholder.removeChild(param1);
  1525.                param1 = null;
  1526.             }
  1527.             _loc2_++;
  1528.          }
  1529.       }
  1530.       
  1531.       public function cloneArray(param1:*) : *
  1532.       {
  1533.          var _loc2_:* = undefined;
  1534.          var _loc3_:* = undefined;
  1535.          var _loc4_:* = undefined;
  1536.          _loc2_ = new Array();
  1537.          for(_loc3_ in param1)
  1538.          {
  1539.             _loc2_[_loc3_] = new Object();
  1540.             for(_loc4_ in param1[_loc3_])
  1541.             {
  1542.                _loc2_[_loc3_][_loc4_] = param1[_loc3_][_loc4_];
  1543.             }
  1544.          }
  1545.          return _loc2_;
  1546.       }
  1547.       
  1548.       public function saveGame() : *
  1549.       {
  1550.          savedProgress.data.hasFlame = hero.hasFlame;
  1551.          savedProgress.data.hasAmulet = hero.hasAmulet;
  1552.          savedProgress.data.hasRuby = hero.hasRuby;
  1553.          savedProgress.data.hasPulledLever = hero.hasPulledLever;
  1554.          savedProgress.data.livesLeft = playerLives;
  1555.          savedProgress.data.starsGot = starsGot;
  1556.          savedProgress.data.gotStars = cloneArray(gotStars);
  1557.          savedProgress.data.gotLives = cloneArray(gotLives);
  1558.          savedProgress.data.placedRuby = placedRuby;
  1559.          savedProgress.data.gameScore = gameScore;
  1560.          savedProgress.data.hallVisited = hallVisited;
  1561.          savedProgress.data.diff = diff;
  1562.          savedProgress.flush();
  1563.       }
  1564.       
  1565.       public function shootArrow() : *
  1566.       {
  1567.          var _loc1_:Arrow = null;
  1568.          var _loc2_:* = undefined;
  1569.          var _loc3_:* = undefined;
  1570.          var _loc4_:* = undefined;
  1571.          var _loc5_:* = undefined;
  1572.          var _loc6_:Number = NaN;
  1573.          _loc1_ = new Arrow();
  1574.          arrowholder.addChild(_loc1_);
  1575.          _loc1_.isFlame = hero.getHasFlame();
  1576.          if(_loc1_.isFlame)
  1577.          {
  1578.             _loc1_.damage = 50;
  1579.             _loc1_.gotoAndStop(2);
  1580.          }
  1581.          _loc2_ = mouseX;
  1582.          _loc3_ = mouseY;
  1583.          _loc1_.direction = hero.direction;
  1584.          _loc1_.x = hero.mc.x + 10 * _loc1_.direction;
  1585.          _loc1_.y = hero.mc.y - 30;
  1586.          _loc1_.scaleX = _loc1_.direction;
  1587.          _loc1_.rotation = hero.mc.rhand.rotation * _loc1_.direction;
  1588.          _loc1_.game = this;
  1589.          if((_loc4_ = _loc2_ - _loc1_.x) < 5 && hero.direction == 1)
  1590.          {
  1591.             _loc4_ = 5;
  1592.          }
  1593.          if(_loc4_ > -5 && hero.direction == -1)
  1594.          {
  1595.             _loc4_ = -5;
  1596.          }
  1597.          _loc5_ = _loc1_.y - _loc3_;
  1598.          if(Math.abs(_loc5_) > Math.abs(_loc4_) * 5.67128)
  1599.          {
  1600.             _loc5_ = _loc5_ / Math.abs(_loc5_) * Math.abs(_loc4_) * 5.67128;
  1601.          }
  1602.          _loc6_ = Math.sqrt(_loc4_ * _loc4_ + _loc5_ * _loc5_);
  1603.          _loc4_ /= _loc6_;
  1604.          _loc5_ /= _loc6_;
  1605.          _loc1_.dx = _loc4_ * 0.9;
  1606.          _loc1_.dy = -_loc5_ * 0.9;
  1607.          arrows.push(_loc1_);
  1608.       }
  1609.       
  1610.       public function playMainMusic() : *
  1611.       {
  1612.          music.musicmain.gotoAndStop(2);
  1613.          music.musicwizard.gotoAndStop(1);
  1614.       }
  1615.       
  1616.       public function createMonster(param1:int, param2:int, param3:int, param4:MonsterGenerator) : *
  1617.       {
  1618.          var _loc5_:Monster = null;
  1619.          _loc5_ = new Monster(this);
  1620.          monsterholder.addChild(_loc5_);
  1621.          _loc5_.gotoAndStop(param1 - 21);
  1622.          _loc5_.monsterType = param1;
  1623.          _loc5_.col = param2;
  1624.          _loc5_.row = param3;
  1625.          _loc5_.generator = param4;
  1626.          _loc5_.x = getXFromCol(param2) + cellWidth / 2;
  1627.          _loc5_.y = getYFromRow(param3) + cellHeight;
  1628.          _loc5_.init();
  1629.          _loc5_.testID = enemies.length;
  1630.          enemies.push(_loc5_);
  1631.       }
  1632.       
  1633.       public function getXFromCol(param1:*) : *
  1634.       {
  1635.          return param1 * cellWidth + gamelevel.x;
  1636.       }
  1637.       
  1638.       public function setScore(param1:int) : *
  1639.       {
  1640.          gameScore = param1;
  1641.       }
  1642.       
  1643.       public function stopMusic() : *
  1644.       {
  1645.          if(music != null)
  1646.          {
  1647.             music.musicmain.gotoAndStop(1);
  1648.             music.musicwizard.gotoAndStop(1);
  1649.          }
  1650.       }
  1651.       
  1652.       public function showmsg() : *
  1653.       {
  1654.          gameMode = "pause";
  1655.          messagebox.visible = true;
  1656.       }
  1657.       
  1658.       public function goLevel(param1:MouseEvent) : *
  1659.       {
  1660.          loadLevel(loadthis_txt.text,0);
  1661.       }
  1662.       
  1663.       public function keyUpFunction(param1:KeyboardEvent) : *
  1664.       {
  1665.          if(param1.keyCode == 37 || param1.keyCode == 65)
  1666.          {
  1667.             hero.moveLeft = false;
  1668.             pressLeft = false;
  1669.          }
  1670.          else if(param1.keyCode == 39 || param1.keyCode == 68)
  1671.          {
  1672.             hero.moveRight = false;
  1673.             pressRight = false;
  1674.          }
  1675.          else if(param1.keyCode == 40 || param1.keyCode == 83)
  1676.          {
  1677.             pressDown = false;
  1678.             if(getTypeAt(getColFromX(hero.mc.x),getRowFromY(hero.mc.y - 50)) > 4 || getTypeAt(getColFromX(hero.mc.x),getRowFromY(hero.mc.y - 50)) == 0)
  1679.             {
  1680.                hero.moveDown = false;
  1681.                hero.isCrouching = false;
  1682.             }
  1683.          }
  1684.          else if(param1.keyCode == 87 || param1.keyCode == 38)
  1685.          {
  1686.             hero.moveUp = false;
  1687.             pressUp = false;
  1688.          }
  1689.       }
  1690.       
  1691.       public function resetLevel() : *
  1692.       {
  1693.          loadLevel(curLevel,curDoor);
  1694.       }
  1695.       
  1696.       public function endGame() : *
  1697.       {
  1698.          gameMode = "gameover";
  1699.          ClearBlocks();
  1700.          stopMusic();
  1701.          hero.init();
  1702.          this.removeEventListener(Event.ENTER_FRAME,gameLoop);
  1703.          stage.removeEventListener(KeyboardEvent.KEY_DOWN,keyDownFunction);
  1704.          stage.removeEventListener(KeyboardEvent.KEY_UP,keyUpFunction);
  1705.          clickbit.removeEventListener(MouseEvent.MOUSE_DOWN,shoot);
  1706.          gotoAndStop(16);
  1707.       }
  1708.       
  1709.       public function removeBadArrow(param1:*) : *
  1710.       {
  1711.          var _loc2_:* = undefined;
  1712.          _loc2_ = 0;
  1713.          while(_loc2_ < badArrows.length)
  1714.          {
  1715.             if(param1 == badArrows[_loc2_])
  1716.             {
  1717.                badArrows.splice(_loc2_,1);
  1718.                arrowholder.removeChild(param1);
  1719.                param1 = null;
  1720.             }
  1721.             _loc2_++;
  1722.          }
  1723.       }
  1724.       
  1725.       public function CreateBlockFromLoad(param1:int, param2:int, param3:int, param4:int, param5:int, param6:int, param7:int = -1) : *
  1726.       {
  1727.          var _loc8_:int = 0;
  1728.          var _loc9_:int = 0;
  1729.          var _loc10_:int = 0;
  1730.          var _loc11_:* = undefined;
  1731.          var _loc12_:Block = null;
  1732.          _loc8_ = param2;
  1733.          _loc9_ = param3;
  1734.          if(hero.hasFlame && param1 == 39)
  1735.          {
  1736.             CreateBlockFromLoad(33,_loc8_,_loc9_,2,7,0);
  1737.             return;
  1738.          }
  1739.          if(hero.hasAmulet && param1 == 40)
  1740.          {
  1741.             CreateBlockFromLoad(33,_loc8_,_loc9_,2,7,0);
  1742.             return;
  1743.          }
  1744.          if(hero.hasRuby && param1 == 37)
  1745.          {
  1746.             CreateBlockFromLoad(33,_loc8_,_loc9_,2,7,0);
  1747.             return;
  1748.          }
  1749.          if(param1 == 21)
  1750.          {
  1751.             levelData[_loc8_][_loc9_] = 0;
  1752.             if(curDoor)
  1753.             {
  1754.                _loc10_ = 0;
  1755.                while(_loc10_ < fixedObjects.length)
  1756.                {
  1757.                   if(fixedObjects[_loc10_].doorid == curDoor)
  1758.                   {
  1759.                      hero.setStartPos(getXFromCol(fixedObjects[_loc10_].col),getYFromRow(fixedObjects[_loc10_].row));
  1760.                   }
  1761.                   _loc10_++;
  1762.                }
  1763.             }
  1764.             else
  1765.             {
  1766.                hero.setStartPos(getXFromCol(_loc8_),getYFromRow(_loc9_));
  1767.             }
  1768.          }
  1769.          else if(param1 == 95)
  1770.          {
  1771.             _loc11_ = new Lustra(this);
  1772.             blockholder.addChild(_loc11_);
  1773.             _loc11_.gotoAndStop("start");
  1774.             _loc11_.x = _loc11_.startX = getXFromCol(param2);
  1775.             _loc11_.y = _loc11_.startY = getYFromRow(param3);
  1776.             lustras.push(_loc11_);
  1777.          }
  1778.          else
  1779.          {
  1780.             _loc12_ = new Block();
  1781.             blockholder.addChild(_loc12_);
  1782.             _loc12_.gotoAndStop(param1);
  1783.             levelData[_loc8_][_loc9_] = param1;
  1784.             _loc12_.blocktype = param1;
  1785.             _loc12_.col = _loc8_;
  1786.             _loc12_.row = _loc9_;
  1787.             _loc12_.x = getXFromCol(_loc8_);
  1788.             _loc12_.y = getYFromRow(_loc9_);
  1789.             _loc12_.game = this;
  1790.             _loc12_.leftside = _loc12_.x;
  1791.             _loc12_.rightside = _loc12_.x + _loc12_.width;
  1792.             _loc12_.topside = _loc12_.y;
  1793.             _loc12_.bottomside = _loc12_.y + _loc12_.height;
  1794.             if(param1 == 62 || param1 == 63)
  1795.             {
  1796.                _loc12_.topside = _loc12_.y - 40;
  1797.                _loc12_.bottomside = _loc12_.y + 40;
  1798.                _loc12_.leftside = _loc12_.x;
  1799.                _loc12_.rightside = _loc12_.x + 40;
  1800.             }
  1801.             if(param1 == 63 || param1 == 64)
  1802.             {
  1803.                _loc12_.open = true;
  1804.             }
  1805.             if(param1 == 64 || param1 == 65)
  1806.             {
  1807.                _loc12_.leftside = _loc12_.x - 10;
  1808.                _loc12_.rightside = _loc12_.leftside + _loc12_.width;
  1809.             }
  1810.             if(param1 == 3)
  1811.             {
  1812.                _loc12_.leftside = _loc12_.x + 12;
  1813.                _loc12_.rightside = _loc12_.leftside + _loc12_.width;
  1814.                _loc12_.topside = _loc12_.y - 23;
  1815.                _loc12_.bottomside = _loc12_.topside + _loc12_.height;
  1816.             }
  1817.             if(param1 == 41)
  1818.             {
  1819.                _loc12_.id = param7;
  1820.             }
  1821.             if(param1 == 42)
  1822.             {
  1823.                _loc12_.id = param7;
  1824.             }
  1825.             if(param1 == 36)
  1826.             {
  1827.                _loc12_.leftside = _loc12_.x - 20;
  1828.                _loc12_.rightside = _loc12_.x + 40;
  1829.                _loc12_.topside = _loc12_.y;
  1830.                _loc12_.bottomside = _loc12_.y + _loc12_.height;
  1831.             }
  1832.             if(param1 > 32 && param1 < 36)
  1833.             {
  1834.                _loc12_.rightside = _loc12_.x + _loc12_.width - 13;
  1835.             }
  1836.             if(curLevel == 32 && param4 == 1)
  1837.             {
  1838.                wizDoor = _loc12_;
  1839.             }
  1840.             _loc12_.doorid = param4;
  1841.             _loc12_.destlevel = param5;
  1842.             _loc12_.destid = param6;
  1843.             fixedObjects.push(_loc12_);
  1844.          }
  1845.          _loc10_ = 0;
  1846.          while(_loc10_ < fixedObjects.length)
  1847.          {
  1848.             if(fixedObjects[_loc10_].blocktype > 69)
  1849.             {
  1850.                blockholder.setChildIndex(fixedObjects[_loc10_],fixedObjects.length - 1);
  1851.             }
  1852.             if(fixedObjects[_loc10_].blocktype == 3)
  1853.             {
  1854.                blockholder.setChildIndex(fixedObjects[_loc10_],0);
  1855.             }
  1856.             if(fixedObjects[_loc10_].blocktype == 52)
  1857.             {
  1858.                blockholder.setChildIndex(fixedObjects[_loc10_],0);
  1859.             }
  1860.             if(fixedObjects[_loc10_].blocktype == 56)
  1861.             {
  1862.                blockholder.setChildIndex(fixedObjects[_loc10_],0);
  1863.             }
  1864.             _loc10_++;
  1865.          }
  1866.          _loc10_ = 0;
  1867.          while(_loc10_ < lustras.length)
  1868.          {
  1869.             blockholder.setChildIndex(lustras[_loc10_],lustras.length - 1);
  1870.             _loc10_++;
  1871.          }
  1872.       }
  1873.       
  1874.       public function GetType(param1:*, param2:*) : *
  1875.       {
  1876.          param1 = getColFromX(param1);
  1877.          param2 = getRowFromY(param2);
  1878.          if(levelData[param1][param2] === undefined)
  1879.          {
  1880.             return 5;
  1881.          }
  1882.          return levelData[param1][param2];
  1883.       }
  1884.       
  1885.       public function closeQuitScreen() : *
  1886.       {
  1887.          quitScreen.visible = false;
  1888.          gameMode = "play";
  1889.       }
  1890.       
  1891.       public function updateArrows(param1:*) : *
  1892.       {
  1893.          var _loc2_:int = 0;
  1894.          _loc2_ = 0;
  1895.          while(_loc2_ < arrows.length)
  1896.          {
  1897.             arrows[_loc2_].updateFlight(param1);
  1898.             _loc2_++;
  1899.          }
  1900.          _loc2_ = 0;
  1901.          while(_loc2_ < badArrows.length)
  1902.          {
  1903.             badArrows[_loc2_].updateFlight(param1);
  1904.             _loc2_++;
  1905.          }
  1906.          _loc2_ = 0;
  1907.          while(_loc2_ < lustras.length)
  1908.          {
  1909.             lustras[_loc2_].update(param1);
  1910.             _loc2_++;
  1911.          }
  1912.       }
  1913.       
  1914.       public function openWalls() : *
  1915.       {
  1916.          var _loc1_:int = 0;
  1917.          if(curLevel == 17)
  1918.          {
  1919.             loadLevel(7,0);
  1920.          }
  1921.          else
  1922.          {
  1923.             _loc1_ = 0;
  1924.             while(_loc1_ < fixedObjects.length)
  1925.             {
  1926.                if(fixedObjects[_loc1_].blocktype == 62)
  1927.                {
  1928.                   fixedObjects[_loc1_].block62.play();
  1929.                }
  1930.                if(fixedObjects[_loc1_].blocktype == 63)
  1931.                {
  1932.                   fixedObjects[_loc1_].block63.play();
  1933.                }
  1934.                if(fixedObjects[_loc1_].blocktype == 64)
  1935.                {
  1936.                   fixedObjects[_loc1_].block64.play();
  1937.                }
  1938.                if(fixedObjects[_loc1_].blocktype == 65)
  1939.                {
  1940.                   fixedObjects[_loc1_].block65.play();
  1941.                }
  1942.                _loc1_++;
  1943.             }
  1944.          }
  1945.       }
  1946.       
  1947.       public function gameOver() : *
  1948.       {
  1949.          gameMode = "gameover";
  1950.          gameoverpanel.visible = true;
  1951.       }
  1952.    }
  1953. }
  1954.