Lower base draconian chances in polymorph
authortheTower <mwclaws@gmail.com>
Thu, 18 Sep 2014 03:12:49 +0000 (23:12 -0400)
committertheTower <mwclaws@gmail.com>
Thu, 18 Sep 2014 03:12:49 +0000 (23:12 -0400)
Partially reverts 83cf5beb322. While it is fully logical to not have polymorph
rules change depending on the branch, without the code base draconians become
much more common polymorph targets around hd 14, which is silly considering
they're not really seperate monster entirely for this purpose compared to, say,
ugly things. This adds the code back in a slightly reduced form to lower their
chances.

crawl-ref/source/mon-poly.cc

index e4078b0..d551726 100644 (file)
@@ -129,6 +129,15 @@ static bool _valid_morph(monster* mons, monster_type new_mclass)
         return false;
     }
 
+    // [hm] Lower base draconian chances since there are nine of them,
+    // and they shouldn't each count for a full chance.
+    if (mons_genus(new_mclass) == MONS_DRACONIAN
+        && new_mclass != MONS_DRACONIAN
+        && !one_chance_in(9))
+    {
+        return false;
+    }
+
     // Various inappropriate polymorph targets.
     if (mons_class_holiness(new_mclass) != mons_class_holiness(old_mclass)
         || mons_class_flag(new_mclass, M_UNFINISHED)  // no unfinished monsters