From 67d58202ad84dd04ccfd6079fc2665e87ef80fc3 Mon Sep 17 00:00:00 2001 From: disperse Date: Tue, 1 Apr 2025 15:52:45 -0400 Subject: [PATCH] Silver maces Added the silver mace to be the base weapon type of Demonbane. It is appropriate that an artifact weapon designed to slay Demons would be made of (or plated with) silver. This helps to offset the damage reduction when Demonbane was changed from a longsword to a mace and makes it more specialized against silver-haters. Set the probability to 2, equal to that of a silver spear. Increased the weight of the silver mace by 120% -- equal to the weight increase from a normal spear to a silver spear. (Assuming the weapon is silver plated rather than made entirely out of silver.) Increased the base cost to 60, a similar increase as spear to silver spear, to be an even number between silver spear and silver saber. Monsters will prefer silver maces over regular maces. Otherwise, identical in function to a normal mace. --- include/artilist.h | 2 +- include/objects.h | 4 ++++ src/weapon.c | 5 +++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/include/artilist.h b/include/artilist.h index df49ba865..f3ecf2e72 100644 --- a/include/artilist.h +++ b/include/artilist.h @@ -158,7 +158,7 @@ static NEARDATA struct artifact artilist[] = { PHYS(5, 0), NO_DFNS, NO_CARY, 0, A_NONE, NON_PM, NON_PM, 2, 5, 500L, NO_COLOR, DRAGONBANE), - A("Demonbane", MACE, (SPFX_RESTR | SPFX_DFLAG2), 0, M2_DEMON, + A("Demonbane", SILVER_MACE, (SPFX_RESTR | SPFX_DFLAG2), 0, M2_DEMON, PHYS(5, 0), NO_DFNS, NO_CARY, BANISH, A_LAWFUL, PM_CLERIC, NON_PM, 1, 3, 2500L, NO_COLOR, DEMONBANE), diff --git a/include/objects.h b/include/objects.h index 93866d1a5..e7783a2d2 100644 --- a/include/objects.h +++ b/include/objects.h @@ -352,6 +352,10 @@ WEAPON("mace", NoDes, 1, 0, 0, 40, 30, 5, 6, 6, 0, B, P_MACE, IRON, HI_METAL, MACE), /* +1 small */ +WEAPON("silver mace", NoDes, + 1, 0, 0, 2, 36, 60, 6, 6, 0, B, P_MACE, SILVER, HI_SILVER, + SILVER_MACE), + /* +1 small */ WEAPON("morning star", NoDes, 1, 0, 0, 12, 120, 10, 4, 6, 0, B, P_MORNING_STAR, IRON, HI_METAL, MORNING_STAR), diff --git a/src/weapon.c b/src/weapon.c index c2da65a58..1966f5fce 100644 --- a/src/weapon.c +++ b/src/weapon.c @@ -266,6 +266,7 @@ dmgval(struct obj *otmp, struct monst *mon) case IRON_CHAIN: case CROSSBOW_BOLT: case MACE: + case SILVER_MACE: case WAR_HAMMER: case FLAIL: case SPETUM: @@ -686,8 +687,8 @@ static const NEARDATA short hwep[] = { TSURUGI, RUNESWORD, DWARVISH_MATTOCK, TWO_HANDED_SWORD, BATTLE_AXE, KATANA, UNICORN_HORN, CRYSKNIFE, TRIDENT, LONG_SWORD, ELVEN_BROADSWORD, BROADSWORD, SCIMITAR, SILVER_SABER, MORNING_STAR, ELVEN_SHORT_SWORD, - DWARVISH_SHORT_SWORD, SHORT_SWORD, ORCISH_SHORT_SWORD, MACE, AXE, - DWARVISH_SPEAR, SILVER_SPEAR, ELVEN_SPEAR, SPEAR, ORCISH_SPEAR, FLAIL, + DWARVISH_SHORT_SWORD, SHORT_SWORD, ORCISH_SHORT_SWORD, SILVER_MACE, MACE, + AXE, DWARVISH_SPEAR, SILVER_SPEAR, ELVEN_SPEAR, SPEAR, ORCISH_SPEAR, FLAIL, BULLWHIP, QUARTERSTAFF, JAVELIN, AKLYS, CLUB, PICK_AXE, RUBBER_HOSE, WAR_HAMMER, SILVER_DAGGER, ELVEN_DAGGER, DAGGER, ORCISH_DAGGER, ATHAME, SCALPEL, KNIFE, WORM_TOOTH