summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mstuff2.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2006-09-26 08:27:43 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2006-09-26 08:27:43 +0000
commit1f6a4f26c153e8d607afe939e1c2fadb648c1002 (patch)
tree05ac36b74643a469eac4ae6822ae6dd5adf15e9e /crawl-ref/source/mstuff2.cc
parent05b30356b41de3ea68884a6a4cd232efb0b2e66c (diff)
downloadcrawl-ref-1f6a4f26c153e8d607afe939e1c2fadb648c1002.tar.gz
crawl-ref-1f6a4f26c153e8d607afe939e1c2fadb648c1002.zip
Fine-tuned Sif Muna piety numbers a little more.
Moved Channel Energy from Vehumet to Sif Muna at 30 piety. Tweaked ammo destruction numbers. Needles are 1 in 6, stones 1 in 4, darts 1 in 3 and bolts 1 in 4. Changed salamander flame-brand check from check-for-bow to check-for-launcher. Vorpal launchers now work for monsters, launcher base damage is taken into account for monsters. Halved frequency of Okawaru ammo drops. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup@125 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/mstuff2.cc')
-rw-r--r--crawl-ref/source/mstuff2.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/crawl-ref/source/mstuff2.cc b/crawl-ref/source/mstuff2.cc
index 7014752199..2b2fbf508c 100644
--- a/crawl-ref/source/mstuff2.cc
+++ b/crawl-ref/source/mstuff2.cc
@@ -901,9 +901,11 @@ bool mons_throw(struct monsters *monster, struct bolt &pbolt, int hand_used)
int ammoHitBonus = 0, ammoDamBonus = 0; // from thrown or ammo
int lnchHitBonus = 0, lnchDamBonus = 0; // special add from launcher
int exHitBonus = 0, exDamBonus = 0; // 'extra' bonus from skill/dex/str
+ int lnchBaseDam = 0;
int hitMult = 0;
int damMult = 0;
+ int diceMult = 100;
bool launched = false; // item is launched
bool thrown = false; // item is sensible thrown item
@@ -937,6 +939,7 @@ bool mons_throw(struct monsters *monster, struct bolt &pbolt, int hand_used)
{
lnchHitBonus = mitm[ weapon ].plus;
lnchDamBonus = mitm[ weapon ].plus2;
+ lnchBaseDam = property(mitm[weapon], PWPN_DAMAGE);
}
// extract weapon/ammo bonuses due to magic
@@ -1010,7 +1013,10 @@ bool mons_throw(struct monsters *monster, struct bolt &pbolt, int hand_used)
break;
}
- baseDam = property( item, PWPN_DAMAGE );
+ // Launcher is now more important than ammo for base damage.
+ baseDam = property(item, PWPN_DAMAGE);
+ if (lnchBaseDam)
+ baseDam = lnchBaseDam + random2(1 + baseDam);
// missiles don't have pluses2; use hit bonus
ammoDamBonus = ammoHitBonus;
@@ -1043,6 +1049,9 @@ bool mons_throw(struct monsters *monster, struct bolt &pbolt, int hand_used)
if (bow_brand == SPWPN_VENOM && ammo_brand == SPMSL_NORMAL)
set_item_ego_type( item, OBJ_MISSILES, SPMSL_POISONED );
+ // Vorpal brand increases damage dice size.
+ if (bow_brand == SPWPN_VORPAL)
+ diceMult = diceMult * 130 / 100;
// WEAPON or AMMO of FIRE
if ((bow_brand == SPWPN_FLAME || ammo_brand == SPMSL_FLAME)
@@ -1140,6 +1149,8 @@ bool mons_throw(struct monsters *monster, struct bolt &pbolt, int hand_used)
pbolt.damage.size += lnchDamBonus;
pbolt.hit += lnchHitBonus;
}
+
+ pbolt.damage.size = diceMult * pbolt.damage.size / 100;
scale_dice(pbolt.damage);
// decrease inventory