summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/effects.cc23
-rw-r--r--crawl-ref/source/makeitem.cc2
2 files changed, 20 insertions, 5 deletions
diff --git a/crawl-ref/source/effects.cc b/crawl-ref/source/effects.cc
index 5d00413449..098d757386 100644
--- a/crawl-ref/source/effects.cc
+++ b/crawl-ref/source/effects.cc
@@ -1406,17 +1406,30 @@ bool acquirement(object_class_type class_wanted, int agent,
if ((doodad.base_type == OBJ_WEAPONS
&& !can_wield(&doodad, false, true))
|| (doodad.base_type == OBJ_ARMOUR
- && !can_wear_armour(doodad, false, true))
-
- // Trog does not gift the Wrath of Trog.
- || (agent == GOD_TROG && is_fixed_artefact(doodad)
- && doodad.special == SPWPN_WRATH_OF_TROG))
+ && !can_wear_armour(doodad, false, true)))
{
destroy_item(thing_created, true);
thing_created = NON_ITEM;
continue;
}
+ // Trog does not gift the Wrath of Trog, nor
+ // weapons of pain (work together with Necromantic magic)
+ // or holy wrath (blessed by TSO, a god hated by Trog)
+ if (agent == GOD_TROG)
+ {
+ int brand = get_weapon_brand(doodad);
+ if (brand == SPWPN_HOLY_WRATH
+ || brand == SPWPN_PAIN
+ || is_fixed_artefact(doodad)
+ && doodad.special == SPWPN_WRATH_OF_TROG)
+ {
+ destroy_item(thing_created, true);
+ thing_created = NON_ITEM;
+ continue;
+ }
+ }
+
// MT - Check: god-gifted weapons and armor shouldn't kill you.
// Except Xom.
if ((agent == GOD_TROG || agent == GOD_OKAWARU)
diff --git a/crawl-ref/source/makeitem.cc b/crawl-ref/source/makeitem.cc
index eeecee763e..fb43795f29 100644
--- a/crawl-ref/source/makeitem.cc
+++ b/crawl-ref/source/makeitem.cc
@@ -280,6 +280,8 @@ static int newwave_armour_colour(const item_def &item)
item_colour = WHITE;
break;
case ARM_SHIELD:
+ case ARM_LARGE_SHIELD:
+ case ARM_BUCKLER:
item_colour = CYAN;
break;
default: