summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/dat/descript/items.txt4
-rw-r--r--crawl-ref/source/itemprop-enum.h4
-rw-r--r--crawl-ref/source/itemprop.cc18
-rw-r--r--crawl-ref/source/makeitem.cc1
-rw-r--r--crawl-ref/source/shopping.cc1
5 files changed, 23 insertions, 5 deletions
diff --git a/crawl-ref/source/dat/descript/items.txt b/crawl-ref/source/dat/descript/items.txt
index db0366aaa8..25696a5fd8 100644
--- a/crawl-ref/source/dat/descript/items.txt
+++ b/crawl-ref/source/dat/descript/items.txt
@@ -660,6 +660,10 @@ helmet
A piece of metal headgear.
%%%%
+holy scourge
+
+A blessed weapon, woven by the saints in the Heaven, hated by the unholy.
+%%%%
honeycomb
A lump of the delicious honeycomb made by giant bees.
diff --git a/crawl-ref/source/itemprop-enum.h b/crawl-ref/source/itemprop-enum.h
index f913199999..f9dea40511 100644
--- a/crawl-ref/source/itemprop-enum.h
+++ b/crawl-ref/source/itemprop-enum.h
@@ -462,13 +462,13 @@ enum weapon_type
WPN_BLESSED_LONG_SWORD,
WPN_BLESSED_SCIMITAR,
WPN_BLESSED_GREAT_SWORD, // 50
-
WPN_BLESSED_KATANA,
WPN_BLESSED_EUDEMON_BLADE,
WPN_BLESSED_DOUBLE_SWORD,
WPN_BLESSED_TRIPLE_SWORD,
+ WPN_HOLY_SCOURGE,
- NUM_WEAPONS, // 55 - must be last regular member {dlb}
+ NUM_WEAPONS,
// special cases
WPN_UNARMED = 500, // 500
diff --git a/crawl-ref/source/itemprop.cc b/crawl-ref/source/itemprop.cc
index 095d19df50..1c249da23c 100644
--- a/crawl-ref/source/itemprop.cc
+++ b/crawl-ref/source/itemprop.cc
@@ -190,7 +190,10 @@ static weapon_def Weapon_prop[NUM_WEAPONS] =
{ WPN_MORNINGSTAR, "morningstar", 10, -1, 15, 140, 8,
SK_MACES_FLAILS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
DAMV_PIERCING | DAM_BLUDGEON, 10 },
- { WPN_DEMON_WHIP, "demon whip", 10, 1, 11, 30, 2,
+ { WPN_DEMON_WHIP, "demon whip", 12, 1, 11, 30, 2,
+ SK_MACES_FLAILS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
+ DAMV_SLASHING, 2 },
+ { WPN_HOLY_SCOURGE, "holy scourge", 14, 0, 11, 30, 2,
SK_MACES_FLAILS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
DAMV_SLASHING, 2 },
{ WPN_SPIKED_FLAIL, "spiked flail", 12, -2, 16, 190, 8,
@@ -427,7 +430,7 @@ void init_properties()
{
// Compare with enum comments, to catch changes.
COMPILE_CHECK(NUM_ARMOURS == 37, c1);
- COMPILE_CHECK(NUM_WEAPONS == 55, c2);
+ COMPILE_CHECK(NUM_WEAPONS == 56, c2);
COMPILE_CHECK(NUM_MISSILES == 9, c3);
COMPILE_CHECK(NUM_FOODS == 22, c4);
@@ -1325,6 +1328,7 @@ int weapon_rarity( int w_type )
case WPN_BLESSED_DOUBLE_SWORD:
case WPN_BLESSED_GREAT_SWORD:
case WPN_BLESSED_TRIPLE_SWORD:
+ case WPN_HOLY_SCOURGE:
// Zero value weapons must be placed specially -- see make_item() {dlb}
return (0);
@@ -1510,6 +1514,7 @@ bool is_blessed_blade(const item_def &item)
case WPN_BLESSED_DOUBLE_SWORD:
case WPN_BLESSED_GREAT_SWORD:
case WPN_BLESSED_TRIPLE_SWORD:
+ case WPN_HOLY_SCOURGE:
return (true);
default:
@@ -1588,7 +1593,10 @@ bool convert2good(item_def &item, bool allow_blessed)
break;
case WPN_DEMON_WHIP:
- item.sub_type = WPN_WHIP;
+ if (!allow_blessed)
+ item.sub_type = WPN_WHIP;
+ else
+ item.sub_type = WPN_HOLY_SCOURGE;
break;
case WPN_DEMON_TRIDENT:
@@ -1643,6 +1651,10 @@ bool convert2bad(item_def &item)
case WPN_BLESSED_TRIPLE_SWORD:
item.sub_type = WPN_TRIPLE_SWORD;
break;
+
+ case WPN_HOLY_SCOURGE:
+ item.sub_type = WPN_DEMON_WHIP;
+ break;
}
return (true);
diff --git a/crawl-ref/source/makeitem.cc b/crawl-ref/source/makeitem.cc
index f28db5377c..658bec6d19 100644
--- a/crawl-ref/source/makeitem.cc
+++ b/crawl-ref/source/makeitem.cc
@@ -1509,6 +1509,7 @@ static brand_type _determine_weapon_brand(const item_def& item, int item_level)
case WPN_BLESSED_DOUBLE_SWORD:
case WPN_BLESSED_GREAT_SWORD:
case WPN_BLESSED_TRIPLE_SWORD:
+ case WPN_HOLY_SCOURGE:
rc = SPWPN_HOLY_WRATH;
break;
diff --git a/crawl-ref/source/shopping.cc b/crawl-ref/source/shopping.cc
index 5ad10581b9..f058c4e03b 100644
--- a/crawl-ref/source/shopping.cc
+++ b/crawl-ref/source/shopping.cc
@@ -997,6 +997,7 @@ unsigned int item_value( item_def item, bool ident )
case WPN_BLESSED_GREAT_SWORD:
case WPN_BLESSED_TRIPLE_SWORD:
case WPN_LAJATANG:
+ case WPN_HOLY_SCOURGE:
valued += 200;
break;
}