Attached Files |
0001-Increase-the-unrand-limit-from-100-to-200-pending-a-.patch [^] (791 bytes) 2013-11-21 19:47 [Show Content] [Hide Content]From 4aa085172d6a5d658e9e0b3069677adb345a9161 Mon Sep 17 00:00:00 2001
From: wheals <shm.mark@gmail.com>
Date: Thu, 21 Nov 2013 12:56:28 -0500
Subject: [PATCH 1/2] Increase the unrand limit from 100 to 200; pending a save
break, none could be added before this.
---
crawl-ref/source/defines.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crawl-ref/source/defines.h b/crawl-ref/source/defines.h
index fc464f2..9d6dca7 100644
--- a/crawl-ref/source/defines.h
+++ b/crawl-ref/source/defines.h
@@ -227,7 +227,7 @@ const int ANTITRAIN_PENALTY = 2;
#define NUMBER_OF_RUNES_NEEDED 3
// Size of unique_items in player class
-#define MAX_UNRANDARTS 100
+#define MAX_UNRANDARTS 200
// Haste/slow boost.
#define haste_mul(x) div_rand_round((x) * 3, 2)
--
1.8.1.4
0002-Add-a-new-unrand-the-Axe-of-Law.-It-s-a-5-exec-axe-w.patch [^] (4,300 bytes) 2013-11-21 19:49 [Show Content] [Hide Content]From f0f869824accebf98c94924646c13fbff3c32f2c Mon Sep 17 00:00:00 2001
From: wheals <shm.mark@gmail.com>
Date: Thu, 21 Nov 2013 12:57:45 -0500
Subject: [PATCH 2/2] Add a new unrand, the "Axe of Law." It's a +5 exec axe
with silver damage.
Note that due to the way the damage is processed, the silver damage is in separate from the normal damage, instead of being added to it.
---
crawl-ref/source/art-data.txt | 8 +++++-
crawl-ref/source/art-func.h | 44 ++++++++++++++++++++++++++++++++
crawl-ref/source/dat/descript/unrand.txt | 6 +++++
3 files changed, 57 insertions(+), 1 deletion(-)
diff --git a/crawl-ref/source/art-data.txt b/crawl-ref/source/art-data.txt
index 55b5f69..6da4da8 100644
--- a/crawl-ref/source/art-data.txt
+++ b/crawl-ref/source/art-data.txt
@@ -127,7 +127,7 @@
# APPEAR: Unidentified appearance of artifact.
# COLD: Cold resistance/vulnerability.
# COLOUR: The colour of the artifact, either as listed in defines.h
-# (e.g., LIGHTRED) or as listed under element_type in view.h
+# (e.g., LIGHTRED) or as listed under element_type in colour.h
# (e.g., ETC_FIRE)
# CURSED: The artefact has a one-in-num chance of becoming cursed each
# time it's equipped (and is generated cursed).
@@ -1119,6 +1119,12 @@ PLUS: +2
BRAND: SPARM_ARCHMAGI
STEALTH: -20
+NAME: Axe of Law
+INSCRIP: silver
+OBJ: OBJ_WEAPONS/WPN_EXECUTIONERS_AXE
+PLUS: +5/+5
+COLOUR: ETC_SILVER
+
# This is the first of two amulets used to test suppression aura.
# Together, they confer every randart effect except for a few that are
# determined explicitly by checking whether a certain amulet is worn
diff --git a/crawl-ref/source/art-func.h b/crawl-ref/source/art-func.h
index b56b0bf..03fc74e 100644
--- a/crawl-ref/source/art-func.h
+++ b/crawl-ref/source/art-func.h
@@ -36,6 +36,7 @@
#include "spl-miscast.h" // For Staff of Wucad Mu and Scythe of Curses miscasts
#include "spl-summoning.h" // For Zonguldrok animating dead
#include "terrain.h" // For storm bow
+#include "mutation.h" // For silver effects on Axe of Law
/*******************
* Helper functions.
@@ -934,3 +935,46 @@ static void _ELEMENTAL_STAFF_melee_effects(item_def* item, actor* attacker,
defender->name(DESC_THE).c_str());
defender->hurt(attacker, d);
}
+
+///////////////////////////////////////////////////
+
+static void _LAW_melee_effects(item_def* item, actor* attacker,
+ actor* defender, bool mondied, int dam)
+{
+ if (mondied)
+ return;
+
+ int mutated = 0;
+ int silver_dam = 0;
+
+ // For mutation damage, we want to count innate mutations for
+ // the demonspawn, but not for other species.
+ if (you.species == SP_DEMONSPAWN)
+ mutated = how_mutated(true, true);
+ else
+ mutated = how_mutated(false, true);
+
+ if (defender->is_chaotic()
+ || (defender->is_player() && player_is_shapechanged()))
+ {
+ silver_dam = dam;
+ silver_dam *= 3;
+ silver_dam /= 4;
+ }
+ else if (defender->is_player() && mutated > 0)
+ {
+ int multiplier = mutated * 5;
+
+ if (multiplier > 75)
+ multiplier = 75;
+
+ silver_dam = dam * multiplier / 100;
+ }
+
+ if (silver_dam > 0 && !mondied)
+ {
+ if (you.can_see(defender))
+ mprf("The pure silver sears %s!", defender->name(DESC_THE).c_str());
+ defender->hurt(attacker, silver_dam);
+ }
+}
diff --git a/crawl-ref/source/dat/descript/unrand.txt b/crawl-ref/source/dat/descript/unrand.txt
index 038a1dc..a2fbc63 100644
--- a/crawl-ref/source/dat/descript/unrand.txt
+++ b/crawl-ref/source/dat/descript/unrand.txt
@@ -507,6 +507,12 @@ effects from the residual hexes and magical energies it was once subjected to
on a daily basis; spellcasters able to get a handle on its power, however, will
find it enhances their spell power.
%%%%
+Axe of Law
+
+This silver-plated axe was used long ago to execute criminals found guilty by
+the god Zin. Legend tells of its devastating effect against all those Zin
+despises: no armour can defend against its effects.
+%%%%
milk chocolate
This item is a debugging aid, granting a vast array of mostly beneficial
--
1.8.1.4
0001-The-7-7-lajatang-of-the-Crescent-Moon-silver.patch [^] (8,847 bytes) 2013-12-01 22:40 [Show Content] [Hide Content]From a444431a26bd6c3ff1bf31064e2360c1575ae55b Mon Sep 17 00:00:00 2001
From: Steve Melenchuk <smelenchuk@gmail.com>
Date: Fri, 29 Nov 2013 20:25:27 -0700
Subject: [PATCH] The +7,+7 lajatang of the Crescent Moon {silver}.
This takes cues from a few places, such as:
- A Tavern thread: https://crawl.develz.org/tavern/viewtopic.php?f=8&t=8222
- wheals' Axe of Law: https://crawl.develz.org/mantis/view.php?id=7767
I've distilled these down into their purest essence and aimed to avoid
duplication of code.
---
crawl-ref/source/art-data.txt | 10 ++++++++++
crawl-ref/source/art-func.h | 22 +++++++++++++++++++++
crawl-ref/source/dat/descript/unrand.txt | 5 +++++
crawl-ref/source/rltiles/dc-player.txt | 1 +
.../item/weapon/artefact/urand_crescent_moon.png | Bin 0 -> 1188 bytes
.../player/hand1/artefact/crescent_moon.png | Bin 0 -> 823 bytes
crawl-ref/source/throw.cc | 6 +++---
crawl-ref/source/throw.h | 3 +++
8 files changed, 44 insertions(+), 3 deletions(-)
create mode 100644 crawl-ref/source/rltiles/item/weapon/artefact/urand_crescent_moon.png
create mode 100644 crawl-ref/source/rltiles/player/hand1/artefact/crescent_moon.png
diff --git a/crawl-ref/source/art-data.txt b/crawl-ref/source/art-data.txt
index 55b5f69..126b9fa 100644
--- a/crawl-ref/source/art-data.txt
+++ b/crawl-ref/source/art-data.txt
@@ -1119,6 +1119,16 @@ PLUS: +2
BRAND: SPARM_ARCHMAGI
STEALTH: -20
+ENUM: CRESCENT_MOON
+NAME: lajatang of the Crescent Moon
+INSCRIP: silver
+COLOUR: ETC_SILVER
+TILE: urand_crescent_moon
+TILE_EQ: crescent_moon
+OBJ: OBJ_WEAPONS/WPN_LAJATANG
+PLUS: 7/7
+VALUE: 1000
+
# This is the first of two amulets used to test suppression aura.
# Together, they confer every randart effect except for a few that are
# determined explicitly by checking whether a certain amulet is worn
diff --git a/crawl-ref/source/art-func.h b/crawl-ref/source/art-func.h
index 90a741f..9e5f678 100644
--- a/crawl-ref/source/art-func.h
+++ b/crawl-ref/source/art-func.h
@@ -36,6 +36,7 @@
#include "spl-miscast.h" // For Staff of Wucad Mu and Scythe of Curses miscasts
#include "spl-summoning.h" // For Zonguldrok animating dead
#include "terrain.h" // For storm bow
+#include "throw.h" // For Crescent Moon silver damage
/*******************
* Helper functions.
@@ -934,3 +935,24 @@ static void _ELEMENTAL_STAFF_melee_effects(item_def* item, actor* attacker,
defender->name(DESC_THE).c_str());
defender->hurt(attacker, d);
}
+
+///////////////////////////////////////////////////
+
+static void _CRESCENT_MOON_melee_effects(item_def* item, actor* attacker,
+ actor* defender, bool mondied, int dam)
+{
+ if (!mondied)
+ {
+ int tempdam = dam;
+ bolt tempbeam;
+ string msg = "";
+ silver_damages_victim(tempbeam, defender, tempdam, msg);
+ if (tempdam > dam)
+ {
+ tempdam -= dam;
+ if (you.can_see(defender))
+ mpr(msg.c_str());
+ defender->hurt(attacker, tempdam);
+ }
+ }
+}
diff --git a/crawl-ref/source/dat/descript/unrand.txt b/crawl-ref/source/dat/descript/unrand.txt
index b730375..de509b6 100644
--- a/crawl-ref/source/dat/descript/unrand.txt
+++ b/crawl-ref/source/dat/descript/unrand.txt
@@ -507,6 +507,11 @@ effects from the residual hexes and magical energies it was once subjected to
on a daily basis; spellcasters able to get a handle on its power, however, will
find it enhances their spell power.
%%%%
+lajatang of the Crescent Moon
+
+A silver-bladed lajatang, perhaps crafted by some devout priest of Zin. Its
+attacks are lethal to all those tainted by chaos.
+%%%%
milk chocolate
This item is a debugging aid, granting a vast array of mostly beneficial
diff --git a/crawl-ref/source/rltiles/dc-player.txt b/crawl-ref/source/rltiles/dc-player.txt
index a26a87c..e463c82 100644
--- a/crawl-ref/source/rltiles/dc-player.txt
+++ b/crawl-ref/source/rltiles/dc-player.txt
@@ -514,6 +514,7 @@ elemental_staff ELEMENTAL_STAFF
asmodeus ASMODEUS
dispater DISPATER
olgreb OLGREB
+crescent_moon CRESCENT_MOON
## axes
axe_trog AXE_TROG
arga ARGA
diff --git a/crawl-ref/source/rltiles/item/weapon/artefact/urand_crescent_moon.png b/crawl-ref/source/rltiles/item/weapon/artefact/urand_crescent_moon.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a0906b729b607437fd9bb538c2316e26a91344a
GIT binary patch
literal 1188
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabRA=0V3G;&32_B-f#CoD|7fJKu`y5(
z2s%4EXU?1nVOLaC02xo8J_RaXwQ3ba5Xjco*EcaSfp8(@&6_uYjIUq6Lb%_)eFHM?
z-Mjbr@#EL8U%!9<{?esO9UUEe_wJoOeR_L)dt+lG(D2&YTA*nV5E>c^WMpP$Lbz^j
zZl0c=P&qKApr9ZtD+?Fl<Ku&{nVCU;WMX0hk^%w(K+?*}%F)pg$Os4s(AL&AG&BUV
z&CSh$3@t4!OG`^2S5HsR#>NK70E(EInE?fXx`2UTYHF&ku5M&x1T;ZYQ`6nu9ViYo
z2dL7*!UCcN$bh(3Mt~D26%i33E661$CkIp+6ciL28w*tI?CcEj0#IdIT3TLSUPeX+
zP~5}ABQ-U(prD|%v=pcYXcy3Spe~>kCnqO2H@A?GkeZqrP+V76*TBHQ)Yu5<B%m6g
z`+@cXt+2JSw6(Rhv$1w_b@BH0&URGIPfsjxRIDy5s;jGO@YQbj(*#Chx4+uFdGnSm
zS+XKt4;Xi=SFhf@dGnSu!!293Y}>YN_wL<CjvP60;>5|5Cof*Sc>VhIH*el7jh18q
zx}&2c$S)Wepls|MoLpR7+`RmPLc+o#V$y2r8rnL#dL}^USXkQt-QeWp<m&Agos^c5
zomWs+)zH+|(cRrQVbYYTv**lRxNz~Z6|2{*TfcG3maY4b9zApB(&a06?%#j$>eZ{a
z@7@8^#K(`HK7IcD`OB9tU%!3-{^Q5bpFe*=!0$gG@b}-pe`kHuf*BYX*L%7+hE&{|
zJ2^c#*iod-eEZRAMNZXlA+c*M-rZl+E=^Us#HzDmMM;2z$(Ozk0SA`=7ZJv(aV&@A
zMU0%MNtXRQ@cE<7`#r_a&d4}8v~V5`U<#4oT~*b#g~#;3$z|Wtj%vgRaLB#mKP0-O
zZQop`7{^-+|E(}**~z(ukJHZ1W=+6^K<Ca5gPMc;eknasQJTcmbadCIE&FfJm0zOZ
z!6gxOZF_y){Tos5GOMckAMEY>8=qYf8GAh-`l)YM{zeD+6h1R$kB@AQleTQq$yVL;
zz35K!V~e(DhSR^as)|?d`)oSzQS7-d=C|Y+|9$x&wKs0PpzFZ~Tj|`*yvLXqgnia&
zIPoOiNg!&@Jl30L?EagA@?4r`d@^U2-OBI0mhb(Qn+jT*w(7<|wJJXRdHcKGo&A2@
z{5$;FVMkZ@KMZA1dRq0;dUx%|=~o}Uy27BGxp$(_$E@Q2#S&+ZN-f^C=<}Da{53nb
zhZ!3;njTaB_ib*^l^q=$*S@@Ya<^Y^r|+Jr*A4z<{(C(Cr_xQ<Iqgrc+9X_ZdtTSW
zazbXof=iOC_tzO-W^O2S50+o|Fkji$`*rQ3)Bo9*7B@awbLrSmU~*#cboFyt=akR{
E08P#M(f|Me
literal 0
HcmV?d00001
diff --git a/crawl-ref/source/rltiles/player/hand1/artefact/crescent_moon.png b/crawl-ref/source/rltiles/player/hand1/artefact/crescent_moon.png
new file mode 100644
index 0000000000000000000000000000000000000000..76b5cf753ac58449433a479ab182cf50a0cf2c22
GIT binary patch
literal 823
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabRA=0U@Q#q32_B-|C0#5fx-9h-`~G~
z|M20%+qZ8YK74rd=FO{Duim(E<J`G(8yXs#nwnZ$TkGoTN=r*~b90lDk}@(f5)u+3
zA|fIqBR#;t&(F`n!2!tB($X?8FaWY8c-i#y^rZMXfFeMKp`oF^zP^%@5|Fg9u~Ai3
zRhAS2ife0Yo0^(xYHAu88L6wQ1Eqj$pe&H#=H>=8&_J5k)z#J4*Ec9A$WVsQ-QC^G
z%PTxQTv}S%%EBBd1r(Q*l(e<B1S*b+i775F2I{r7wFQcYhKA<n=T}x%0=-~sVFq-3
zNl6LNcMdid2_Zho!Jes6!Re6!Ks7)GZEbCxot@LCPoF=3{)%|LHEY%YRc_g`WzU{H
z2M-=Rbm-9W<HygQJ$wE7bznffeEIUtn>U}GpVR{bJ-H;vFPMRelZ#tGP)J8tPv6AU
z%*NKv-qFd`-PbQDC@e84IW;f8w6d<Nt9#0{wOfxIIeO~UnKNh4p1*YI(&ei+?>u?&
z^4<H7Ux45nFfM-l{PpWM5c~mwzYy>b2u{Yfa|7dA$kW9!q~g}oNv7c}h9a%To@wnq
zDe^je-Me+(fq=n*M}Mk3oDDra4?i?pzvKSSqt^0S=a}CK_IS3e%!u8$Kx0bZ*{Faf
z!-WcVdnRQuSr#964&BM{QdQS`dT*e7JL8Ibzjxf9D;ICKYp*2BJFCP7=c7+f|GxeD
z^J72%wog5BJ7tWl!}ZVkvz>BSnvim&aORY|jt0t0-zTz1a`<Eh3-|>53Z9+$gYC=T
z_XplT$^U=wU`s|K$HhYtQ-z(h)mgeTjwt2oY^*4&x)7c+eVX&j8<Vg7OWbXmc3JL}
zx!vU7pMzhAmtX&T;7sS6n@=))6&=D--``5yo4P1ho6+mnzK{T$O$jq!XfeDC>{)qS
eajk70L;MV0iycQf+}MGU!QkoY=d#Wzp$Py?^NbMy
literal 0
HcmV?d00001
diff --git a/crawl-ref/source/throw.cc b/crawl-ref/source/throw.cc
index 73ab8cd..9c99c22 100644
--- a/crawl-ref/source/throw.cc
+++ b/crawl-ref/source/throw.cc
@@ -612,8 +612,8 @@ static bool _item_penetrates_victim(const bolt &beam, int &used)
return true;
}
-static bool _silver_damages_victim(bolt &beam, actor* victim, int &dmg,
- string &dmg_msg)
+bool silver_damages_victim(bolt &beam, actor* victim, int &dmg,
+ string &dmg_msg)
{
int mutated = 0;
@@ -1201,7 +1201,7 @@ static bool _setup_missile_beam(const actor *agent, bolt &beam, item_def &item,
ASSERT(beam.flavour == BEAM_MISSILE || !is_artefact(item));
if (silver)
- beam.damage_funcs.push_back(_silver_damages_victim);
+ beam.damage_funcs.push_back(silver_damages_victim);
if (poisoned)
beam.hit_funcs.push_back(_poison_hit_victim);
if (penetrating)
diff --git a/crawl-ref/source/throw.h b/crawl-ref/source/throw.h
index 32453d4..c413657 100644
--- a/crawl-ref/source/throw.h
+++ b/crawl-ref/source/throw.h
@@ -34,6 +34,9 @@ int get_ammo_to_shoot(int item, dist &target, bool teleport = false);
void fire_thing(int item = -1);
void throw_item_no_quiver(void);
+bool silver_damages_victim(bolt &beam, actor* victim, int &dmg,
+ string &dmg_msg);
+
bool throw_it(bolt &pbolt, int throw_2, bool teleport = false,
int acc_bonus = 0, dist *target = NULL);
--
1.8.5.rc1
0001-The-7-7-tipstaff-of-Order-silver-rMut.patch [^] (6,888 bytes) 2013-12-17 20:56 [Show Content] [Hide Content]From 9e78aa2fbdeb70a835a056f30fa604db074064da Mon Sep 17 00:00:00 2001
From: wheals <shm.mark@gmail.com>
Date: Tue, 17 Dec 2013 14:27:30 -0500
Subject: [PATCH] The +7,+7 tipstaff of Order {silver, rMut}
This patch is mostly based off of Grunt's lajatang of the Silver Moon patch, at
least in code. pubby suggested that it be a tipstaff, which i just made a base
type redefine that is identical to a lajatang, but without slashing. (Yes, it
seems that tipstaves are really more and M&F type weapon than a staff; see
??realism of crawl for an explanation.
I gave it rMut as something interesting and as a possible reason to keep it
around even if it isn't the best weapon against many things. Credit to argonaut
for unintentionally helping me find the player_equip_unrand() function.
---
crawl-ref/source/actor.cc | 4 +++-
crawl-ref/source/art-data.txt | 12 ++++++++++++
crawl-ref/source/art-func.h | 27 +++++++++++++++++++++++++++
crawl-ref/source/dat/descript/unrand.txt | 10 ++++++++++
crawl-ref/source/rltiles/dc-player.txt | 1 +
crawl-ref/source/throw.cc | 6 +++---
crawl-ref/source/throw.h | 3 +++
7 files changed, 59 insertions(+), 4 deletions(-)
diff --git a/crawl-ref/source/actor.cc b/crawl-ref/source/actor.cc
index 43f1fff..d21dd67 100644
--- a/crawl-ref/source/actor.cc
+++ b/crawl-ref/source/actor.cc
@@ -4,6 +4,7 @@
#include "actor.h"
#include "areas.h"
#include "artefact.h"
+#include "art-enum.h"
#include "attack.h"
#include "coord.h"
#include "env.h"
@@ -330,7 +331,8 @@ bool actor::no_cast(bool calc_unid, bool items) const
bool actor::rmut_from_item(bool calc_unid) const
{
- return wearing(EQ_AMULET, AMU_RESIST_MUTATION, calc_unid);
+ return wearing(EQ_AMULET, AMU_RESIST_MUTATION, calc_unid)
+ || is_player() && player_equip_unrand(UNRAND_TIPSTAFF);
}
bool actor::evokable_berserk(bool calc_unid) const
diff --git a/crawl-ref/source/art-data.txt b/crawl-ref/source/art-data.txt
index 77c4e69..72840f4 100644
--- a/crawl-ref/source/art-data.txt
+++ b/crawl-ref/source/art-data.txt
@@ -1117,6 +1117,18 @@ PLUS: +2
BRAND: SPARM_ARCHMAGI
STEALTH: -20
+ENUM: TIPSTAFF
+NAME: tipstaff of Order
+OBJ: OBJ_WEAPONS/WPN_QUARTERSTAFF
+TYPE: tipstaff
+INSCRIP: silver, rMut
+COLOUR: ETC_SILVER
+PLUS: 7/7
+BASE_ACC: -6
+BASE_DAM: +6
+BASE_DELAY: +1
+VALUE: 1000
+
# This is the first of two amulets used to test suppression aura.
# Together, they confer every randart effect except for a few that are
# determined explicitly by checking whether a certain amulet is worn
diff --git a/crawl-ref/source/art-func.h b/crawl-ref/source/art-func.h
index 90a741f..d58c4ae 100644
--- a/crawl-ref/source/art-func.h
+++ b/crawl-ref/source/art-func.h
@@ -36,6 +36,7 @@
#include "spl-miscast.h" // For Staff of Wucad Mu and Scythe of Curses miscasts
#include "spl-summoning.h" // For Zonguldrok animating dead
#include "terrain.h" // For storm bow
+#include "throw.h" // For Crescent Moon silver damage
/*******************
* Helper functions.
@@ -934,3 +935,29 @@ static void _ELEMENTAL_STAFF_melee_effects(item_def* item, actor* attacker,
defender->name(DESC_THE).c_str());
defender->hurt(attacker, d);
}
+
+///////////////////////////////////////////////////
+
+static void _TIPSTAFF_equip(item_def *item, bool *show_msgs, bool unmeld)
+{
+ _equip_mpr(show_msgs, "You feel Zin shielding your body from chaos.");
+}
+
+static void _TIPSTAFF_melee_effects(item_def* item, actor* attacker,
+ actor* defender, bool mondied, int dam)
+{
+ if (!mondied)
+ {
+ int tempdam = dam;
+ bolt tempbeam;
+ string msg = "";
+ silver_damages_victim(tempbeam, defender, tempdam, msg);
+ if (tempdam > dam)
+ {
+ tempdam -= dam;
+ if (you.can_see(defender))
+ mpr(msg.c_str());
+ defender->hurt(attacker, tempdam);
+ }
+ }
+}
diff --git a/crawl-ref/source/dat/descript/unrand.txt b/crawl-ref/source/dat/descript/unrand.txt
index 0d51d65..3150fb9 100644
--- a/crawl-ref/source/dat/descript/unrand.txt
+++ b/crawl-ref/source/dat/descript/unrand.txt
@@ -507,6 +507,16 @@ effects from the residual hexes and magical energies it was once subjected to
on a daily basis; spellcasters able to get a handle on its power, however, will
find it enhances their spell power.
%%%%
+tipstaff of Order
+
+Legend says that once the staff was the favored weapon of the many priests of
+Zin. Long ago Zin bestowed this gift upon a favored worshipper.
+
+Its hefty silver shaft makes it harm even monsters not vulnerable to silver
+more than a normal quarterstaff, but slows down attacks with it slightly. It
+is also said to provide its wielder with a rare boon, a resistance to the
+chaos Zin abhors.
+%%%%
milk chocolate
This item is a debugging aid, granting a vast array of mostly beneficial
diff --git a/crawl-ref/source/rltiles/dc-player.txt b/crawl-ref/source/rltiles/dc-player.txt
index 35c02b0..f320ce9 100644
--- a/crawl-ref/source/rltiles/dc-player.txt
+++ b/crawl-ref/source/rltiles/dc-player.txt
@@ -516,6 +516,7 @@ elemental_staff ELEMENTAL_STAFF
asmodeus ASMODEUS
dispater DISPATER
olgreb OLGREB
+crescent_moon CRESCENT_MOON
## axes
axe_trog AXE_TROG
arga ARGA
diff --git a/crawl-ref/source/throw.cc b/crawl-ref/source/throw.cc
index 04427f2..710cc58 100644
--- a/crawl-ref/source/throw.cc
+++ b/crawl-ref/source/throw.cc
@@ -612,8 +612,8 @@ static bool _item_penetrates_victim(const bolt &beam, int &used)
return true;
}
-static bool _silver_damages_victim(bolt &beam, actor* victim, int &dmg,
- string &dmg_msg)
+bool silver_damages_victim(bolt &beam, actor* victim, int &dmg,
+ string &dmg_msg)
{
int mutated = 0;
@@ -1201,7 +1201,7 @@ static bool _setup_missile_beam(const actor *agent, bolt &beam, item_def &item,
ASSERT(beam.flavour == BEAM_MISSILE || !is_artefact(item));
if (silver)
- beam.damage_funcs.push_back(_silver_damages_victim);
+ beam.damage_funcs.push_back(silver_damages_victim);
if (poisoned)
beam.hit_funcs.push_back(_poison_hit_victim);
if (penetrating)
diff --git a/crawl-ref/source/throw.h b/crawl-ref/source/throw.h
index 32453d4..c413657 100644
--- a/crawl-ref/source/throw.h
+++ b/crawl-ref/source/throw.h
@@ -34,6 +34,9 @@ int get_ammo_to_shoot(int item, dist &target, bool teleport = false);
void fire_thing(int item = -1);
void throw_item_no_quiver(void);
+bool silver_damages_victim(bolt &beam, actor* victim, int &dmg,
+ string &dmg_msg);
+
bool throw_it(bolt &pbolt, int throw_2, bool teleport = false,
int acc_bonus = 0, dist *target = NULL);
--
1.8.1.4
|