home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / MindScape.swf / scripts / __Packages / World.as < prev   
Encoding:
Text File  |  2007-12-04  |  23.4 KB  |  609 lines

  1. class World extends MovieClip
  2. {
  3.    var gravity = 1;
  4.    var maxspeed = 20;
  5.    var xsize = 60;
  6.    var ysize = 60;
  7.    var cellsize = 50;
  8.    var numEnemyTypes = 9;
  9.    var numItemTypes = 4;
  10.    var camFollow = true;
  11.    var tilesVisible = true;
  12.    var reSpawnCounter = 0;
  13.    var triggerStatus = 0;
  14.    var triggerMemory = 0;
  15.    var combatStatus = 100;
  16.    var worldTimer = 0;
  17.    var triggers = new Array();
  18.    var triggerPile = new Array();
  19.    function World()
  20.    {
  21.       super();
  22.    }
  23.    function onLoad()
  24.    {
  25.    }
  26.    function hideTiles()
  27.    {
  28.       this.tilesVisible = false;
  29.    }
  30.    function buildLevel(mapString)
  31.    {
  32.       var _loc1_ = this;
  33.       _root.itemsTotal[_root.currLvl - 1] = 0;
  34.       var mapString = Map.decode(mapString);
  35.       var mapArray = mapString.split(":");
  36.       var mapArray2 = mapArray[0].split("|");
  37.       _loc1_.spawnPoints = new Array();
  38.       _loc1_.itemPoints = new Array();
  39.       var _loc2_ = 0;
  40.       while(_loc2_ < 30)
  41.       {
  42.          _loc1_.spawnPoints[_loc2_] = new Array();
  43.          _loc2_ = _loc2_ + 1;
  44.       }
  45.       _loc2_ = 0;
  46.       while(_loc2_ < 20)
  47.       {
  48.          _loc1_.itemPoints[_loc2_] = new Array();
  49.          _loc2_ = _loc2_ + 1;
  50.       }
  51.       _loc1_.xsize = Number(mapArray2[0]);
  52.       _loc1_.ysize = Number(mapArray2[1]);
  53.       _loc1_.cells = new Array();
  54.       _loc2_ = 0;
  55.       while(_loc2_ < _loc1_.xsize)
  56.       {
  57.          _loc1_.cells[_loc2_] = new Array();
  58.          var _loc3_ = 0;
  59.          while(_loc3_ < _loc1_.ysize)
  60.          {
  61.             _loc1_.cells[_loc2_][_loc3_] = new Object();
  62.             _loc1_.cells[_loc2_][_loc3_].tile = 0;
  63.             _loc1_.cells[_loc2_][_loc3_].edges = new Array();
  64.             _loc3_ = _loc3_ + 1;
  65.          }
  66.          _loc2_ = _loc2_ + 1;
  67.       }
  68.       var depth = 100;
  69.       var currPos = 0;
  70.       var gravType = 0;
  71.       var tileType = 0;
  72.       _loc3_ = 0;
  73.       while(_loc3_ < _loc1_.ysize)
  74.       {
  75.          _loc2_ = 0;
  76.          while(_loc2_ < _loc1_.xsize)
  77.          {
  78.             currPos = (_loc2_ + _loc3_ * _loc1_.xsize) * 3;
  79.             gravType = Number(mapArray[1].substr(currPos,1));
  80.             tileType = Number(mapArray[1].substr(currPos + 1,2));
  81.             if(tileType >= 50 && tileType < 80)
  82.             {
  83.                if(tileType == 50)
  84.                {
  85.                   _loc1_.spawnPoints[0][0] = _loc2_ + ":" + _loc3_;
  86.                }
  87.                else
  88.                {
  89.                   _loc1_.spawnPoints[tileType - 50][_loc1_.spawnPoints[tileType - 50].length] = _loc2_ + ":" + _loc3_;
  90.                }
  91.                _loc1_.cells[_loc2_][_loc3_].spawn = tileType - 50;
  92.                _loc1_.cells[_loc2_][_loc3_].spawnId = _loc1_.spawnPoints[tileType - 50].length - 1;
  93.                _loc1_.cells[_loc2_][_loc3_].spawnAlive = true;
  94.                tileType = 0;
  95.             }
  96.             else if(tileType >= 80)
  97.             {
  98.                _loc1_.itemPoints[tileType - 80][_loc1_.itemPoints[tileType - 80].length] = _loc2_ + ":" + _loc3_;
  99.                _loc1_.cells[_loc2_][_loc3_].item = tileType - 80;
  100.                _loc1_.cells[_loc2_][_loc3_].itemId = _loc1_.itemPoints[tileType - 80].length - 1;
  101.                _loc1_.cells[_loc2_][_loc3_].itemAlive = true;
  102.                if(tileType - 80 > 0 && tileType - 80 <= 3)
  103.                {
  104.                   _root.itemsTotal[_root.currLvl - 1]++;
  105.                }
  106.                tileType = 0;
  107.             }
  108.             if(tileType == 6)
  109.             {
  110.                _loc1_.cells[_loc2_][_loc3_].kill = true;
  111.                tileType = 0;
  112.             }
  113.             if(tileType == 7)
  114.             {
  115.                _loc1_.cells[_loc2_][_loc3_].checkpoint = true;
  116.                tileType = 0;
  117.             }
  118.             if(tileType == 8)
  119.             {
  120.                _loc1_.cells[_loc2_][_loc3_].exit = true;
  121.                tileType = 0;
  122.             }
  123.             if(tileType == 9)
  124.             {
  125.                _loc1_.cells[_loc2_][_loc3_].triggerpoint = true;
  126.                tileType = 0;
  127.             }
  128.             _loc1_.cells[_loc2_][_loc3_].depth = depth;
  129.             _loc1_.cells[_loc2_][_loc3_].tile = tileType;
  130.             _loc1_.cells[_loc2_][_loc3_].gravType = gravType;
  131.             _loc1_.cells[_loc2_][_loc3_].clip = undefined;
  132.             depth++;
  133.             _loc2_ = _loc2_ + 1;
  134.          }
  135.          _loc3_ = _loc3_ + 1;
  136.       }
  137.       _loc3_ = 0;
  138.       while(_loc3_ < _loc1_.ysize)
  139.       {
  140.          _loc2_ = 0;
  141.          while(_loc2_ < _loc1_.xsize)
  142.          {
  143.             if(_loc1_.cells[_loc2_][_loc3_].tile == 0)
  144.             {
  145.                _loc1_.cells[_loc2_][_loc3_].edges[0] = 0;
  146.                _loc1_.cells[_loc2_][_loc3_].edges[1] = 0;
  147.                _loc1_.cells[_loc2_][_loc3_].edges[2] = 0;
  148.                _loc1_.cells[_loc2_][_loc3_].edges[3] = 0;
  149.             }
  150.             else if(_loc1_.cells[_loc2_][_loc3_].tile == 1)
  151.             {
  152.                if(_loc1_.cells[_loc2_][_loc3_ - 1].tile == 0 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 3 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 5 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 2)
  153.                {
  154.                   _loc1_.cells[_loc2_][_loc3_].edges[0] = 1;
  155.                }
  156.                else
  157.                {
  158.                   _loc1_.cells[_loc2_][_loc3_].edges[0] = 0;
  159.                }
  160.                if(_loc1_.cells[_loc2_ + 1][_loc3_].tile == 0 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 2 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 3 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 4)
  161.                {
  162.                   _loc1_.cells[_loc2_][_loc3_].edges[1] = 1;
  163.                }
  164.                else
  165.                {
  166.                   _loc1_.cells[_loc2_][_loc3_].edges[1] = 0;
  167.                }
  168.                if(_loc1_.cells[_loc2_][_loc3_ + 1].tile == 0 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 3 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 4 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 5)
  169.                {
  170.                   _loc1_.cells[_loc2_][_loc3_].edges[2] = 1;
  171.                }
  172.                else
  173.                {
  174.                   _loc1_.cells[_loc2_][_loc3_].edges[2] = 0;
  175.                }
  176.                if(_loc1_.cells[_loc2_ - 1][_loc3_].tile == 0 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 2 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 4 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 5)
  177.                {
  178.                   _loc1_.cells[_loc2_][_loc3_].edges[3] = 1;
  179.                }
  180.                else
  181.                {
  182.                   _loc1_.cells[_loc2_][_loc3_].edges[3] = 0;
  183.                }
  184.             }
  185.             else if(_loc1_.cells[_loc2_][_loc3_].tile == 2)
  186.             {
  187.                if(_loc1_.cells[_loc2_][_loc3_ - 1].tile == 0 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 2 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 3 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 5)
  188.                {
  189.                   _loc1_.cells[_loc2_][_loc3_].edges[0] = 1;
  190.                }
  191.                else
  192.                {
  193.                   _loc1_.cells[_loc2_][_loc3_].edges[0] = 0;
  194.                }
  195.                if(_loc1_.cells[_loc2_ + 1][_loc3_].tile == 0 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 3 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 4)
  196.                {
  197.                   _loc1_.cells[_loc2_][_loc3_].edges[1] = 1;
  198.                }
  199.                else
  200.                {
  201.                   _loc1_.cells[_loc2_][_loc3_].edges[1] = 0;
  202.                }
  203.                if(_loc1_.cells[_loc2_][_loc3_ + 1].tile == 0 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 2 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 3 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 4 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 5)
  204.                {
  205.                   _loc1_.cells[_loc2_][_loc3_].edges[2] = 1;
  206.                }
  207.                else
  208.                {
  209.                   _loc1_.cells[_loc2_][_loc3_].edges[2] = 0;
  210.                }
  211.                if(_loc1_.cells[_loc2_ - 1][_loc3_].tile == 0 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 5 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 4)
  212.                {
  213.                   _loc1_.cells[_loc2_][_loc3_].edges[3] = 1;
  214.                }
  215.                else
  216.                {
  217.                   _loc1_.cells[_loc2_][_loc3_].edges[3] = 0;
  218.                }
  219.             }
  220.             else if(_loc1_.cells[_loc2_][_loc3_].tile == 3)
  221.             {
  222.                if(_loc1_.cells[_loc2_][_loc3_ - 1].tile == 0 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 2 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 5)
  223.                {
  224.                   _loc1_.cells[_loc2_][_loc3_].edges[0] = 1;
  225.                }
  226.                else
  227.                {
  228.                   _loc1_.cells[_loc2_][_loc3_].edges[0] = 0;
  229.                }
  230.                if(_loc1_.cells[_loc2_ + 1][_loc3_].tile == 0 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 2 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 3 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 4)
  231.                {
  232.                   _loc1_.cells[_loc2_][_loc3_].edges[1] = 1;
  233.                }
  234.                else
  235.                {
  236.                   _loc1_.cells[_loc2_][_loc3_].edges[1] = 0;
  237.                }
  238.                if(_loc1_.cells[_loc2_][_loc3_ + 1].tile == 0 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 5 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 4)
  239.                {
  240.                   _loc1_.cells[_loc2_][_loc3_].edges[2] = 1;
  241.                }
  242.                else
  243.                {
  244.                   _loc1_.cells[_loc2_][_loc3_].edges[2] = 0;
  245.                }
  246.                if(_loc1_.cells[_loc2_ - 1][_loc3_].tile == 0 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 2 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 3 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 4 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 5)
  247.                {
  248.                   _loc1_.cells[_loc2_][_loc3_].edges[3] = 1;
  249.                }
  250.                else
  251.                {
  252.                   _loc1_.cells[_loc2_][_loc3_].edges[3] = 0;
  253.                }
  254.             }
  255.             else if(_loc1_.cells[_loc2_][_loc3_].tile == 4)
  256.             {
  257.                if(_loc1_.cells[_loc2_][_loc3_ - 1].tile == 0 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 2 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 3 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 4 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 5)
  258.                {
  259.                   _loc1_.cells[_loc2_][_loc3_].edges[0] = 1;
  260.                }
  261.                else
  262.                {
  263.                   _loc1_.cells[_loc2_][_loc3_].edges[0] = 0;
  264.                }
  265.                if(_loc1_.cells[_loc2_ + 1][_loc3_].tile == 0 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 3 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 2)
  266.                {
  267.                   _loc1_.cells[_loc2_][_loc3_].edges[1] = 1;
  268.                }
  269.                else
  270.                {
  271.                   _loc1_.cells[_loc2_][_loc3_].edges[1] = 0;
  272.                }
  273.                if(_loc1_.cells[_loc2_][_loc3_ + 1].tile == 0 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 3 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 4 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 5)
  274.                {
  275.                   _loc1_.cells[_loc2_][_loc3_].edges[2] = 1;
  276.                }
  277.                else
  278.                {
  279.                   _loc1_.cells[_loc2_][_loc3_].edges[2] = 0;
  280.                }
  281.                if(_loc1_.cells[_loc2_ - 1][_loc3_].tile == 0 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 5 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 2)
  282.                {
  283.                   _loc1_.cells[_loc2_][_loc3_].edges[3] = 1;
  284.                }
  285.                else
  286.                {
  287.                   _loc1_.cells[_loc2_][_loc3_].edges[3] = 0;
  288.                }
  289.             }
  290.             else if(_loc1_.cells[_loc2_][_loc3_].tile == 5)
  291.             {
  292.                if(_loc1_.cells[_loc2_][_loc3_ - 1].tile == 0 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 2 || _loc1_.cells[_loc2_][_loc3_ - 1].tile == 3)
  293.                {
  294.                   _loc1_.cells[_loc2_][_loc3_].edges[0] = 1;
  295.                }
  296.                else
  297.                {
  298.                   _loc1_.cells[_loc2_][_loc3_].edges[0] = 0;
  299.                }
  300.                if(_loc1_.cells[_loc2_ + 1][_loc3_].tile == 0 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 2 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 3 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 4 || _loc1_.cells[_loc2_ + 1][_loc3_].tile == 5)
  301.                {
  302.                   _loc1_.cells[_loc2_][_loc3_].edges[1] = 1;
  303.                }
  304.                else
  305.                {
  306.                   _loc1_.cells[_loc2_][_loc3_].edges[1] = 0;
  307.                }
  308.                if(_loc1_.cells[_loc2_][_loc3_ + 1].tile == 0 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 3 || _loc1_.cells[_loc2_][_loc3_ + 1].tile == 4)
  309.                {
  310.                   _loc1_.cells[_loc2_][_loc3_].edges[2] = 1;
  311.                }
  312.                else
  313.                {
  314.                   _loc1_.cells[_loc2_][_loc3_].edges[2] = 0;
  315.                }
  316.                if(_loc1_.cells[_loc2_ - 1][_loc3_].tile == 0 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 2 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 4 || _loc1_.cells[_loc2_ - 1][_loc3_].tile == 5)
  317.                {
  318.                   _loc1_.cells[_loc2_][_loc3_].edges[3] = 1;
  319.                }
  320.                else
  321.                {
  322.                   _loc1_.cells[_loc2_][_loc3_].edges[3] = 0;
  323.                }
  324.             }
  325.             _loc2_ = _loc2_ + 1;
  326.          }
  327.          _loc3_ = _loc3_ + 1;
  328.       }
  329.       var tmpArr = _loc1_.spawnPoints[0][0].split(":");
  330.       _loc1_._x = Math.round((- tmpArr[0]) * _loc1_.cellsize * 10) / 10;
  331.       _loc1_._y = Math.round((- tmpArr[1]) * _loc1_.cellsize * 10) / 10;
  332.    }
  333.    function startGame()
  334.    {
  335.       var _loc1_ = this;
  336.       if(_root.currLvl == 4)
  337.       {
  338.          _root.itemsTotalLvl[0] = Number(_root.itemsTotal[0]) + Number(_root.itemsTotal[1]) + Number(_root.itemsTotal[2]) + Number(_root.itemsTotal[3]);
  339.       }
  340.       else if(_root.currLvl == 8)
  341.       {
  342.          _root.itemsTotalLvl[1] = Number(_root.itemsTotal[4]) + Number(_root.itemsTotal[5]) + Number(_root.itemsTotal[6]) + Number(_root.itemsTotal[7]);
  343.       }
  344.       else if(_root.currLvl == 12)
  345.       {
  346.          _root.itemsTotalLvl[2] = Number(_root.itemsTotal[8]) + Number(_root.itemsTotal[9]) + Number(_root.itemsTotal[10]) + Number(_root.itemsTotal[11]);
  347.       }
  348.       var tmpArr = _loc1_.spawnPoints[0][0].split(":");
  349.       _loc1_.currX = Number(tmpArr[0]);
  350.       _loc1_.currY = Number(tmpArr[1]);
  351.       var windowSize = 8;
  352.       var _loc2_ = _loc1_.currX - windowSize;
  353.       while(_loc2_ < _loc1_.currX + windowSize)
  354.       {
  355.          var _loc3_ = _loc1_.currY - windowSize;
  356.          while(_loc3_ < _loc1_.currY + windowSize)
  357.          {
  358.             if(_loc1_.cells[_loc2_][_loc3_].clip == undefined)
  359.             {
  360.                _loc1_.cells[_loc2_][_loc3_].clip = new MovieClip();
  361.                _loc1_.attachMovie("Cell","Cell_" + _loc2_ + "_" + _loc3_,_loc1_.cells[_loc2_][_loc3_].depth);
  362.             }
  363.             _loc3_ = _loc3_ + 1;
  364.          }
  365.          _loc2_ = _loc2_ + 1;
  366.       }
  367.       _loc1_.oldX = _loc1_.currX;
  368.       _loc1_.oldY = _loc1_.currY;
  369.       _loc1_.attachMovie("Player","player",9900);
  370.       _loc3_ = 1;
  371.       while(_loc3_ <= _loc1_.numEnemyTypes)
  372.       {
  373.          _loc2_ = 0;
  374.          while(_loc2_ < _loc1_.spawnPoints[_loc3_].length)
  375.          {
  376.             _loc1_.attachMovie("Enemy" + _loc3_,"enemy" + _loc3_ + "_" + _loc2_,6000 + _loc3_ * 50 + _loc2_);
  377.             _loc2_ = _loc2_ + 1;
  378.          }
  379.          _loc3_ = _loc3_ + 1;
  380.       }
  381.       _loc3_ = 0;
  382.       while(_loc3_ < _loc1_.numItemTypes)
  383.       {
  384.          _loc2_ = 0;
  385.          while(_loc2_ < _loc1_.itemPoints[_loc3_].length)
  386.          {
  387.             _loc1_.attachMovie("Item" + _loc3_,"item" + _loc3_ + "_" + _loc2_,7500 + _loc3_ * 50 + _loc2_,{id:_loc2_});
  388.             _loc2_ = _loc2_ + 1;
  389.          }
  390.          _loc3_ = _loc3_ + 1;
  391.       }
  392.    }
  393.    function onEnterFrame()
  394.    {
  395.       var _loc1_ = this;
  396.       if(_root.currLvl == 101)
  397.       {
  398.          if(_loc1_.triggerStatus == 0)
  399.          {
  400.             var r = Math.floor(random(5));
  401.             if(r != _loc1_.triggerMemory)
  402.             {
  403.                _loc1_.triggerStatus = r + 1;
  404.                _loc1_.triggerMemory = r;
  405.             }
  406.          }
  407.       }
  408.       if(_root.currLvl == 102)
  409.       {
  410.          if(_loc1_.triggers[0].pushed && _loc1_.triggers[2].pushed && _loc1_.triggers[3].pushed && _loc1_.triggers[6].pushed)
  411.          {
  412.             _loc1_.triggerPile[0] = true;
  413.          }
  414.          if(_loc1_.triggers[1].pushed && _loc1_.triggers[4].pushed && _loc1_.triggers[5].pushed && _loc1_.triggers[7].pushed)
  415.          {
  416.             _loc1_.triggerPile[1] = true;
  417.          }
  418.          if(_loc1_.triggers[9].pushed && _loc1_.triggers[12].pushed && _loc1_.triggers[13].pushed && _loc1_.triggers[15].pushed)
  419.          {
  420.             _loc1_.triggerPile[2] = true;
  421.          }
  422.          if(_loc1_.triggers[8].pushed && _loc1_.triggers[10].pushed && _loc1_.triggers[11].pushed && _loc1_.triggers[14].pushed)
  423.          {
  424.             _loc1_.triggerPile[3] = true;
  425.          }
  426.          var _loc2_ = 0;
  427.          var _loc3_ = 0;
  428.          while(_loc3_ < 4)
  429.          {
  430.             if(_loc1_.triggerPile[_loc3_])
  431.             {
  432.                _loc2_ = _loc2_ + 1;
  433.             }
  434.             _loc3_ = _loc3_ + 1;
  435.          }
  436.          if(_loc2_ >= 4)
  437.          {
  438.             _root.gotoAndPlay("cinematics");
  439.             ┬º┬ºpush(_loc1_.removeMovieClip());
  440.             ┬º┬ºpush(_loc1_.removeMovieClip());
  441.          }
  442.       }
  443.       if(_root.currLvl == 103)
  444.       {
  445.          _loc1_.worldTimer = _loc1_.worldTimer + 1;
  446.       }
  447.       if(_loc1_.combatStatus <= 0)
  448.       {
  449.          _root.gotoAndPlay("cinematics");
  450.          ┬º┬ºpush(_loc1_.removeMovieClip());
  451.          ┬º┬ºpush(_loc1_.removeMovieClip());
  452.       }
  453.       if(_loc1_.camFollow)
  454.       {
  455.          if(_loc1_.player.targetRot == 0)
  456.          {
  457.             _loc1_.targetRot = 0;
  458.          }
  459.          else if(_loc1_.player.targetRot == 90)
  460.          {
  461.             if(_loc1_._parent._rotation >= 180)
  462.             {
  463.                _loc1_.targetRot = 270;
  464.             }
  465.             else
  466.             {
  467.                _loc1_.targetRot = -90;
  468.             }
  469.          }
  470.          else if(_loc1_.player.targetRot == 180)
  471.          {
  472.             if(_loc1_._parent._rotation <= -90)
  473.             {
  474.                _loc1_.targetRot = -180;
  475.             }
  476.             else
  477.             {
  478.                _loc1_.targetRot = 180;
  479.             }
  480.          }
  481.          else if(_loc1_.player.targetRot == -90)
  482.          {
  483.             _loc1_.targetRot = 90;
  484.          }
  485.          _loc1_.targetX = Math.round((- _loc1_.player._x) * 10) / 10;
  486.          _loc1_.targetY = Math.round((- _loc1_.player._y) * 10) / 10;
  487.          var xDist = _loc1_.targetX - _loc1_._x;
  488.          var yDist = _loc1_.targetY - _loc1_._y;
  489.          if(xDist * xDist > 0.5)
  490.          {
  491.             _loc1_._x += xDist / 3;
  492.          }
  493.          else
  494.          {
  495.             _loc1_._x = _loc1_.targetX;
  496.          }
  497.          if(yDist * yDist > 0.5)
  498.          {
  499.             _loc1_._y += yDist / 3;
  500.          }
  501.          else
  502.          {
  503.             _loc1_._y = _loc1_.targetY;
  504.          }
  505.          if((_loc1_.player.targetRot - _loc1_.player._rotation) * (_loc1_.player.targetRot - _loc1_.player._rotation) < 5)
  506.          {
  507.             if((_loc1_.targetRot - _loc1_._parent._rotation) * (_loc1_.targetRot - _loc1_._parent._rotation) > 5)
  508.             {
  509.                _loc1_._parent._rotation += (_loc1_.targetRot - _loc1_._parent._rotation) / 4;
  510.             }
  511.             else
  512.             {
  513.                _loc1_._parent._rotation = _loc1_.targetRot;
  514.                if(_loc1_._parent._rotation == -180)
  515.                {
  516.                   _loc1_._parent._rotation = 180;
  517.                }
  518.                if(_loc1_._parent._rotation == 270)
  519.                {
  520.                   _loc1_._parent._rotation = -90;
  521.                }
  522.             }
  523.          }
  524.          _loc1_.currX = _loc1_.player.xCell;
  525.          _loc1_.currY = _loc1_.player.yCell;
  526.          var xDist = Math.sqrt((_loc1_.currX - _loc1_.oldX) * (_loc1_.currX - _loc1_.oldX));
  527.          var yDist = Math.sqrt((_loc1_.currY - _loc1_.oldY) * (_loc1_.currY - _loc1_.oldY));
  528.          var windowSize = 8;
  529.          if(xDist >= 1 || yDist >= 1)
  530.          {
  531.             _loc3_ = _loc1_.currX - (windowSize + xDist);
  532.             while(_loc3_ < _loc1_.currX + windowSize + xDist)
  533.             {
  534.                _loc2_ = _loc1_.currY - (windowSize + yDist);
  535.                while(_loc2_ < _loc1_.currY + windowSize + yDist)
  536.                {
  537.                   if(_loc3_ > _loc1_.currX - windowSize && _loc3_ < _loc1_.currX + windowSize && _loc2_ > _loc1_.currY - windowSize && _loc2_ < _loc1_.currY + windowSize)
  538.                   {
  539.                      if(_loc1_.cells[_loc3_][_loc2_].clip == undefined)
  540.                      {
  541.                         _loc1_.cells[_loc3_][_loc2_].clip = new MovieClip();
  542.                         if(_loc1_.cells[_loc3_][_loc2_].tile == 0 && _loc1_.cells[_loc3_][_loc2_].spawn != undefined)
  543.                         {
  544.                            _loc1_.attachMovie("Enemy" + _loc1_.cells[_loc3_][_loc2_].spawn,"enemy" + _loc1_.cells[_loc3_][_loc2_].spawn + "_" + _loc1_.cells[_loc3_][_loc2_].spawnId,6000 + _loc1_.cells[_loc3_][_loc2_].spawn * 50 + _loc1_.cells[_loc3_][_loc2_].spawnId);
  545.                         }
  546.                         else if(_loc1_.cells[_loc3_][_loc2_].tile == 0 && _loc1_.cells[_loc3_][_loc2_].item != undefined)
  547.                         {
  548.                            if(_loc1_.cells[_loc3_][_loc2_].itemAlive)
  549.                            {
  550.                               _loc1_.attachMovie("Item" + _loc1_.cells[_loc3_][_loc2_].item,"item" + _loc1_.cells[_loc3_][_loc2_].item + "_" + _loc1_.cells[_loc3_][_loc2_].itemId,7500 + _loc1_.cells[_loc3_][_loc2_].item * 50 + _loc1_.cells[_loc3_][_loc2_].itemId);
  551.                            }
  552.                         }
  553.                         _loc1_.attachMovie("Cell","Cell_" + _loc3_ + "_" + _loc2_,_loc1_.cells[_loc3_][_loc2_].depth);
  554.                      }
  555.                   }
  556.                   else
  557.                   {
  558.                      _loc1_.cells[_loc3_][_loc2_].clip.removeMovieClip();
  559.                      _loc1_.cells[_loc3_][_loc2_].clip = undefined;
  560.                   }
  561.                   _loc2_ = _loc2_ + 1;
  562.                }
  563.                _loc3_ = _loc3_ + 1;
  564.             }
  565.          }
  566.          _loc1_.oldX = _loc1_.currX;
  567.          _loc1_.oldY = _loc1_.currY;
  568.       }
  569.       if(_loc1_.reSpawnCounter > 0)
  570.       {
  571.          _loc1_.reSpawnCounter = _loc1_.reSpawnCounter - 1;
  572.          if(_loc1_.reSpawnCounter == 1)
  573.          {
  574.             _root.health = 100;
  575.             _loc1_.attachMovie("Player","player",5999);
  576.             _loc1_.player.blinking = 60;
  577.          }
  578.       }
  579.    }
  580.    function mapOverlay(mcName, mcScale)
  581.    {
  582.       var _loc1_ = this;
  583.       var _loc2_ = mcScale;
  584.       var _loc3_ = mcName;
  585.       _loc3_;
  586.       _loc2_;
  587.       _loc1_.attachMovie(_loc3_,"overlay",90);
  588.       _loc1_.overlay._x = (- _loc1_.cellsize) / 2;
  589.       _loc1_.overlay._y = (- _loc1_.cellsize) / 2;
  590.       _loc1_.overlay._width *= _loc2_;
  591.       _loc1_.overlay._height *= _loc2_;
  592.    }
  593.    function mapBg(mcName)
  594.    {
  595.       var _loc1_ = mcName;
  596.       var _loc2_ = this;
  597.       _loc1_;
  598.       _loc2_._parent._parent.attachMovie(_loc1_,"bg",1);
  599.       _loc2_._parent._parent.bg._x = 280;
  600.       _loc2_._parent._parent.bg._y = 205;
  601.    }
  602.    function instaFocus()
  603.    {
  604.       var _loc1_ = this;
  605.       _loc1_._x = Math.round((- _loc1_.player._x) * 10) / 10;
  606.       _loc1_._y = Math.round((- _loc1_.player._y) * 10) / 10;
  607.    }
  608. }
  609.