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

  1. class Enemy2 extends MovieClip
  2. {
  3.    var walkSpeed = 2;
  4.    var xStep = 0;
  5.    var yStep = 0;
  6.    var onGround = false;
  7.    var targetRot = 0;
  8.    var walking = false;
  9.    function Enemy2()
  10.    {
  11.       super();
  12.    }
  13.    function onLoad()
  14.    {
  15.       var _loc1_ = this;
  16.       var _loc3_ = _loc1_._name.split("_");
  17.       _loc1_.id = Number(_loc3_[1]);
  18.       var _loc2_ = _loc1_._parent.spawnPoints[2][_loc1_.id].split(":");
  19.       _loc1_._x = _loc2_[0] * _loc1_._parent.cellsize;
  20.       _loc1_._y = _loc2_[1] * _loc1_._parent.cellsize;
  21.       _loc1_._parent.cells[_loc2_[0]][_loc2_[1]].spawn = undefined;
  22.       _loc1_.onGround = false;
  23.       if(_loc1_._parent.cells[_loc2_[0]][_loc2_[1]].gravType > 0)
  24.       {
  25.          _loc1_.gravType = _loc1_._parent.cells[_loc2_[0]][_loc2_[1]].gravType;
  26.          _loc1_._rotation = 90 * (_loc1_.gravType - 1);
  27.       }
  28.       else
  29.       {
  30.          _loc1_.gravType = 1;
  31.       }
  32.       _loc1_.createEmptyMovieClip("sprite",1);
  33.       _loc1_.sprite._y = _loc1_._parent.cellsize / 2 - 4;
  34.       _loc1_.enemyStatus = "enemy2_walk_1";
  35.       _loc1_.sprite.attachMovie(_loc1_.enemyStatus,"sprite",1);
  36.       _loc1_.walking = true;
  37.    }
  38.    function onEnterFrame()
  39.    {
  40.       var _loc1_ = this;
  41.       if(_loc1_.yStep != 0)
  42.       {
  43.          _loc1_.onGround = false;
  44.       }
  45.       _loc1_.xCell = Math.floor(_loc1_._x / _loc1_._parent.cellsize + 0.5);
  46.       _loc1_.yCell = Math.floor(_loc1_._y / _loc1_._parent.cellsize + 0.5);
  47.       if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].clip == undefined)
  48.       {
  49.          if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile == 2)
  50.          {
  51.             _loc1_.yCell = _loc1_.yCell + 1;
  52.          }
  53.          else if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile == 3)
  54.          {
  55.             _loc1_.xCell = _loc1_.xCell - 1;
  56.          }
  57.          else if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile == 4)
  58.          {
  59.             _loc1_.yCell = _loc1_.yCell - 1;
  60.          }
  61.          else if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile == 5)
  62.          {
  63.             _loc1_.xCell = _loc1_.xCell + 1;
  64.          }
  65.          _loc1_._parent.spawnPoints[2][_loc1_.id] = _loc1_.xCell + ":" + _loc1_.yCell;
  66.          _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].spawn = 2;
  67.          _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].spawnId = _loc1_.id;
  68.          ┬º┬ºpush(_loc1_.removeMovieClip());
  69.       }
  70.       if(_loc1_.hitTest(_loc1_._parent.player) && _loc1_.enemyStatus != "enemy2_attack_1" && _loc1_._parent.player.blinking <= 0)
  71.       {
  72.          _loc1_.enemyStatus = "enemy2_attack_1";
  73.          _loc1_.sprite.attachMovie(_loc1_.enemyStatus,"sprite",1);
  74.          _loc1_.walking = false;
  75.          if(_loc1_._parent.player.xStep > 0)
  76.          {
  77.             _loc1_.sprite._xscale = 100;
  78.             _loc1_.xStep = 0;
  79.          }
  80.          else if(_loc1_._parent.player.xStep < 0)
  81.          {
  82.             _loc1_.sprite._xscale = -100;
  83.             _loc1_.xStep = 0;
  84.          }
  85.       }
  86.       if(_loc1_.walking)
  87.       {
  88.          if(_loc1_.gravType == 1)
  89.          {
  90.             if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile != 4)
  91.             {
  92.                if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell + 1].edges[0] == 1 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].edges[3] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell + 1].edges[3] == 0)
  93.                {
  94.                   _loc1_.xStep = _loc1_.walkSpeed;
  95.                   _loc1_.sprite._xscale = -100;
  96.                }
  97.                else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell + 1].edges[0] == 1 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].edges[1] == 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell + 1].edges[1] == 0)
  98.                {
  99.                   _loc1_.xStep = - _loc1_.walkSpeed;
  100.                   _loc1_.sprite._xscale = 100;
  101.                }
  102.                else if(_loc1_.onGround)
  103.                {
  104.                   _loc1_.xStep = - _loc1_.xStep;
  105.                   _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  106.                }
  107.                else
  108.                {
  109.                   _loc1_.xStep = 0;
  110.                }
  111.             }
  112.             else if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].edges[0] == 1 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell - 1].edges[3] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].edges[3] == 0)
  113.             {
  114.                _loc1_.xStep = _loc1_.walkSpeed;
  115.                _loc1_.sprite._xscale = -100;
  116.             }
  117.             else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].edges[0] == 1 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell - 1].edges[1] == 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].edges[1] == 0)
  118.             {
  119.                _loc1_.xStep = - _loc1_.walkSpeed;
  120.                _loc1_.sprite._xscale = 100;
  121.             }
  122.             else if(_loc1_.onGround)
  123.             {
  124.                _loc1_.xStep = - _loc1_.xStep;
  125.                _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  126.             }
  127.             else
  128.             {
  129.                _loc1_.xStep = 0;
  130.             }
  131.             if(_loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].clip == undefined || _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].clip == undefined)
  132.             {
  133.                _loc1_.xStep = 0;
  134.             }
  135.          }
  136.          else if(_loc1_.gravType == 2)
  137.          {
  138.             if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile != 5)
  139.             {
  140.                if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell + 1].edges[1] == 1 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].edges[0] == 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell + 1].edges[0] == 0)
  141.                {
  142.                   _loc1_.xStep = _loc1_.walkSpeed;
  143.                   _loc1_.sprite._xscale = -100;
  144.                }
  145.                else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell - 1].edges[1] == 1 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].edges[2] == 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell - 1].edges[2] == 0)
  146.                {
  147.                   _loc1_.xStep = - _loc1_.walkSpeed;
  148.                   _loc1_.sprite._xscale = 100;
  149.                }
  150.                else if(_loc1_.onGround)
  151.                {
  152.                   _loc1_.xStep = - _loc1_.xStep;
  153.                   _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  154.                }
  155.                else
  156.                {
  157.                   _loc1_.xStep = 0;
  158.                }
  159.             }
  160.             else if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].edges[1] == 1 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell + 1].edges[0] == 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].edges[0] == 0)
  161.             {
  162.                _loc1_.xStep = _loc1_.walkSpeed;
  163.                _loc1_.sprite._xscale = -100;
  164.             }
  165.             else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].edges[1] == 1 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell - 1].edges[2] == 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].edges[2] == 0)
  166.             {
  167.                _loc1_.xStep = - _loc1_.walkSpeed;
  168.                _loc1_.sprite._xscale = 100;
  169.             }
  170.             else if(_loc1_.onGround)
  171.             {
  172.                _loc1_.xStep = - _loc1_.xStep;
  173.                _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  174.             }
  175.             else
  176.             {
  177.                _loc1_.xStep = 0;
  178.             }
  179.             if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].clip == undefined || _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].clip == undefined)
  180.             {
  181.                _loc1_.xStep = 0;
  182.             }
  183.          }
  184.          else if(_loc1_.gravType == 3)
  185.          {
  186.             if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile != 2)
  187.             {
  188.                if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell - 1].edges[2] == 1 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].edges[1] == 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell - 1].edges[1] == 0)
  189.                {
  190.                   _loc1_.xStep = _loc1_.walkSpeed;
  191.                   _loc1_.sprite._xscale = -100;
  192.                }
  193.                else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell - 1].edges[2] == 1 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].edges[3] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell - 1].edges[3] == 0)
  194.                {
  195.                   _loc1_.xStep = - _loc1_.walkSpeed;
  196.                   _loc1_.sprite._xscale = 100;
  197.                }
  198.                else if(_loc1_.onGround)
  199.                {
  200.                   _loc1_.xStep = - _loc1_.xStep;
  201.                   _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  202.                }
  203.                else
  204.                {
  205.                   _loc1_.xStep = 0;
  206.                }
  207.             }
  208.             else if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].edges[2] == 1 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell + 1].edges[1] == 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].edges[1] == 0)
  209.             {
  210.                _loc1_.xStep = _loc1_.walkSpeed;
  211.                _loc1_.sprite._xscale = -100;
  212.             }
  213.             else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].edges[2] == 1 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell + 1].edges[3] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].edges[3] == 0)
  214.             {
  215.                _loc1_.xStep = - _loc1_.walkSpeed;
  216.                _loc1_.sprite._xscale = 100;
  217.             }
  218.             else if(_loc1_.onGround)
  219.             {
  220.                _loc1_.xStep = - _loc1_.xStep;
  221.                _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  222.             }
  223.             else
  224.             {
  225.                _loc1_.xStep = 0;
  226.             }
  227.             if(_loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].clip == undefined || _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].clip == undefined)
  228.             {
  229.                _loc1_.xStep = 0;
  230.             }
  231.          }
  232.          else if(_loc1_.gravType == 4)
  233.          {
  234.             if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile != 3)
  235.             {
  236.                if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell - 1].edges[3] == 1 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].edges[2] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell - 1].edges[2] == 0)
  237.                {
  238.                   _loc1_.xStep = _loc1_.walkSpeed;
  239.                   _loc1_.sprite._xscale = -100;
  240.                }
  241.                else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell + 1].edges[3] == 1 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].edges[0] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell + 1].edges[0] == 0)
  242.                {
  243.                   _loc1_.xStep = - _loc1_.walkSpeed;
  244.                   _loc1_.sprite._xscale = 100;
  245.                }
  246.                else if(_loc1_.onGround)
  247.                {
  248.                   _loc1_.xStep = - _loc1_.xStep;
  249.                   _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  250.                }
  251.                else
  252.                {
  253.                   _loc1_.xStep = 0;
  254.                }
  255.             }
  256.             else if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].edges[3] == 1 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].edges[2] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell - 1].edges[2] == 0)
  257.             {
  258.                _loc1_.xStep = _loc1_.walkSpeed;
  259.                _loc1_.sprite._xscale = -100;
  260.             }
  261.             else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].edges[3] == 1 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].edges[0] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell + 1].edges[0] == 0)
  262.             {
  263.                _loc1_.xStep = - _loc1_.walkSpeed;
  264.                _loc1_.sprite._xscale = 100;
  265.             }
  266.             else if(_loc1_.onGround)
  267.             {
  268.                _loc1_.xStep = - _loc1_.xStep;
  269.                _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  270.             }
  271.             else
  272.             {
  273.                _loc1_.xStep = 0;
  274.             }
  275.             if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].clip == undefined || _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].clip == undefined)
  276.             {
  277.                _loc1_.xStep = 0;
  278.             }
  279.          }
  280.       }
  281.       if(_loc1_._parent.gravity < _loc1_._parent.maxspeed)
  282.       {
  283.          _loc1_.yStep += _loc1_._parent.gravity;
  284.       }
  285.       if(_loc1_.gravType == 1)
  286.       {
  287.          _loc1_.futureY = _loc1_._y + _loc1_.yStep;
  288.          _loc1_.futureX = _loc1_._x + _loc1_.xStep;
  289.          _loc1_.targetRot = 0;
  290.       }
  291.       else if(_loc1_.gravType == 2)
  292.       {
  293.          _loc1_.futureY = _loc1_._y + _loc1_.xStep;
  294.          _loc1_.futureX = _loc1_._x - _loc1_.yStep;
  295.          _loc1_.targetRot = 90;
  296.       }
  297.       else if(_loc1_.gravType == 3)
  298.       {
  299.          _loc1_.futureY = _loc1_._y - _loc1_.yStep;
  300.          _loc1_.futureX = _loc1_._x - _loc1_.xStep;
  301.          if(_loc1_._rotation <= -90)
  302.          {
  303.             _loc1_.targetRot = -180;
  304.          }
  305.          else
  306.          {
  307.             _loc1_.targetRot = 180;
  308.          }
  309.       }
  310.       else if(_loc1_.gravType == 4)
  311.       {
  312.          _loc1_.futureY = _loc1_._y - _loc1_.xStep;
  313.          _loc1_.futureX = _loc1_._x + _loc1_.yStep;
  314.          if(_loc1_._rotation >= 180)
  315.          {
  316.             _loc1_.targetRot = 270;
  317.          }
  318.          else
  319.          {
  320.             _loc1_.targetRot = -90;
  321.          }
  322.       }
  323.       if((_loc1_.targetRot - _loc1_._rotation) * (_loc1_.targetRot - _loc1_._rotation) > 5)
  324.       {
  325.          _loc1_._rotation += (_loc1_.targetRot - _loc1_._rotation) / 2;
  326.       }
  327.       else
  328.       {
  329.          _loc1_._rotation = _loc1_.targetRot;
  330.          if(_loc1_._rotation == -180)
  331.          {
  332.             _loc1_._rotation = 180;
  333.          }
  334.          if(_loc1_._rotation == 270)
  335.          {
  336.             _loc1_._rotation = -90;
  337.          }
  338.       }
  339.       _loc1_.xCell = Math.floor(_loc1_.futureX / _loc1_._parent.cellsize + 0.5);
  340.       _loc1_.yCell = Math.floor(_loc1_.futureY / _loc1_._parent.cellsize + 0.5);
  341.       if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType != 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType != undefined)
  342.       {
  343.          if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType <= 4)
  344.          {
  345.             _loc1_.gravType = _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType;
  346.             _loc1_.shiftGrav = 0;
  347.          }
  348.          else if(_loc1_.shiftGrav != _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType - 4)
  349.          {
  350.             _loc1_.shiftGrav = _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType - 4;
  351.             if(_loc1_.shiftGrav == _loc1_.gravType)
  352.             {
  353.                if(_loc1_.gravType < 4)
  354.                {
  355.                   _loc1_.gravType = _loc1_.gravType + 1;
  356.                }
  357.                else
  358.                {
  359.                   _loc1_.gravType = 1;
  360.                }
  361.             }
  362.             else if(_loc1_.gravType > 1)
  363.             {
  364.                _loc1_.gravType = _loc1_.gravType - 1;
  365.             }
  366.             else
  367.             {
  368.                _loc1_.gravType = 4;
  369.             }
  370.          }
  371.       }
  372.       _loc1_.rawHitTest();
  373.       _loc1_._y = _loc1_.futureY;
  374.       _loc1_._x = _loc1_.futureX;
  375.    }
  376.    function rawHitTest()
  377.    {
  378.       var _loc1_ = this;
  379.       var _loc3_ = -1;
  380.       while(_loc3_ <= 1)
  381.       {
  382.          var _loc2_ = -1;
  383.          while(_loc2_ <= 1)
  384.          {
  385.             if(_loc1_.xCell != 0 && _loc1_.yCell != 0)
  386.             {
  387.                _loc1_.detailHitTest(_loc1_.xCell + _loc3_,_loc1_.yCell + _loc2_);
  388.             }
  389.             else if(_loc1_.xCell == 0 && _loc1_.yCell != 0 && _loc3_ >= 0)
  390.             {
  391.                _loc1_.detailHitTest(_loc1_.xCell + _loc3_,_loc1_.yCell + _loc2_);
  392.             }
  393.             else if(_loc1_.xCell != 0 && _loc1_.yCell == 0 && _loc2_ >= 0)
  394.             {
  395.                _loc1_.detailHitTest(_loc1_.xCell + _loc3_,_loc1_.yCell + _loc2_);
  396.             }
  397.             else if(_loc3_ >= 0 && _loc2_ >= 0)
  398.             {
  399.                _loc1_.detailHitTest(_loc1_.xCell + _loc3_,_loc1_.yCell + _loc2_);
  400.             }
  401.             _loc2_ = _loc2_ + 1;
  402.          }
  403.          _loc3_ = _loc3_ + 1;
  404.       }
  405.    }
  406.    function detailHitTest(tmpX, tmpY)
  407.    {
  408.       var _loc1_ = this;
  409.       var _loc2_ = tmpX;
  410.       var _loc3_ = tmpY;
  411.       _loc2_;
  412.       _loc3_;
  413.       var tile = _loc1_._parent.cells[_loc2_][_loc3_].tile;
  414.       if(tile >= 1 && tile <= 5)
  415.       {
  416.          var left = _loc1_.futureX - _loc1_._width / 2;
  417.          var right = _loc1_.futureX + _loc1_._width / 2;
  418.          var top = _loc1_.futureY - _loc1_._height / 2;
  419.          var bottom = _loc1_.futureY + _loc1_._height / 2;
  420.          if(tile == 1)
  421.          {
  422.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x - _loc1_._parent.cellsize / 2;
  423.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x + _loc1_._parent.cellsize / 2;
  424.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y - _loc1_._parent.cellsize / 2;
  425.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y + _loc1_._parent.cellsize / 2;
  426.          }
  427.          else if(tile == 2)
  428.          {
  429.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x - _loc1_._parent.cellsize / 2;
  430.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x + _loc1_._parent.cellsize / 2;
  431.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y - _loc1_._parent.cellsize / 2;
  432.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y;
  433.          }
  434.          else if(tile == 3)
  435.          {
  436.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x;
  437.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x + _loc1_._parent.cellsize / 2;
  438.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y - _loc1_._parent.cellsize / 2;
  439.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y + _loc1_._parent.cellsize / 2;
  440.          }
  441.          else if(tile == 4)
  442.          {
  443.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x - _loc1_._parent.cellsize / 2;
  444.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x + _loc1_._parent.cellsize / 2;
  445.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y;
  446.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y + _loc1_._parent.cellsize / 2;
  447.          }
  448.          else if(tile == 5)
  449.          {
  450.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x - _loc1_._parent.cellsize / 2;
  451.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x;
  452.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y - _loc1_._parent.cellsize / 2;
  453.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y + _loc1_._parent.cellsize / 2;
  454.          }
  455.          if(bottom > cTop && top < cBottom && left < cRight && right > cLeft)
  456.          {
  457.             var projUp = cTop - _loc1_._height / 2 - _loc1_.futureY;
  458.             var projDown = cBottom + _loc1_._height / 2 - _loc1_.futureY;
  459.             var projLeft = cLeft - _loc1_._width / 2 - _loc1_.futureX;
  460.             var projRight = cRight + _loc1_._width / 2 - _loc1_.futureX;
  461.             if(Math.sqrt(projUp * projUp) < Math.sqrt(projDown * projDown))
  462.             {
  463.                var projY = projUp;
  464.             }
  465.             else
  466.             {
  467.                var projY = projDown;
  468.             }
  469.             if(Math.sqrt(projLeft * projLeft) < Math.sqrt(projRight * projRight))
  470.             {
  471.                var projX = projLeft;
  472.             }
  473.             else
  474.             {
  475.                var projX = projRight;
  476.             }
  477.             if(Math.sqrt(projX * projX) < Math.sqrt(projY * projY))
  478.             {
  479.                if(!(_loc1_.gravType == 1 || _loc1_.gravType == 3))
  480.                {
  481.                   if(_loc1_.gravType == 2 || _loc1_.gravType == 4)
  482.                   {
  483.                      _loc1_.yStep = 0;
  484.                   }
  485.                }
  486.                _loc1_.futureX += projX;
  487.                if(projX == projRight && _loc1_.gravType == 2)
  488.                {
  489.                   if(!_loc1_.onGround)
  490.                   {
  491.                      _loc1_.onGround = true;
  492.                   }
  493.                }
  494.                else if(projX == projLeft && _loc1_.gravType == 4)
  495.                {
  496.                   if(!_loc1_.onGround)
  497.                   {
  498.                      _loc1_.onGround = true;
  499.                   }
  500.                }
  501.             }
  502.             else
  503.             {
  504.                if(_loc1_.gravType == 1 || _loc1_.gravType == 3)
  505.                {
  506.                   _loc1_.yStep = 0;
  507.                }
  508.                else if(_loc1_.gravType == 2 || _loc1_.gravType == 4)
  509.                {
  510.                }
  511.                _loc1_.futureY += projY;
  512.                if(projY == projUp && _loc1_.gravType == 1)
  513.                {
  514.                   if(!_loc1_.onGround)
  515.                   {
  516.                      _loc1_.onGround = true;
  517.                   }
  518.                }
  519.                else if(projY == projDown && _loc1_.gravType == 3)
  520.                {
  521.                   if(!_loc1_.onGround)
  522.                   {
  523.                      _loc1_.onGround = true;
  524.                   }
  525.                }
  526.             }
  527.          }
  528.       }
  529.    }
  530. }
  531.