Dungeon Crawl Stone Soup Tracker - DCSS
Viewing Issue Advanced Details
7405 Patches minor sometimes 2013-07-28 19:19 2013-07-28 20:42
chris Local  
neil DOS  
normal Console  
closed 0.13 ancient branch  
done  
none    
none 0.13 ancient branch  
0007405: Remove hammers
From 7736cf354e05254e61957edf5bcbcd9ac89a9a6c Mon Sep 17 00:00:00 2001
From: Chris Oelmueller <chris.oelmueller@gmail.com>
Date: Sun, 28 Jul 2013 00:32:46 +0200
Subject: Do not generate hammers unless defined in a vault

This sets their item rarity to 0 and disallows monsters to spawn with a
hammer as weapon. Yiuf was not harmed in the process.

Their weight of 20 has been redistributed to 19 as follows:
- hand axes (+6) which have the exact same stats
- clubs (+5)
- whips (+5)
- flails (+3)

I also considered a mapping like clubs (+10), maces (+5), flails (+3),
whips (+2) instead but ultimately went for hand axes as suitable filler
because of the exact same stats.
---
 crawl-ref/source/itemprop.cc | 2 +-
 crawl-ref/source/mon-gear.cc | 8 ++++----
 crawl-ref/source/ng-setup.cc | 3 +--
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/crawl-ref/source/itemprop.cc b/crawl-ref/source/itemprop.cc
index d8786c4..f0209a8 100644
--- a/crawl-ref/source/itemprop.cc
+++ b/crawl-ref/source/itemprop.cc
@@ -1336,7 +1336,6 @@ int weapon_rarity(int w_type)
 
     case WPN_BOW:
     case WPN_FLAIL:
-    case WPN_HAMMER:
     case WPN_SABRE:
     case WPN_SHORT_SWORD:
     case WPN_SLING:
@@ -1399,6 +1398,7 @@ int weapon_rarity(int w_type)
     case WPN_TRISHULA:
     case WPN_STAFF:
     case WPN_ROD:
+    case WPN_HAMMER:
         // Zero value weapons must be placed specially -- see make_item() {dlb}
         return 0;
 
diff --git a/crawl-ref/source/mon-gear.cc b/crawl-ref/source/mon-gear.cc
index b51058d..b52d4b1 100644
--- a/crawl-ref/source/mon-gear.cc
+++ b/crawl-ref/source/mon-gear.cc
@@ -504,10 +504,10 @@ static item_make_species_type _give_weapon(monster* mon, int level,
         {
             item.base_type = OBJ_WEAPONS;
             item.sub_type  = random_choose_weighted(
-                30, WPN_DAGGER,      30, WPN_CLUB,
-                27, WPN_FLAIL,       24, WPN_HAND_AXE,
-                20, WPN_HAMMER,      20, WPN_SHORT_SWORD,
-                20, WPN_MACE,        10, WPN_WHIP,
+                35, WPN_CLUB,        30, WPN_DAGGER,
+                30, WPN_FLAIL,       30, WPN_HAND_AXE,
+                20, WPN_SHORT_SWORD,
+                20, WPN_MACE,        15, WPN_WHIP,
                 10, WPN_TRIDENT,     10, WPN_FALCHION,
                 6, WPN_WAR_AXE,      3, WPN_MORNINGSTAR,
                 0);
diff --git a/crawl-ref/source/ng-setup.cc b/crawl-ref/source/ng-setup.cc
index c1dcaff..bbe0950 100644
--- a/crawl-ref/source/ng-setup.cc
+++ b/crawl-ref/source/ng-setup.cc
@@ -925,8 +925,7 @@ static void _give_items_skills(const newgame_def& ng)
         // This is meant to match the En/As start change-up, but Trolls have
         // claws, so they don't get a starting melee weapon (see above).
         // The +1 is meant to make this less sucky; it could be a better
-        // base type, but whips don't seem very hunter-ish and hammers are
-        // used almost nowhere.
+        // base type, but whips don't seem very hunter-ish.
         if (you.species == SP_OGRE)
         {
             you.inv[0].sub_type = WPN_CLUB;
-- 
1.8.3.4
Issue History
2013-07-28 19:19 chris New Issue
2013-07-28 20:37 neil Note Added: 0023583
2013-07-28 20:37 neil Status new => resolved
2013-07-28 20:37 neil Fixed in Branch => 0.13 development branch
2013-07-28 20:37 neil Resolution open => done
2013-07-28 20:37 neil Assigned To => neil
2013-07-28 20:42 chris Status resolved => closed

Notes
(0023583)
neil   
2013-07-28 20:37   
Applied in trunk (0.13-a0-2546-g92a6f35), thanks!