summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mstuff2.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mstuff2.cc')
-rw-r--r--crawl-ref/source/mstuff2.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/crawl-ref/source/mstuff2.cc b/crawl-ref/source/mstuff2.cc
index d022bbc713..32ac2be14f 100644
--- a/crawl-ref/source/mstuff2.cc
+++ b/crawl-ref/source/mstuff2.cc
@@ -1066,6 +1066,17 @@ void setup_dragon(struct monsters *monster, struct bolt &pbolt)
pbolt.beam_source = monster_index(monster);
pbolt.thrower = KILL_MON;
pbolt.is_beam = true;
+
+ // accuracy is halved if you're wielding a weapon of dragon slaying
+ // (which makes the dragon/draconian avoid looking at you)
+ if ((mons_genus(monster->type) == MONS_DRAGON
+ || mons_genus(monster->type) == MONS_DRACONIAN)
+ && you.equip[EQ_WEAPON]
+ && get_weapon_brand(you.inv[you.equip[EQ_WEAPON]])
+ == SPWPN_DRAGON_SLAYING)
+ {
+ pbolt.hit /= 2;
+ }
} // end setup_dragon();
void setup_generic_throw(struct monsters *monster, struct bolt &pbolt)