Loading

Paste #p2xv8lx23

  1. function Utils::getValidOffsetTile(tile, offsetX, offsetY) {
  2.     local oldX = AIMap.GetTileX(tile);
  3.     local oldY = AIMap.GetTileY(tile);
  4.    
  5.     local newX = oldX;
  6.     local newY = oldY;
  7.    
  8.     if (offsetX > 0) {
  9.         for (local x = offsetX; x > 0; x--) {
  10.             if (AIMap.IsValidTile(AIMap.GetTileIndex(newX + 1, newY))) {
  11.                 newX = newX + 1;
  12.             }
  13.         }
  14.     } else {
  15.         for (local x = offsetX; x < 0; x++) {
  16.             if (AIMap.IsValidTile(AIMap.GetTileIndex(newX - 1, newY))) {
  17.                 newX = newX - 1;
  18.             }
  19.         }
  20.     }
  21.    
  22.     if (offsetY > 0) {
  23.         for (local y = offsetY; y > 0; y--) {
  24.             if (AIMap.IsValidTile(AIMap.GetTileIndex(newX, newY + 1))) {
  25.                 newY = newY + 1;
  26.             }
  27.         }
  28.     } else {
  29.         for (local y = offsetY; y < 0; y++) {
  30.             if (AIMap.IsValidTile(AIMap.GetTileIndex(newX, newY - 1))) {
  31.                 newY = newY - 1;
  32.             }
  33.         }
  34.     }
  35.    
  36.     return AIMap.GetTileIndex(newX, newY);
  37. }

Version history

Revision # Author Created at
phtxvttpa Anonymous 11 Sep 2018, 13:37:30 UTC Diff

Comments