Skip to content

Commit 09093d4

Browse files
committed
Allow player monsters to be Draugr, part two.
Nothing major here, just mainly making sure Infidel and Monk Draugr don't spawn with spellbooks.
1 parent 00d3e46 commit 09093d4

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

doc/evilhack-changelog.md

+2
Original file line numberDiff line numberDiff line change
@@ -3443,3 +3443,5 @@ The following changes to date are:
34433443
- Refactor diseasemu() to allow use of racial_zombie()
34443444
- Refactor resists_sick to allow checking racial data
34453445
- Draugr infidels don't cast spells
3446+
- Allow player monsters to be Draugr, part two
3447+

src/makemon.c

+18
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ extern struct trobj Elven_Knight[];
187187
extern struct trobj Dwarvish_Knight[];
188188
extern struct trobj Orcish_Knight[];
189189
extern struct trobj Monk[];
190+
extern struct trobj Draugr_Monk[];
190191
extern struct trobj Priest[];
191192
extern struct trobj Ranger[];
192193
extern struct trobj Rogue[];
@@ -199,6 +200,7 @@ extern struct trobj Tinopener[];
199200
extern struct trobj Lamp[];
200201
extern struct trobj Blindfold[];
201202
extern struct trobj Xtra_food[];
203+
extern struct trobj Dra_food[];
202204
extern struct trobj Leash[];
203205
extern struct trobj Towel[];
204206
extern struct trobj Wishing[];
@@ -225,6 +227,18 @@ struct trobj subInfidel[] = {
225227
{ 0, 0, 0, 0, 0 }
226228
};
227229

230+
struct trobj draugrInfidel[] = {
231+
{ FAKE_AMULET_OF_YENDOR, 0, AMULET_CLASS, 1, 0 },
232+
{ DAGGER, 1, WEAPON_CLASS, 1, 0 },
233+
{ JACKET, 1, ARMOR_CLASS, 1, CURSED },
234+
{ CLOAK_OF_PROTECTION, 0, ARMOR_CLASS, 1, CURSED },
235+
{ POT_WATER, 0, POTION_CLASS, 3, CURSED },
236+
{ SCR_CHARGING, 0, SCROLL_CLASS, 1, 0 },
237+
{ FIRE_HORN, UNDEF_SPE, TOOL_CLASS, 1, 0 },
238+
{ OILSKIN_SACK, 0, TOOL_CLASS, 1, 0 },
239+
{ 0, 0, 0, 0, 0 }
240+
};
241+
228242
/* Specialized structs for centaurian player monsters */
229243
struct trobj Level10KitCentaur1[] = {
230244
{ ARMOR, (2 | RND_SPE), ARMOR_CLASS, 1, UNDEF_BLESS },
@@ -872,6 +886,8 @@ register struct monst *mtmp;
872886
mkmonmoney(mtmp, (long) rn1(251, 250));
873887
if (racial_giant(mtmp))
874888
ini_mon_inv(mtmp, giantInfidel, 1);
889+
else if (racial_zombie(mtmp))
890+
ini_mon_inv(mtmp, draugrInfidel, 1);
875891
else
876892
ini_mon_inv(mtmp, subInfidel, 1);
877893
mongets(mtmp, SKELETON_KEY);
@@ -900,6 +916,8 @@ register struct monst *mtmp;
900916
ini_mon_inv(mtmp, giantMonk, 1);
901917
else if (racial_tortle(mtmp))
902918
ini_mon_inv(mtmp, tortleMonk, 1);
919+
else if (racial_zombie(mtmp))
920+
ini_mon_inv(mtmp, Draugr_Monk, 1);
903921
else
904922
ini_mon_inv(mtmp, Monk, 1);
905923
ini_mon_inv(mtmp, Lamp, 10);

src/uhitm.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -4804,8 +4804,8 @@ boolean wep_was_destroyed;
48044804
You("are jolted with electricity!");
48054805
tmp = resist_reduce(tmp, SHOCK_RES);
48064806
mdamageu(mon, tmp);
4807-
break;
4808-
case AD_DISE: /* specifically gray fungus */
4807+
break;
4808+
case AD_DISE: /* specifically gray fungus */
48094809
diseasemu(mon);
48104810
break;
48114811
case AD_DRST: /* specifically green dragons */

0 commit comments

Comments
 (0)