Make troll and yak genus monsters count as those for dropping hides.
authorAdam Borowski <kilobyte@angband.pl>
Mon, 13 Aug 2012 11:16:29 +0000 (13:16 +0200)
committerAdam Borowski <kilobyte@angband.pl>
Tue, 14 Aug 2012 11:03:23 +0000 (13:03 +0200)
crawl-ref/source/misc.cc
crawl-ref/source/mon-stuff.cc

index 2ea32e9..c8c9525 100644 (file)
@@ -88,7 +88,7 @@ static void _create_monster_hide(const item_def corpse)
     if (corpse.props.exists("never_hide"))
         return;
 
-    const monster_type mons_class = corpse.mon_type;
+    monster_type mons_class = corpse.mon_type;
 
     int o = get_mitm_slot();
     if (o == NON_ITEM)
@@ -106,6 +106,8 @@ static void _create_monster_hide(const item_def corpse)
     item.colour    = mons_class_colour(mons_class);
 
     // These values cannot be set by a reasonable formula: {dlb}
+    if (mons_genus(mons_class) == MONS_TROLL)
+        mons_class = MONS_TROLL;
     switch (mons_class)
     {
     case MONS_DRAGON:         item.sub_type = ARM_FIRE_DRAGON_HIDE;    break;
index 8b9a3e2..20bf762 100644 (file)
@@ -3951,10 +3951,14 @@ bool monster_descriptor(monster_type which_class, mon_desc_type which_descriptor
 {
     if (which_descriptor == MDSC_LEAVES_HIDE)
     {
+        if (mons_genus(which_class) == MONS_TROLL
+            || mons_genus(which_class) == MONS_YAK)
+        {
+            return true;
+        }
         switch (which_class)
         {
         case MONS_DRAGON:
-        case MONS_TROLL:
         case MONS_ICE_DRAGON:
         case MONS_STEAM_DRAGON:
         case MONS_MOTTLED_DRAGON:
@@ -3962,8 +3966,6 @@ bool monster_descriptor(monster_type which_class, mon_desc_type which_descriptor
         case MONS_GOLDEN_DRAGON:
         case MONS_SWAMP_DRAGON:
         case MONS_PEARL_DRAGON:
-        case MONS_YAK:
-        case MONS_SHEEP:
             return true;
         default:
             return false;