diff options
-rw-r--r-- | crawl-ref/source/dat/descript/items.txt | 4 | ||||
-rw-r--r-- | crawl-ref/source/itemprop-enum.h | 4 | ||||
-rw-r--r-- | crawl-ref/source/itemprop.cc | 18 | ||||
-rw-r--r-- | crawl-ref/source/makeitem.cc | 1 | ||||
-rw-r--r-- | crawl-ref/source/shopping.cc | 1 |
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; } |