Skip to content

Commit ebf0eaa

Browse files
committed
Refactor diseasemu() to allow use of racial_zombie().
This allows player monster draugr bite attack to actually cause zombie sickness instead of regular sickness.
1 parent 409a807 commit ebf0eaa

File tree

5 files changed

+14
-11
lines changed

5 files changed

+14
-11
lines changed

doc/evilhack-changelog.md

+1
Original file line numberDiff line numberDiff line change
@@ -3440,4 +3440,5 @@ The following changes to date are:
34403440
- Fix: ^X message for being warned of undead
34413441
- Merge & use racial_zombie when applicable
34423442
- Fix: makedefs.c merge from last commit
3443+
- Refactor diseasemu() to allow use of racial_zombie()
34433444

include/extern.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1345,7 +1345,7 @@ E struct monst *NDECL(cloneu);
13451345
E void FDECL(expels, (struct monst *, struct permonst *, BOOLEAN_P));
13461346
E struct attack *FDECL(getmattk, (struct monst *, struct monst *,
13471347
int, int *, struct attack *));
1348-
E boolean FDECL(diseasemu, (struct permonst *));
1348+
E boolean FDECL(diseasemu, (struct monst *));
13491349
E int FDECL(mattacku, (struct monst *));
13501350
E int FDECL(magic_negation, (struct monst *));
13511351
E boolean NDECL(gulp_blnd_check);

src/artifact.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -2218,7 +2218,7 @@ int dieroll; /* needed for Magicbane and vorpal blades */
22182218
}
22192219

22202220
if (youdefend && !rn2(5)) {
2221-
diseasemu(mdef->data);
2221+
diseasemu(mdef);
22222222
} else if (!youdefend) {
22232223
mdef->mdiseasetime = rnd(10) + 5;
22242224
if (!no_sick && !rn2(5)) {

src/mhitu.c

+10-8
Original file line numberDiff line numberDiff line change
@@ -1216,15 +1216,17 @@ register struct monst *mtmp;
12161216
}
12171217

12181218
boolean
1219-
diseasemu(mdat)
1220-
struct permonst *mdat;
1219+
diseasemu(mtmp)
1220+
struct monst *mtmp;
12211221
{
12221222
if (Sick_resistance) {
12231223
You_feel("a slight illness.");
12241224
return FALSE;
12251225
} else {
1226-
make_sick(Sick ? Sick / 3L + 1L : (long) rn1(ACURR(A_CON), 20),
1227-
mdat->mname, TRUE, is_zombie(mdat) ? SICK_ZOMBIE : SICK_NONVOMITABLE);
1226+
make_sick(Sick ? Sick / 3L + 1L
1227+
: (long) rn1(ACURR(A_CON), 20),
1228+
mtmp->data->mname, TRUE,
1229+
racial_zombie(mtmp) ? SICK_ZOMBIE : SICK_NONVOMITABLE);
12281230
return TRUE;
12291231
}
12301232
}
@@ -1645,7 +1647,7 @@ register struct attack *mattk;
16451647
break;
16461648
case AD_DISE:
16471649
hitmsg(mtmp, mattk);
1648-
if (!diseasemu(r_data(mtmp)))
1650+
if (!diseasemu(mtmp))
16491651
dmg = 0;
16501652
break;
16511653
case AD_FIRE:
@@ -1797,7 +1799,7 @@ register struct attack *mattk;
17971799
Monnam(mtmp));
17981800
else
17991801
pline("%s eats your brains!", Monnam(mtmp));
1800-
diseasemu(mdat);
1802+
diseasemu(mtmp);
18011803
}
18021804
break;
18031805
}
@@ -2402,7 +2404,7 @@ register struct attack *mattk;
24022404
break;
24032405
case AD_PEST:
24042406
pline("%s reaches out, and you feel fever and chills.", Monnam(mtmp));
2405-
(void) diseasemu(mdat); /* plus the normal damage */
2407+
(void) diseasemu(mtmp); /* plus the normal damage */
24062408
break;
24072409
case AD_FAMN:
24082410
pline("%s reaches out, and your body shrivels.", Monnam(mtmp));
@@ -2955,7 +2957,7 @@ struct attack *mattk;
29552957
tmp = 0;
29562958
break;
29572959
case AD_DISE:
2958-
if (!diseasemu(mtmp->data))
2960+
if (!diseasemu(mtmp))
29592961
tmp = 0;
29602962
break;
29612963
case AD_DREN:

src/uhitm.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -4806,7 +4806,7 @@ boolean wep_was_destroyed;
48064806
mdamageu(mon, tmp);
48074807
break;
48084808
case AD_DISE: /* specifically gray fungus */
4809-
diseasemu(ptr);
4809+
diseasemu(mon);
48104810
break;
48114811
case AD_DRST: /* specifically green dragons */
48124812
if (how_resistant(POISON_RES) == 100) {

0 commit comments

Comments
 (0)