summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/transfor.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-13 21:33:23 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-13 21:33:23 +0000
commit36cb1e6187e1826c345597eec2afff77e83988d6 (patch)
tree9f6d5b5211744da44e7e41a000709fbfb7a5d59c /crawl-ref/source/transfor.cc
parenta71e775e717dafe7504d13839dae7d94c40fe1da (diff)
downloadcrawl-ref-36cb1e6187e1826c345597eec2afff77e83988d6.tar.gz
crawl-ref-36cb1e6187e1826c345597eec2afff77e83988d6.zip
Fix 1992604: monster_los asserting for positions out of bounds.
Mark bees created in bee hives as patrolling. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5789 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/transfor.cc')
-rw-r--r--crawl-ref/source/transfor.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/crawl-ref/source/transfor.cc b/crawl-ref/source/transfor.cc
index de89e0c9f7..6062f56653 100644
--- a/crawl-ref/source/transfor.cc
+++ b/crawl-ref/source/transfor.cc
@@ -151,7 +151,7 @@ static bool check_for_cursed_equipment(const std::set<equipment_type> &remove)
// Count the stat boosts yielded by all items to be removed, and count
// future losses (caused by the transformation) like a current stat boost,
-// as well. If the sum of all bosts of a stat is equal to or greater than
+// as well. If the sum of all boosts of a stat is equal to or greater than
// the current stat, give a message and return true.
bool check_transformation_stat_loss(const std::set<equipment_type> &remove,
int str_loss, int dex_loss, int int_loss,
@@ -162,6 +162,13 @@ bool check_transformation_stat_loss(const std::set<equipment_type> &remove,
int prop_dex = dex_loss;
int prop_int = int_loss;
+ // Might is very much temporary and might run out at any point during
+ // your transformation, possibly resulting in stat loss caused by a
+ // combination of an unequipping (and/or stat lowering) transformation
+ // and Might running out at an inopportune moment.
+ if (you.duration[DUR_MIGHT])
+ prop_str += 5;
+
// Check over all items to be removed.
std::set<equipment_type>::const_iterator iter;
for (iter = remove.begin(); iter != remove.end(); ++iter)