summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/cloud.cc
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2007-11-10 01:33:31 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2007-11-10 01:33:31 +0000
commit7a8e0bfea5712c2e1362aefb29a3fcd8f1ef8da2 (patch)
treebf179e8bf466b98b071840eca1aa2910575d9316 /crawl-ref/source/cloud.cc
parent4a591f576e92c1aaba8a2bebff490ca1d2d46bd2 (diff)
downloadcrawl-ref-7a8e0bfea5712c2e1362aefb29a3fcd8f1ef8da2.tar.gz
crawl-ref-7a8e0bfea5712c2e1362aefb29a3fcd8f1ef8da2.zip
A cloud's spread rate now undergoes exponential decay as the cloud
spreads. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2835 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/cloud.cc')
-rw-r--r--crawl-ref/source/cloud.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/crawl-ref/source/cloud.cc b/crawl-ref/source/cloud.cc
index 7af542e463..8306c95766 100644
--- a/crawl-ref/source/cloud.cc
+++ b/crawl-ref/source/cloud.cc
@@ -30,7 +30,7 @@ static unsigned char actual_spread_rate(cloud_type type, int spread_rate)
case CLOUD_STEAM:
case CLOUD_GREY_SMOKE:
case CLOUD_BLACK_SMOKE:
- return 20;
+ return 22;
default:
return 0;
}
@@ -110,7 +110,10 @@ static void dissipate_cloud(int cc, cloud_struct &cloud, int dissipate)
cloud.decay -= dissipate;
if (random2(100) < cloud.spread_rate)
+ {
+ cloud.spread_rate -= div_rand_round(cloud.spread_rate, 10);
cloud.decay -= spread_cloud(cloud);
+ }
// check for total dissipation and handle accordingly:
if (cloud.decay < 1)