From 5006d9b274c850a3af4768439c23af0827f55077 Mon Sep 17 00:00:00 2001 From: dshaligram Date: Sat, 27 Oct 2007 11:52:27 +0000 Subject: 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 --- crawl-ref/source/beam.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'crawl-ref/source/beam.cc') 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); } -- cgit v1.2.3-54-g00ecf