summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-clone.cc
diff options
context:
space:
mode:
authorDracoOmega <draco_omega@live.com>2013-02-10 13:22:05 -0330
committerNeil Moore <neil@s-z.org>2013-02-10 12:36:48 -0500
commit636092c9456bbb1de93e716dc2eccd0bbeece9a8 (patch)
treeedad9ecab73c34ecaeb9152265fe7c80bce96168 /crawl-ref/source/mon-clone.cc
parentcdabb3185571036fb1d5f0debef1f76dbfa9a6d5 (diff)
downloadcrawl-ref-636092c9456bbb1de93e716dc2eccd0bbeece9a8.tar.gz
crawl-ref-636092c9456bbb1de93e716dc2eccd0bbeece9a8.zip
Veto chaos cloning of battlespheres
Several assumptions of the spell rely on there never being more than one battlesphere belonging to a single actor. If a battlesphere became cloned, the expiry of the effect would only remove the first one, and this would cause a crash when you tried to recast.
Diffstat (limited to 'crawl-ref/source/mon-clone.cc')
-rw-r--r--crawl-ref/source/mon-clone.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/crawl-ref/source/mon-clone.cc b/crawl-ref/source/mon-clone.cc
index d0d57d996c..3de4961984 100644
--- a/crawl-ref/source/mon-clone.cc
+++ b/crawl-ref/source/mon-clone.cc
@@ -216,10 +216,12 @@ void mons_summon_illusion_from(monster* mons, actor *foe,
bool mons_clonable(const monster* mon, bool needs_adjacent)
{
// No uniques or ghost demon monsters. Also, figuring out the name
- // for the clone of a named monster isn't worth it.
+ // for the clone of a named monster isn't worth it, and duplicate
+ // battlespheres with the same owner cause problems with the spell
if (mons_is_unique(mon->type)
|| mons_is_ghost_demon(mon->type)
- || mon->is_named())
+ || mon->is_named()
+ || mon->type == MONS_BATTLESPHERE)
{
return false;
}