From a538fb3213c73aae254df4452a973949dc722a87 Mon Sep 17 00:00:00 2001 From: truelight Date: Thu, 30 Dec 2004 09:43:12 +0000 Subject: (svn r1299) -Fix: [ 1092473 ] In SE, when trees are placed randomly, they are no longer placed on farmland --- tree_cmd.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'tree_cmd.c') diff --git a/tree_cmd.c b/tree_cmd.c index 8e1b334cf..79ebbed47 100644 --- a/tree_cmd.c +++ b/tree_cmd.c @@ -77,9 +77,11 @@ static void DoPlaceMoreTrees(uint tile) dist = myabs(x) + myabs(y); - cur_tile=TILE_MASK(tile + TILE_XY(x,y)); + cur_tile = TILE_MASK(tile + TILE_XY(x,y)); - if (dist <= 13 && IS_TILETYPE(cur_tile, MP_CLEAR)) { + /* Only on tiles within 13 squares from tile, + on clear tiles, and NOT on farm-tiles */ + if (dist <= 13 && IS_TILETYPE(cur_tile, MP_CLEAR) && (_map5[tile] & 0x1F) != 0x0F) { PlaceTree(cur_tile, r, dist <= 6 ? 0xC0 : 0); } } while (--i); @@ -103,7 +105,8 @@ void PlaceTreesRandomly() do { r = Random(); tile = TILE_MASK(r); - if (IS_TILETYPE(tile, MP_CLEAR)) { + /* Only on clear tiles, and NOT on farm-tiles */ + if (IS_TILETYPE(tile, MP_CLEAR) && (_map5[tile] & 0x1F) != 0x0F) { PlaceTree(tile, r, 0); } } while (--i); -- cgit v1.2.3-54-g00ecf