(svn r1299) -Fix: [ 1092473 ] In SE, when trees are placed randomly, they are no
authortruelight
Thu, 30 Dec 2004 09:43:12 +0000
changeset 828 bb08003e61b5
parent 827 2026d158133d
child 829 b71111ccf2cc
(svn r1299) -Fix: [ 1092473 ] In SE, when trees are placed randomly, they are no
longer placed on farmland
tree_cmd.c
--- a/tree_cmd.c	Wed Dec 29 15:32:10 2004 +0000
+++ b/tree_cmd.c	Thu Dec 30 09:43:12 2004 +0000
@@ -77,9 +77,11 @@
 
 		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 @@
 	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);