From ed88e75a34d11be7d58bfaabb4b5fa52fa159e2f Mon Sep 17 00:00:00 2001
From: "jason@long.name" <jason@long.name@d9718cc8-9f43-0410-858b-315f434eb58c>
Date: Wed, 4 Sep 2013 18:57:51 +0000
Subject: [PATCH] tiles.rc: move pollution values from Java code to tiles.rc

This patch maintains exact values for every tile, even where it
is probably wrong.

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@837 d9718cc8-9f43-0410-858b-315f434eb58c
---
 graphics/tiles.rc                         | 430 +++++++++++-----------
 src/micropolisj/engine/TileConstants.java |  30 +-
 src/micropolisj/engine/TileSpec.java      |  15 +
 3 files changed, 232 insertions(+), 243 deletions(-)

diff --git a/graphics/tiles.rc b/graphics/tiles.rc
index 7985119..1f24cd5 100644
--- a/graphics/tiles.rc
+++ b/graphics/tiles.rc
@@ -58,19 +58,19 @@
 50    terrain@0,800     (noburn)(description=#4)(behavior=FLOOD)
 51    terrain@0,816     (noburn)(description=#4)(behavior=FLOOD)
 # BEGIN RADIATION #
-52    terrain@0,832     (noburn)(description=#5)(behavior=RADIOACTIVE)
-53    terrain@0,848     (noburn)(description=#5)(behavior=RADIOACTIVE)
-54    terrain@0,864     (noburn)(description=#5)(behavior=RADIOACTIVE)
-55    terrain@0,880     (noburn)(description=#5)(behavior=RADIOACTIVE)
+52    terrain@0,832     (noburn)(description=#5)(behavior=RADIOACTIVE)(pollution=255)
+53    terrain@0,848     (noburn)(description=#5)(behavior=RADIOACTIVE)(pollution=255)
+54    terrain@0,864     (noburn)(description=#5)(behavior=RADIOACTIVE)(pollution=255)
+55    terrain@0,880     (noburn)(description=#5)(behavior=RADIOACTIVE)(pollution=255)
 # BEGIN FIRE ANIMATION #
-56    terrain@0,896                   (noburn)(description=#6)(behavior=FIRE)(becomes=57)
-57    terrain@0,912                   (noburn)(description=#6)(behavior=FIRE)(becomes=58)
-58    terrain@0,928                   (noburn)(description=#6)(behavior=FIRE)(becomes=59)
-59    terrain@0,944                   (noburn)(description=#6)(behavior=FIRE)(becomes=60)
-60    terrain@0,960                   (noburn)(description=#6)(behavior=FIRE)(becomes=61)
-61    terrain@0,976                   (noburn)(description=#6)(behavior=FIRE)(becomes=62)
-62    terrain@0,992                   (noburn)(description=#6)(behavior=FIRE)(becomes=63)
-63    terrain@0,1008                  (noburn)(description=#6)(behavior=FIRE)(becomes=56)
+56    terrain@0,896                   (noburn)(description=#6)(behavior=FIRE)(becomes=57)(pollution=90)
+57    terrain@0,912                   (noburn)(description=#6)(behavior=FIRE)(becomes=58)(pollution=90)
+58    terrain@0,928                   (noburn)(description=#6)(behavior=FIRE)(becomes=59)(pollution=90)
+59    terrain@0,944                   (noburn)(description=#6)(behavior=FIRE)(becomes=60)(pollution=90)
+60    terrain@0,960                   (noburn)(description=#6)(behavior=FIRE)(becomes=61)(pollution=90)
+61    terrain@0,976                   (noburn)(description=#6)(behavior=FIRE)(becomes=62)(pollution=90)
+62    terrain@0,992                   (noburn)(description=#6)(behavior=FIRE)(becomes=63)(pollution=90)
+63    terrain@0,1008                  (noburn)(description=#6)(behavior=FIRE)(becomes=56)(pollution=90)
 # BEGIN ROADS WITH NO TRAFFIC #
 64    roads@0,0                       (noburn)(description=#7)(behavior=ROAD)
 65    roads@0,16                      (noburn)(description=#7)(behavior=ROAD)
@@ -90,136 +90,136 @@
 # open draw bridge (east-west) -
 79    roads@0,240                     (description=#7)(behavior=ROAD)
 # BEGIN ROADS WITH LIGHT TRAFFIC #
-80    (64) |traffic@0,0                                          (becomes=128)
-81    (65) |traffic@0,16                                         (becomes=129)
-82    (66) |traffic@0,0                                          (becomes=130)
-83    (67) |traffic@0,16                                         (becomes=131)
-84    (68) |traffic@0,64                                         (becomes=132)
-85    (69) |traffic@0,80                                         (becomes=133)
-86    (70) |traffic@0,96                                         (becomes=134)
-87    (71) |traffic@0,112                                        (becomes=135)
-88    (72) |traffic@0,0                                          (becomes=136)
-89    (73) |traffic@0,16                                         (becomes=137)
-90    (74) |traffic@0,0                                          (becomes=138)
-91    (75) |traffic@0,16                                         (becomes=139)
-92    (76) |traffic@0,192                                        (becomes=140)
-93    roads@0,32 |traffic@0,0  |roadwire@0,0    (conducts)(becomes=141)(description=#7)(behavior=ROAD)
-94    roads@0,48 |traffic@0,16 |roadwire@0,16   (conducts)(becomes=142)(description=#7)(behavior=ROAD)
+80    (64) |traffic@0,0                                          (becomes=128)(pollution=50)
+81    (65) |traffic@0,16                                         (becomes=129)(pollution=50)
+82    (66) |traffic@0,0                                          (becomes=130)(pollution=50)
+83    (67) |traffic@0,16                                         (becomes=131)(pollution=50)
+84    (68) |traffic@0,64                                         (becomes=132)(pollution=50)
+85    (69) |traffic@0,80                                         (becomes=133)(pollution=50)
+86    (70) |traffic@0,96                                         (becomes=134)(pollution=50)
+87    (71) |traffic@0,112                                        (becomes=135)(pollution=50)
+88    (72) |traffic@0,0                                          (becomes=136)(pollution=50)
+89    (73) |traffic@0,16                                         (becomes=137)(pollution=50)
+90    (74) |traffic@0,0                                          (becomes=138)(pollution=50)
+91    (75) |traffic@0,16                                         (becomes=139)(pollution=50)
+92    (76) |traffic@0,192                                        (becomes=140)(pollution=50)
+93    roads@0,32 |traffic@0,0  |roadwire@0,0    (conducts)(becomes=141)(description=#7)(behavior=ROAD)(pollution=50)
+94    roads@0,48 |traffic@0,16 |roadwire@0,16   (conducts)(becomes=142)(description=#7)(behavior=ROAD)(pollution=50)
 # open draw bridge (north-south) -
-95    roads@0,240                                                (becomes=143)(description=#7)(behavior=ROAD)
-96    (64) |traffic@16,0                                         (becomes=80)
-97    (65) |traffic@16,16                                        (becomes=81)
-98    (66) |traffic@16,0                                         (becomes=82)
-99    (67) |traffic@16,16                                        (becomes=83)
-100   (68) |traffic@16,64                                        (becomes=84)
-101   (69) |traffic@16,80                                        (becomes=85)
-102   (70) |traffic@16,96                                        (becomes=86)
-103   (71) |traffic@16,112                                       (becomes=87)
-104   (72) |traffic@16,0                                         (becomes=88)
-105   (73) |traffic@16,16                                        (becomes=89)
-106   (74) |traffic@16,0                                         (becomes=90)
-107   (75) |traffic@16,16                                        (becomes=91)
-108   (76) |traffic@16,192                                       (becomes=92)
-109   roads@0,32 |traffic@16,0  |roadwire@0,0   (conducts)(becomes=93)(description=#7)(behavior=ROAD)
-110   roads@0,48 |traffic@16,16 |roadwire@0,16  (conducts)(becomes=94)(description=#7)(behavior=ROAD)
-111   roads@0,240                                                (becomes=95)(description=#7)(behavior=ROAD)
-112   (64) |traffic@32,0                                         (becomes=96)
-113   (65) |traffic@32,16                                        (becomes=97)
-114   (66) |traffic@32,0                                         (becomes=98)
-115   (67) |traffic@32,16                                        (becomes=99)
-116   (68) |traffic@32,64                                        (becomes=100)
-117   (69) |traffic@32,80                                        (becomes=101)
-118   (70) |traffic@32,96                                        (becomes=102)
-119   (71) |traffic@32,112                                       (becomes=103)
-120   (72) |traffic@32,0                                         (becomes=104)
-121   (73) |traffic@32,16                                        (becomes=105)
-122   (74) |traffic@32,0                                         (becomes=106)
-123   (75) |traffic@32,16                                        (becomes=107)
-124   (76) |traffic@32,192                                       (becomes=108)
-125   roads@0,32 |traffic@32,0  |roadwire@0,0   (conducts)(becomes=109)(description=#7)(behavior=ROAD)
-126   roads@0,48 |traffic@32,16 |roadwire@0,16  (conducts)(becomes=110)(description=#7)(behavior=ROAD)
-127   roads@0,240                                                (becomes=111)(description=#7)(behavior=ROAD)
-128   (64) |traffic@48,0                                         (becomes=112)
-129   (65) |traffic@48,16                                        (becomes=113)
-130   (66) |traffic@48,0                                         (becomes=114)
-131   (67) |traffic@48,16                                        (becomes=115)
-132   (68) |traffic@48,64                                        (becomes=116)
-133   (69) |traffic@48,80                                        (becomes=117)
-134   (70) |traffic@48,96                                        (becomes=118)
-135   (71) |traffic@48,112                                       (becomes=119)
-136   (72) |traffic@48,0                                         (becomes=120)
-137   (73) |traffic@48,16                                        (becomes=121)
-138   (74) |traffic@48,0                                         (becomes=122)
-139   (75) |traffic@48,16                                        (becomes=123)
-140   (76) |traffic@48,192                                       (becomes=124)
-141   roads@0,32 |traffic@48,0  |roadwire@0,0   (conducts)(becomes=125)(description=#7)(behavior=ROAD)
-142   roads@0,48 |traffic@48,16 |roadwire@0,16  (conducts)(becomes=126)(description=#7)(behavior=ROAD)
-143   roads@0,240                                                (becomes=127)(description=#7)(behavior=ROAD)
+95    roads@0,240                                                (becomes=143)(description=#7)(behavior=ROAD)(pollution=50)
+96    (64) |traffic@16,0                                         (becomes=80)(pollution=50)
+97    (65) |traffic@16,16                                        (becomes=81)(pollution=50)
+98    (66) |traffic@16,0                                         (becomes=82)(pollution=50)
+99    (67) |traffic@16,16                                        (becomes=83)(pollution=50)
+100   (68) |traffic@16,64                                        (becomes=84)(pollution=50)
+101   (69) |traffic@16,80                                        (becomes=85)(pollution=50)
+102   (70) |traffic@16,96                                        (becomes=86)(pollution=50)
+103   (71) |traffic@16,112                                       (becomes=87)(pollution=50)
+104   (72) |traffic@16,0                                         (becomes=88)(pollution=50)
+105   (73) |traffic@16,16                                        (becomes=89)(pollution=50)
+106   (74) |traffic@16,0                                         (becomes=90)(pollution=50)
+107   (75) |traffic@16,16                                        (becomes=91)(pollution=50)
+108   (76) |traffic@16,192                                       (becomes=92)(pollution=50)
+109   roads@0,32 |traffic@16,0  |roadwire@0,0   (conducts)(becomes=93)(description=#7)(behavior=ROAD)(pollution=50)
+110   roads@0,48 |traffic@16,16 |roadwire@0,16  (conducts)(becomes=94)(description=#7)(behavior=ROAD)(pollution=50)
+111   roads@0,240                                                (becomes=95)(description=#7)(behavior=ROAD)(pollution=50)
+112   (64) |traffic@32,0                                         (becomes=96)(pollution=50)
+113   (65) |traffic@32,16                                        (becomes=97)(pollution=50)
+114   (66) |traffic@32,0                                         (becomes=98)(pollution=50)
+115   (67) |traffic@32,16                                        (becomes=99)(pollution=50)
+116   (68) |traffic@32,64                                        (becomes=100)(pollution=50)
+117   (69) |traffic@32,80                                        (becomes=101)(pollution=50)
+118   (70) |traffic@32,96                                        (becomes=102)(pollution=50)
+119   (71) |traffic@32,112                                       (becomes=103)(pollution=50)
+120   (72) |traffic@32,0                                         (becomes=104)(pollution=50)
+121   (73) |traffic@32,16                                        (becomes=105)(pollution=50)
+122   (74) |traffic@32,0                                         (becomes=106)(pollution=50)
+123   (75) |traffic@32,16                                        (becomes=107)(pollution=50)
+124   (76) |traffic@32,192                                       (becomes=108)(pollution=50)
+125   roads@0,32 |traffic@32,0  |roadwire@0,0   (conducts)(becomes=109)(description=#7)(behavior=ROAD)(pollution=50)
+126   roads@0,48 |traffic@32,16 |roadwire@0,16  (conducts)(becomes=110)(description=#7)(behavior=ROAD)(pollution=50)
+127   roads@0,240                                                (becomes=111)(description=#7)(behavior=ROAD)(pollution=50)
+128   (64) |traffic@48,0                                         (becomes=112)(pollution=50)
+129   (65) |traffic@48,16                                        (becomes=113)(pollution=50)
+130   (66) |traffic@48,0                                         (becomes=114)(pollution=50)
+131   (67) |traffic@48,16                                        (becomes=115)(pollution=50)
+132   (68) |traffic@48,64                                        (becomes=116)(pollution=50)
+133   (69) |traffic@48,80                                        (becomes=117)(pollution=50)
+134   (70) |traffic@48,96                                        (becomes=118)(pollution=50)
+135   (71) |traffic@48,112                                       (becomes=119)(pollution=50)
+136   (72) |traffic@48,0                                         (becomes=120)(pollution=50)
+137   (73) |traffic@48,16                                        (becomes=121)(pollution=50)
+138   (74) |traffic@48,0                                         (becomes=122)(pollution=50)
+139   (75) |traffic@48,16                                        (becomes=123)(pollution=50)
+140   (76) |traffic@48,192                                       (becomes=124)(pollution=50)
+141   roads@0,32 |traffic@48,0  |roadwire@0,0   (conducts)(becomes=125)(description=#7)(behavior=ROAD)(pollution=50)
+142   roads@0,48 |traffic@48,16 |roadwire@0,16  (conducts)(becomes=126)(description=#7)(behavior=ROAD)(pollution=50)
+143   roads@0,240                                                (becomes=127)(description=#7)(behavior=ROAD)(pollution=50)
 # BEGIN ROADS WITH HEAVY TRAFFIC #                                    
-144   (64) |traffic@64,0                                         (becomes=192)
-145   (65) |traffic@64,16                                        (becomes=193)
-146   (66) |traffic@64,0                                         (becomes=194)
-147   (67) |traffic@64,16                                        (becomes=195)
-148   (68) |traffic@64,64                                        (becomes=196)
-149   (69) |traffic@64,80                                        (becomes=197)
-150   (70) |traffic@64,96                                        (becomes=198)
-151   (71) |traffic@64,112                                       (becomes=199)
-152   (72) |traffic@64,0                                         (becomes=200)
-153   (73) |traffic@64,16                                        (becomes=201)
-154   (74) |traffic@64,0                                         (becomes=202)
-155   (75) |traffic@64,16                                        (becomes=203)
-156   (76) |traffic@64,192                                       (becomes=204)
-157   roads@0,32 |traffic@64,0  |roadwire@0,0   (conducts)(becomes=205)(description=#7)(behavior=ROAD)
-158   roads@0,48 |traffic@64,16 |roadwire@0,16  (conducts)(becomes=206)(description=#7)(behavior=ROAD)
-159   roads@0,240                                                (becomes=207)(description=#7)(behavior=ROAD)
-160   (64) |traffic@80,0                                         (becomes=144)
-161   (65) |traffic@80,16                                        (becomes=145)
-162   (66) |traffic@80,0                                         (becomes=146)
-163   (67) |traffic@80,16                                        (becomes=147)
-164   (68) |traffic@80,64                                        (becomes=148)
-165   (69) |traffic@80,80                                        (becomes=149)
-166   (70) |traffic@80,96                                        (becomes=150)
-167   (71) |traffic@80,112                                       (becomes=151)
-168   (72) |traffic@80,0                                         (becomes=152)
-169   (73) |traffic@80,16                                        (becomes=153)
-170   (74) |traffic@80,0                                         (becomes=154)
-171   (75) |traffic@80,16                                        (becomes=155)
-172   (76) |traffic@80,192                                       (becomes=156)
-173   roads@0,32 |traffic@80,0  |roadwire@0,0   (conducts)(becomes=157)(description=#7)(behavior=ROAD)
-174   roads@0,48 |traffic@80,16 |roadwire@0,16  (conducts)(becomes=158)(description=#7)(behavior=ROAD)
-175   roads@0,240                                                (becomes=159)(description=#7)(behavior=ROAD)
-176   (64) |traffic@96,0                                         (becomes=160)
-177   (65) |traffic@96,16                                        (becomes=161)
-178   (66) |traffic@96,0                                         (becomes=162)
-179   (67) |traffic@96,16                                        (becomes=163)
-180   (68) |traffic@96,64                                        (becomes=164)
-181   (69) |traffic@96,80                                        (becomes=165)
-182   (70) |traffic@96,96                                        (becomes=166)
-183   (71) |traffic@96,112                                       (becomes=167)
-184   (72) |traffic@96,0                                         (becomes=168)
-185   (73) |traffic@96,16                                        (becomes=169)
-186   (74) |traffic@96,0                                         (becomes=170)
-187   (75) |traffic@96,16                                        (becomes=171)
-188   (76) |traffic@96,192                                       (becomes=172)
-189   roads@0,32 |traffic@96,0  |roadwire@0,0   (conducts)(becomes=173)(description=#7)(behavior=ROAD)
-190   roads@0,48 |traffic@96,16 |roadwire@0,16  (conducts)(becomes=174)(description=#7)(behavior=ROAD)
-191   roads@0,240                                                (becomes=175)(description=#7)(behavior=ROAD)
-192   (64) |traffic@112,0                                        (becomes=176)
-193   (65) |traffic@112,16                                       (becomes=177)
-194   (66) |traffic@112,0                                        (becomes=178)
-195   (67) |traffic@112,16                                       (becomes=179)
-196   (68) |traffic@112,64                                       (becomes=180)
-197   (69) |traffic@112,80                                       (becomes=181)
-198   (70) |traffic@112,96                                       (becomes=182)
-199   (71) |traffic@112,112                                      (becomes=183)
-200   (72) |traffic@112,0                                        (becomes=184)
-201   (73) |traffic@112,16                                       (becomes=185)
-202   (74) |traffic@112,0                                        (becomes=186)
-203   (75) |traffic@112,16                                       (becomes=187)
-204   (76) |traffic@112,192                                      (becomes=188)
-205   roads@0,32 |traffic@112,0  |roadwire@0,0  (conducts)(becomes=189)(description=#7)(behavior=ROAD)
-206   roads@0,48 |traffic@112,16 |roadwire@0,16 (conducts)(becomes=190)(description=#7)(behavior=ROAD)
-207   roads@0,240                                                (becomes=191)(description=#7)(behavior=ROAD)
+144   (64) |traffic@64,0                                         (becomes=192)(pollution=75)
+145   (65) |traffic@64,16                                        (becomes=193)(pollution=75)
+146   (66) |traffic@64,0                                         (becomes=194)(pollution=75)
+147   (67) |traffic@64,16                                        (becomes=195)(pollution=75)
+148   (68) |traffic@64,64                                        (becomes=196)(pollution=75)
+149   (69) |traffic@64,80                                        (becomes=197)(pollution=75)
+150   (70) |traffic@64,96                                        (becomes=198)(pollution=75)
+151   (71) |traffic@64,112                                       (becomes=199)(pollution=75)
+152   (72) |traffic@64,0                                         (becomes=200)(pollution=75)
+153   (73) |traffic@64,16                                        (becomes=201)(pollution=75)
+154   (74) |traffic@64,0                                         (becomes=202)(pollution=75)
+155   (75) |traffic@64,16                                        (becomes=203)(pollution=75)
+156   (76) |traffic@64,192                                       (becomes=204)(pollution=75)
+157   roads@0,32 |traffic@64,0  |roadwire@0,0   (conducts)(becomes=205)(description=#7)(behavior=ROAD)(pollution=75)
+158   roads@0,48 |traffic@64,16 |roadwire@0,16  (conducts)(becomes=206)(description=#7)(behavior=ROAD)(pollution=75)
+159   roads@0,240                                                (becomes=207)(description=#7)(behavior=ROAD)(pollution=75)
+160   (64) |traffic@80,0                                         (becomes=144)(pollution=75)
+161   (65) |traffic@80,16                                        (becomes=145)(pollution=75)
+162   (66) |traffic@80,0                                         (becomes=146)(pollution=75)
+163   (67) |traffic@80,16                                        (becomes=147)(pollution=75)
+164   (68) |traffic@80,64                                        (becomes=148)(pollution=75)
+165   (69) |traffic@80,80                                        (becomes=149)(pollution=75)
+166   (70) |traffic@80,96                                        (becomes=150)(pollution=75)
+167   (71) |traffic@80,112                                       (becomes=151)(pollution=75)
+168   (72) |traffic@80,0                                         (becomes=152)(pollution=75)
+169   (73) |traffic@80,16                                        (becomes=153)(pollution=75)
+170   (74) |traffic@80,0                                         (becomes=154)(pollution=75)
+171   (75) |traffic@80,16                                        (becomes=155)(pollution=75)
+172   (76) |traffic@80,192                                       (becomes=156)(pollution=75)
+173   roads@0,32 |traffic@80,0  |roadwire@0,0   (conducts)(becomes=157)(description=#7)(behavior=ROAD)(pollution=75)
+174   roads@0,48 |traffic@80,16 |roadwire@0,16  (conducts)(becomes=158)(description=#7)(behavior=ROAD)(pollution=75)
+175   roads@0,240                                                (becomes=159)(description=#7)(behavior=ROAD)(pollution=75)
+176   (64) |traffic@96,0                                         (becomes=160)(pollution=75)
+177   (65) |traffic@96,16                                        (becomes=161)(pollution=75)
+178   (66) |traffic@96,0                                         (becomes=162)(pollution=75)
+179   (67) |traffic@96,16                                        (becomes=163)(pollution=75)
+180   (68) |traffic@96,64                                        (becomes=164)(pollution=75)
+181   (69) |traffic@96,80                                        (becomes=165)(pollution=75)
+182   (70) |traffic@96,96                                        (becomes=166)(pollution=75)
+183   (71) |traffic@96,112                                       (becomes=167)(pollution=75)
+184   (72) |traffic@96,0                                         (becomes=168)(pollution=75)
+185   (73) |traffic@96,16                                        (becomes=169)(pollution=75)
+186   (74) |traffic@96,0                                         (becomes=170)(pollution=75)
+187   (75) |traffic@96,16                                        (becomes=171)(pollution=75)
+188   (76) |traffic@96,192                                       (becomes=172)(pollution=75)
+189   roads@0,32 |traffic@96,0  |roadwire@0,0   (conducts)(becomes=173)(description=#7)(behavior=ROAD)(pollution=75)
+190   roads@0,48 |traffic@96,16 |roadwire@0,16  (conducts)(becomes=174)(description=#7)(behavior=ROAD)(pollution=75)
+191   roads@0,240                                                (becomes=175)(description=#7)(behavior=ROAD)(pollution=75)
+192   (64) |traffic@112,0                                        (becomes=176)(pollution=75)
+193   (65) |traffic@112,16                                       (becomes=177)(pollution=75)
+194   (66) |traffic@112,0                                        (becomes=178)(pollution=75)
+195   (67) |traffic@112,16                                       (becomes=179)(pollution=75)
+196   (68) |traffic@112,64                                       (becomes=180)(pollution=75)
+197   (69) |traffic@112,80                                       (becomes=181)(pollution=75)
+198   (70) |traffic@112,96                                       (becomes=182)(pollution=75)
+199   (71) |traffic@112,112                                      (becomes=183)(pollution=75)
+200   (72) |traffic@112,0                                        (becomes=184)(pollution=75)
+201   (73) |traffic@112,16                                       (becomes=185)(pollution=75)
+202   (74) |traffic@112,0                                        (becomes=186)(pollution=75)
+203   (75) |traffic@112,16                                       (becomes=187)(pollution=75)
+204   (76) |traffic@112,192                                      (becomes=188)(pollution=75)
+205   roads@0,32 |traffic@112,0  |roadwire@0,0  (conducts)(becomes=189)(description=#7)(behavior=ROAD)(pollution=75)
+206   roads@0,48 |traffic@112,16 |roadwire@0,16 (conducts)(becomes=190)(description=#7)(behavior=ROAD)(pollution=75)
+207   roads@0,240                                                (becomes=191)(description=#7)(behavior=ROAD)(pollution=75)
 # BEGIN WIRES #
 208   wires@0,0                 (noburn)(conducts)(description=#8)
 209   wires@0,16                (noburn)(conducts)(description=#8)
@@ -643,7 +643,7 @@
 622   ind_zones@16,48        (conducts)
 623   ind_zones@32,48        (conducts)
 624   ind_zones@0,64         (conducts)
-625   ind_zones@16,64  (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=8)(description=#12)
+625   ind_zones@16,64  (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=8)(description=#12)(pollution=50)
 626   ind_zones@32,64        (conducts)
 627   ind_zones@0,80         (conducts)
 628   ind_zones@16,80        (conducts)
@@ -652,7 +652,7 @@
 631   ind_zones@16,96        (conducts)
 632   ind_zones@32,96        (conducts)
 633   ind_zones@0,112        (conducts)
-634   ind_zones@16,112 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=16)(description=#12)
+634   ind_zones@16,112 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=16)(description=#12)(pollution=50)
 635   ind_zones@32,112       (conducts)
 636   ind_zones@0,128        (conducts)
 637   ind_zones@16,128       (conducts)
@@ -661,7 +661,7 @@
 640   ind_zones@16,144       (conducts)
 641   ind_zones@32,144       (conducts)(onpower=884)
 642   ind_zones@0,160        (conducts)
-643   ind_zones@16,160 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=24)(description=#12)
+643   ind_zones@16,160 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=24)(description=#12)(pollution=50)
 644   ind_zones@32,160       (conducts)(onpower=888)
 645   ind_zones@0,176        (conducts)
 646   ind_zones@16,176       (conducts)
@@ -670,7 +670,7 @@
 649   ind_zones@16,192       (conducts)(onpower=892)
 650   ind_zones@32,192       (conducts)(onpower=896)
 651   ind_zones@0,208        (conducts)
-652   ind_zones@16,208 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=32)(description=#12)
+652   ind_zones@16,208 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=32)(description=#12)(pollution=50)
 653   ind_zones@32,208       (conducts)
 654   ind_zones@0,224        (conducts)
 655   ind_zones@16,224       (conducts)
@@ -679,7 +679,7 @@
 658   ind_zones@16,240       (conducts)
 659   ind_zones@32,240       (conducts)
 660   ind_zones@0,256        (conducts)
-661   ind_zones@16,256 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=8)(description=#12)
+661   ind_zones@16,256 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=8)(description=#12)(pollution=50)
 662   ind_zones@32,256       (conducts)
 663   ind_zones@0,272        (conducts)
 664   ind_zones@16,272       (conducts)
@@ -688,7 +688,7 @@
 667   ind_zones@16,288       (conducts)
 668   ind_zones@32,288       (conducts)
 669   ind_zones@0,304        (conducts)
-670   ind_zones@16,304 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=16)(description=#12)
+670   ind_zones@16,304 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=16)(description=#12)(pollution=50)
 671   ind_zones@32,304       (conducts)
 672   ind_zones@0,320        (conducts)
 673   ind_zones@16,320       (conducts)
@@ -697,7 +697,7 @@
 676   ind_zones@16,336       (conducts)(onpower=900)
 677   ind_zones@32,336       (conducts)(onpower=904)
 678   ind_zones@0,352        (conducts)
-679   ind_zones@16,352 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=24)(description=#12)
+679   ind_zones@16,352 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=24)(description=#12)(pollution=50)
 680   ind_zones@32,352       (conducts)
 681   ind_zones@0,368        (conducts)
 682   ind_zones@16,368       (conducts)
@@ -706,7 +706,7 @@
 685   ind_zones@16,384       (conducts)
 686   ind_zones@32,384       (conducts)(onpower=908)
 687   ind_zones@0,400        (conducts)
-688   ind_zones@16,400 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=32)(description=#12)
+688   ind_zones@16,400 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=32)(description=#12)(pollution=50)
 689   ind_zones@32,400       (conducts)(onpower=912)
 690   ind_zones@0,416        (conducts)
 691   ind_zones@16,416       (conducts)
@@ -717,7 +717,7 @@
 695   seaport@32,0           (conducts)
 696   seaport@48,0           (conducts)
 697   seaport@0,16           (conducts)
-698   seaport@16,16    (zone)(conducts)(building=4x4)(behavior=SEAPORT)(description=#13)
+698   seaport@16,16    (zone)(conducts)(building=4x4)(behavior=SEAPORT)(description=#13)(pollution=100)
 699   seaport@32,16          (conducts)
 700   seaport@48,16          (conducts)
 701   seaport@0,32           (conducts)
@@ -736,7 +736,7 @@
 713   airport@64,0           (conducts)
 714   airport@80,0           (conducts)
 715   airport@0,16           (conducts)
-716   airport@16,16    (zone)(conducts)(building=6x6)(behavior=AIRPORT)(description=#14)
+716   airport@16,16    (zone)(conducts)(building=6x6)(behavior=AIRPORT)(description=#14)(pollution=100)
 717   airport@32,16          (conducts)
 718   airport@48,16          (conducts)
 719   airport@64,16          (conducts)
@@ -771,7 +771,7 @@
 747   coal@32,0              (conducts)   (onpower=916)
 748   coal@48,0              (conducts)   (onpower=920)
 749   coal@0,16              (conducts)                                                
-750   coal@16,16       (zone)(conducts)(building=4x4)(behavior=COAL)(description=#15)
+750   coal@16,16       (zone)(conducts)(building=4x4)(behavior=COAL)(description=#15)(pollution=100)
 751   coal@32,16             (conducts)   (onpower=924)
 752   coal@48,16             (conducts)   (onpower=928)
 753   coal@0,32              (conducts)
@@ -861,14 +861,14 @@
 830   misc_animation@0,48   (noburn)(description=#20)
 831   misc_animation@0,64   (noburn)(description=#20)
 # BEGIN RADAR DISH #
-832   misc_animation@0,80   (conducts)(building-part=716,1,-1)(description=#21)   (becomes=833)(onshutdown=711)
-833   misc_animation@0,96   (conducts)(building-part=716,1,-1)(description=#21)   (becomes=834)(onshutdown=711)
-834   misc_animation@0,112  (conducts)(building-part=716,1,-1)(description=#21)   (becomes=835)(onshutdown=711)
-835   misc_animation@0,128  (conducts)(building-part=716,1,-1)(description=#21)   (becomes=836)(onshutdown=711)
-836   misc_animation@0,144  (conducts)(building-part=716,1,-1)(description=#21)   (becomes=837)(onshutdown=711)
-837   misc_animation@0,160  (conducts)(building-part=716,1,-1)(description=#21)   (becomes=838)(onshutdown=711)
-838   misc_animation@0,176  (conducts)(building-part=716,1,-1)(description=#21)   (becomes=839)(onshutdown=711)
-839   misc_animation@0,192  (conducts)(building-part=716,1,-1)(description=#21)   (becomes=832)(onshutdown=711)
+832   misc_animation@0,80   (conducts)(building-part=716,1,-1)(description=#21)   (becomes=833)(onshutdown=711)(pollution=0)
+833   misc_animation@0,96   (conducts)(building-part=716,1,-1)(description=#21)   (becomes=834)(onshutdown=711)(pollution=0)
+834   misc_animation@0,112  (conducts)(building-part=716,1,-1)(description=#21)   (becomes=835)(onshutdown=711)(pollution=0)
+835   misc_animation@0,128  (conducts)(building-part=716,1,-1)(description=#21)   (becomes=836)(onshutdown=711)(pollution=0)
+836   misc_animation@0,144  (conducts)(building-part=716,1,-1)(description=#21)   (becomes=837)(onshutdown=711)(pollution=0)
+837   misc_animation@0,160  (conducts)(building-part=716,1,-1)(description=#21)   (becomes=838)(onshutdown=711)(pollution=0)
+838   misc_animation@0,176  (conducts)(building-part=716,1,-1)(description=#21)   (becomes=839)(onshutdown=711)(pollution=0)
+839   misc_animation@0,192  (conducts)(building-part=716,1,-1)(description=#21)   (becomes=832)(onshutdown=711)(pollution=0)
 # BEGIN FOUNTAIN #
 840   misc_animation@0,208                                       (description=#22)(becomes=841)
 841   misc_animation@0,224                                       (description=#22)(becomes=842)
@@ -884,14 +884,14 @@
 850   misc_animation@0,368                                       (becomes=851)
 851   misc_animation@0,384                                       (becomes=844)
 # BEGIN INDUSTRIAL ANIMATION (8 frames) #
-852   misc_animation@0,400  (conducts)(building-part=625,-1,-1)      (becomes=853)(onshutdown=621)
-853   misc_animation@0,416  (conducts)(building-part=625,-1,-1)      (becomes=854)(onshutdown=621)
-854   misc_animation@0,432  (conducts)(building-part=625,-1,-1)      (becomes=855)(onshutdown=621)
-855   misc_animation@0,448  (conducts)(building-part=625,-1,-1)      (becomes=856)(onshutdown=621)
-856   misc_animation@0,464  (conducts)(building-part=625,-1,-1)      (becomes=857)(onshutdown=621)
-857   misc_animation@0,480  (conducts)(building-part=625,-1,-1)      (becomes=858)(onshutdown=621)
-858   misc_animation@0,496  (conducts)(building-part=625,-1,-1)      (becomes=859)(onshutdown=621)
-859   misc_animation@0,512  (conducts)(building-part=625,-1,-1)      (becomes=852)(onshutdown=621)
+852   misc_animation@0,400  (conducts)(building-part=625,-1,-1)      (becomes=853)(onshutdown=621)(pollution=0)
+853   misc_animation@0,416  (conducts)(building-part=625,-1,-1)      (becomes=854)(onshutdown=621)(pollution=0)
+854   misc_animation@0,432  (conducts)(building-part=625,-1,-1)      (becomes=855)(onshutdown=621)(pollution=0)
+855   misc_animation@0,448  (conducts)(building-part=625,-1,-1)      (becomes=856)(onshutdown=621)(pollution=0)
+856   misc_animation@0,464  (conducts)(building-part=625,-1,-1)      (becomes=857)(onshutdown=621)(pollution=0)
+857   misc_animation@0,480  (conducts)(building-part=625,-1,-1)      (becomes=858)(onshutdown=621)(pollution=0)
+858   misc_animation@0,496  (conducts)(building-part=625,-1,-1)      (becomes=859)(onshutdown=621)(pollution=0)
+859   misc_animation@0,512  (conducts)(building-part=625,-1,-1)      (becomes=852)(onshutdown=621)(pollution=0)
 # BEGIN ZONE DESTRUCT & RUBBLIZE #
 860   misc_animation@0,528                                   (noburn)(description=#3)    (becomes=861)
 861   misc_animation@0,544                                   (noburn)(description=#3)    (becomes=862)
@@ -919,55 +919,55 @@
 882   misc_animation@0,880
 883   misc_animation@0,896
 # BEGIN SMOKE STACKS #
-884   misc_animation@0,912  (conducts)(building-part=643,1,-1)(becomes=885)(onshutdown=641)
-885   misc_animation@0,928  (conducts)(building-part=643,1,-1)(becomes=886)(onshutdown=641)
-886   misc_animation@0,944  (conducts)(building-part=643,1,-1)(becomes=887)(onshutdown=641)
-887   misc_animation@0,960  (conducts)(building-part=643,1,-1)(becomes=884)(onshutdown=641)
-888   misc_animation@0,976  (conducts)(building-part=643,1,0) (becomes=889)(onshutdown=644)
-889   misc_animation@0,992  (conducts)(building-part=643,1,0) (becomes=890)(onshutdown=644)
-890   misc_animation@0,1008 (conducts)(building-part=643,1,0) (becomes=891)(onshutdown=644)
-891   misc_animation@0,1024 (conducts)(building-part=643,1,0) (becomes=888)(onshutdown=644)
-892   misc_animation@0,1040 (conducts)(building-part=652,0,-1)(becomes=893)(onshutdown=649)
-893   misc_animation@0,1056 (conducts)(building-part=652,0,-1)(becomes=894)(onshutdown=649)
-894   misc_animation@0,1072 (conducts)(building-part=652,0,-1)(becomes=895)(onshutdown=649)
-895   misc_animation@0,1088 (conducts)(building-part=652,0,-1)(becomes=892)(onshutdown=649)
-896   misc_animation@0,1104 (conducts)(building-part=652,1,-1)(becomes=897)(onshutdown=650)
-897   misc_animation@0,1120 (conducts)(building-part=652,1,-1)(becomes=898)(onshutdown=650)
-898   misc_animation@0,1136 (conducts)(building-part=652,1,-1)(becomes=899)(onshutdown=650)
-899   misc_animation@0,1152 (conducts)(building-part=652,1,-1)(becomes=896)(onshutdown=650)
-900   misc_animation@0,1168 (conducts)(building-part=679,0,-1)(becomes=901)(onshutdown=676)
-901   misc_animation@0,1184 (conducts)(building-part=679,0,-1)(becomes=902)(onshutdown=676)
-902   misc_animation@0,1200 (conducts)(building-part=679,0,-1)(becomes=903)(onshutdown=676)
-903   misc_animation@0,1216 (conducts)(building-part=679,0,-1)(becomes=900)(onshutdown=676)
-904   misc_animation@0,1232 (conducts)(building-part=679,1,-1)(becomes=905)(onshutdown=677)
-905   misc_animation@0,1248 (conducts)(building-part=679,1,-1)(becomes=906)(onshutdown=677)
-906   misc_animation@0,1264 (conducts)(building-part=679,1,-1)(becomes=907)(onshutdown=677)
-907   misc_animation@0,1280 (conducts)(building-part=679,1,-1)(becomes=904)(onshutdown=677)
-908   misc_animation@0,1296 (conducts)(building-part=688,1,-1)(becomes=909)(onshutdown=686)
-909   misc_animation@0,1312 (conducts)(building-part=688,1,-1)(becomes=910)(onshutdown=686)
-910   misc_animation@0,1328 (conducts)(building-part=688,1,-1)(becomes=911)(onshutdown=686)
-911   misc_animation@0,1344 (conducts)(building-part=688,1,-1)(becomes=908)(onshutdown=686)
-912   misc_animation@0,1360 (conducts)(building-part=688,1,0) (becomes=913)(onshutdown=689)
-913   misc_animation@0,1376 (conducts)(building-part=688,1,0) (becomes=914)(onshutdown=689)
-914   misc_animation@0,1392 (conducts)(building-part=688,1,0) (becomes=915)(onshutdown=689)
-915   misc_animation@0,1408 (conducts)(building-part=688,1,0) (becomes=912)(onshutdown=689)
+884   misc_animation@0,912  (conducts)(building-part=643,1,-1)(becomes=885)(onshutdown=641)(pollution=0)
+885   misc_animation@0,928  (conducts)(building-part=643,1,-1)(becomes=886)(onshutdown=641)(pollution=0)
+886   misc_animation@0,944  (conducts)(building-part=643,1,-1)(becomes=887)(onshutdown=641)(pollution=0)
+887   misc_animation@0,960  (conducts)(building-part=643,1,-1)(becomes=884)(onshutdown=641)(pollution=0)
+888   misc_animation@0,976  (conducts)(building-part=643,1,0) (becomes=889)(onshutdown=644)(pollution=0)
+889   misc_animation@0,992  (conducts)(building-part=643,1,0) (becomes=890)(onshutdown=644)(pollution=0)
+890   misc_animation@0,1008 (conducts)(building-part=643,1,0) (becomes=891)(onshutdown=644)(pollution=0)
+891   misc_animation@0,1024 (conducts)(building-part=643,1,0) (becomes=888)(onshutdown=644)(pollution=0)
+892   misc_animation@0,1040 (conducts)(building-part=652,0,-1)(becomes=893)(onshutdown=649)(pollution=0)
+893   misc_animation@0,1056 (conducts)(building-part=652,0,-1)(becomes=894)(onshutdown=649)(pollution=0)
+894   misc_animation@0,1072 (conducts)(building-part=652,0,-1)(becomes=895)(onshutdown=649)(pollution=0)
+895   misc_animation@0,1088 (conducts)(building-part=652,0,-1)(becomes=892)(onshutdown=649)(pollution=0)
+896   misc_animation@0,1104 (conducts)(building-part=652,1,-1)(becomes=897)(onshutdown=650)(pollution=0)
+897   misc_animation@0,1120 (conducts)(building-part=652,1,-1)(becomes=898)(onshutdown=650)(pollution=0)
+898   misc_animation@0,1136 (conducts)(building-part=652,1,-1)(becomes=899)(onshutdown=650)(pollution=0)
+899   misc_animation@0,1152 (conducts)(building-part=652,1,-1)(becomes=896)(onshutdown=650)(pollution=0)
+900   misc_animation@0,1168 (conducts)(building-part=679,0,-1)(becomes=901)(onshutdown=676)(pollution=0)
+901   misc_animation@0,1184 (conducts)(building-part=679,0,-1)(becomes=902)(onshutdown=676)(pollution=0)
+902   misc_animation@0,1200 (conducts)(building-part=679,0,-1)(becomes=903)(onshutdown=676)(pollution=0)
+903   misc_animation@0,1216 (conducts)(building-part=679,0,-1)(becomes=900)(onshutdown=676)(pollution=0)
+904   misc_animation@0,1232 (conducts)(building-part=679,1,-1)(becomes=905)(onshutdown=677)(pollution=0)
+905   misc_animation@0,1248 (conducts)(building-part=679,1,-1)(becomes=906)(onshutdown=677)(pollution=0)
+906   misc_animation@0,1264 (conducts)(building-part=679,1,-1)(becomes=907)(onshutdown=677)(pollution=0)
+907   misc_animation@0,1280 (conducts)(building-part=679,1,-1)(becomes=904)(onshutdown=677)(pollution=0)
+908   misc_animation@0,1296 (conducts)(building-part=688,1,-1)(becomes=909)(onshutdown=686)(pollution=0)
+909   misc_animation@0,1312 (conducts)(building-part=688,1,-1)(becomes=910)(onshutdown=686)(pollution=0)
+910   misc_animation@0,1328 (conducts)(building-part=688,1,-1)(becomes=911)(onshutdown=686)(pollution=0)
+911   misc_animation@0,1344 (conducts)(building-part=688,1,-1)(becomes=908)(onshutdown=686)(pollution=0)
+912   misc_animation@0,1360 (conducts)(building-part=688,1,0) (becomes=913)(onshutdown=689)(pollution=0)
+913   misc_animation@0,1376 (conducts)(building-part=688,1,0) (becomes=914)(onshutdown=689)(pollution=0)
+914   misc_animation@0,1392 (conducts)(building-part=688,1,0) (becomes=915)(onshutdown=689)(pollution=0)
+915   misc_animation@0,1408 (conducts)(building-part=688,1,0) (becomes=912)(onshutdown=689)(pollution=0)
 # BEGIN COAL PLANT SMOKE #
-916   misc_animation@0,1424 (conducts)(building-part=750,1,-1)(becomes=917)(onshutdown=747)
-917   misc_animation@0,1440 (conducts)(building-part=750,1,-1)(becomes=918)(onshutdown=747)
-918   misc_animation@0,1456 (conducts)(building-part=750,1,-1)(becomes=919)(onshutdown=747)
-919   misc_animation@0,1472 (conducts)(building-part=750,1,-1)(becomes=916)(onshutdown=747)
-920   misc_animation@0,1488 (conducts)(building-part=750,2,-1)(becomes=921)(onshutdown=748)
-921   misc_animation@0,1504 (conducts)(building-part=750,2,-1)(becomes=922)(onshutdown=748)
-922   misc_animation@0,1520 (conducts)(building-part=750,2,-1)(becomes=923)(onshutdown=748)
-923   misc_animation@0,1536 (conducts)(building-part=750,2,-1)(becomes=920)(onshutdown=748)
-924   misc_animation@0,1552 (conducts)(building-part=750,1,0) (becomes=925)(onshutdown=751)
-925   misc_animation@0,1568 (conducts)(building-part=750,1,0) (becomes=926)(onshutdown=751)
-926   misc_animation@0,1584 (conducts)(building-part=750,1,0) (becomes=927)(onshutdown=751)
-927   misc_animation@0,1600 (conducts)(building-part=750,1,0) (becomes=924)(onshutdown=751)
-928   misc_animation@0,1616 (conducts)(building-part=750,2,0) (becomes=929)(onshutdown=752)
-929   misc_animation@0,1632 (conducts)(building-part=750,2,0) (becomes=930)(onshutdown=752)
-930   misc_animation@0,1648 (conducts)(building-part=750,2,0) (becomes=931)(onshutdown=752)
-931   misc_animation@0,1664 (conducts)(building-part=750,2,0) (becomes=928)(onshutdown=752)
+916   misc_animation@0,1424 (conducts)(building-part=750,1,-1)(becomes=917)(onshutdown=747)(pollution=0)
+917   misc_animation@0,1440 (conducts)(building-part=750,1,-1)(becomes=918)(onshutdown=747)(pollution=0)
+918   misc_animation@0,1456 (conducts)(building-part=750,1,-1)(becomes=919)(onshutdown=747)(pollution=0)
+919   misc_animation@0,1472 (conducts)(building-part=750,1,-1)(becomes=916)(onshutdown=747)(pollution=0)
+920   misc_animation@0,1488 (conducts)(building-part=750,2,-1)(becomes=921)(onshutdown=748)(pollution=0)
+921   misc_animation@0,1504 (conducts)(building-part=750,2,-1)(becomes=922)(onshutdown=748)(pollution=0)
+922   misc_animation@0,1520 (conducts)(building-part=750,2,-1)(becomes=923)(onshutdown=748)(pollution=0)
+923   misc_animation@0,1536 (conducts)(building-part=750,2,-1)(becomes=920)(onshutdown=748)(pollution=0)
+924   misc_animation@0,1552 (conducts)(building-part=750,1,0) (becomes=925)(onshutdown=751)(pollution=0)
+925   misc_animation@0,1568 (conducts)(building-part=750,1,0) (becomes=926)(onshutdown=751)(pollution=0)
+926   misc_animation@0,1584 (conducts)(building-part=750,1,0) (becomes=927)(onshutdown=751)(pollution=0)
+927   misc_animation@0,1600 (conducts)(building-part=750,1,0) (becomes=924)(onshutdown=751)(pollution=0)
+928   misc_animation@0,1616 (conducts)(building-part=750,2,0) (becomes=929)(onshutdown=752)(pollution=0)
+929   misc_animation@0,1632 (conducts)(building-part=750,2,0) (becomes=930)(onshutdown=752)(pollution=0)
+930   misc_animation@0,1648 (conducts)(building-part=750,2,0) (becomes=931)(onshutdown=752)(pollution=0)
+931   misc_animation@0,1664 (conducts)(building-part=750,2,0) (becomes=928)(onshutdown=752)(pollution=0)
 # BEGIN STADIUM PLAYFIELD #
 #   Note: the original source code made these unburnable, which doesn't make sense
 932   misc_animation@0,1680 (conducts)(description=#24)(becomes=933)
diff --git a/src/micropolisj/engine/TileConstants.java b/src/micropolisj/engine/TileConstants.java
index ef34d70..b752191 100644
--- a/src/micropolisj/engine/TileConstants.java
+++ b/src/micropolisj/engine/TileConstants.java
@@ -265,34 +265,8 @@ public class TileConstants
 
 	public static int getPollutionValue(int tile)
 	{
-		tile &= LOMASK;
-
-		if (tile < POWERBASE)
-		{
-			if (tile >= HTRFBASE)
-				return 75; //heavy traffic
-			if (tile >= LTRFBASE)
-				return 50; //light traffic
-
-			if (isFire(tile))
-				return 90; //active fire
-
-			if (isRadioactive(tile))
-				return 255; //radioactivity
-
-			return 0;
-		}
-
-		if (tile <= LASTIND)
-			return 0;
-
-		if (tile < PORTBASE)
-			return 50;
-
-		if (tile <= LASTPOWERPLANT)
-			return 100;
-
-		return 0;
+		TileSpec spec = Tiles.get(tile & LOMASK);
+		return spec != null ? spec.getPollutionValue() : 0;
 	}
 
 	public static boolean isAnimated(int tile)
diff --git a/src/micropolisj/engine/TileSpec.java b/src/micropolisj/engine/TileSpec.java
index 7bc668f..89733ef 100644
--- a/src/micropolisj/engine/TileSpec.java
+++ b/src/micropolisj/engine/TileSpec.java
@@ -95,6 +95,21 @@ public class TileSpec
 		return images.toArray(new String[0]);
 	}
 
+	public int getPollutionValue()
+	{
+		String v = getAttribute("pollution");
+		if (v != null) {
+			return Integer.parseInt(v);
+		}
+		else if (owner != null) {
+			// pollution inherits from building tile
+			return owner.getPollutionValue();
+		}
+		else {
+			return 0;
+		}
+	}
+
 	public int getPopulation()
 	{
 		String v = getAttribute("population");