summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/beam.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-10-27 11:52:27 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-10-27 11:52:27 +0000
commit5006d9b274c850a3af4768439c23af0827f55077 (patch)
treed8e752463cfe11953ff9302e9e779bdfe05a5089 /crawl-ref/source/beam.cc
parentb1441dfff0759a18f88f1f603663c6ed376acdcd (diff)
downloadcrawl-ref-5006d9b274c850a3af4768439c23af0827f55077.tar.gz
crawl-ref-5006d9b274c850a3af4768439c23af0827f55077.zip
Weakened control demon demonspawn power (syllogism).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2624 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/beam.cc')
-rw-r--r--crawl-ref/source/beam.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index 107177c624..1fa6119937 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -4094,21 +4094,27 @@ static int affect_monster_enchantment(bolt &beam, monsters *mon)
"HD: %d; pow: %d", mon->hit_dice, beam.ench_power );
#endif
- if (mon->hit_dice * 7 >= random2(beam.ench_power)
+ if (mon->hit_dice * 11 / 2 >= random2(beam.ench_power)
|| mons_is_unique(mon->type))
{
return (MON_RESIST);
}
// already friendly
- if (mon->attitude == ATT_FRIENDLY)
+ if (mons_friendly(mon))
return (MON_UNAFFECTED);
simple_monster_message(mon, " is enslaved.");
beam.obvious_effect = true;
// wow, permanent enslaving
- mon->attitude = ATT_FRIENDLY;
+ if (one_chance_in(2 + mon->hit_dice / 4))
+ mon->attitude = ATT_FRIENDLY;
+ else
+ mon->add_ench(ENCH_CHARM);
+
+ // break fleeing and suchlike
+ mon->behaviour = BEH_SEEK;
return (MON_AFFECTED);
}