djinn/ghosts from potions

<Someone> wrote:
>It seems silly to have two flags being used for counting djinn and
>ghosts, now that there's mvitals.born...

This does not break save and bones compatibility in the 3.4.x branch,
it changes the code, but leaves the obsolete fields in flags.
This commit is contained in:
nethack.allison
2004-06-05 18:10:04 +00:00
parent ce24d4ba09
commit 9840d7611b
5 changed files with 11 additions and 16 deletions

View File

@@ -80,7 +80,6 @@ struct context_info {
/* 8: travel */
unsigned startingpet_mid;
int warnlevel;
int djinni_count, ghost_count; /* potion effect tuning */
long next_attrib_check; /* next attribute check */
long stethoscope_move;
short stethoscope_movement;

View File

@@ -13,7 +13,7 @@
* Incrementing EDITLEVEL can be used to force invalidation of old bones
* and save files.
*/
#define EDITLEVEL 11
#define EDITLEVEL 12
#define COPYRIGHT_BANNER_A \
"NetHack, Copyright 1985-2004"

View File

@@ -1019,12 +1019,8 @@ register int mmflags;
context.no_of_wizards++;
if (context.no_of_wizards == 1 && Is_earthlevel(&u.uz))
mitem = SPE_DIG;
} else if (mndx == PM_DJINNI) {
context.djinni_count++;
} else if (mndx == PM_GHOST) {
context.ghost_count++;
if (!(mmflags & MM_NONAME))
mtmp = christen_monst(mtmp, rndghostname());
} else if (mndx == PM_GHOST && !(mmflags & MM_NONAME)) {
mtmp = christen_monst(mtmp, rndghostname());
} else if (mndx == PM_VLAD_THE_IMPALER) {
mitem = CANDELABRUM_OF_INVOCATION;
} else if (mndx == PM_CROESUS) {

View File

@@ -72,8 +72,8 @@ struct obj *obj;
potion_descr = OBJ_DESCR(objects[obj->otyp]);
if (potion_descr && !strcmp(potion_descr, "milky")) {
if ( context.ghost_count < MAXMONNO &&
!rn2(POTION_OCCUPANT_CHANCE(context.ghost_count))) {
if (!(mvitals[PM_GHOST].mvflags & G_GONE) &&
!rn2(POTION_OCCUPANT_CHANCE(mvitals[PM_GHOST].born))) {
if (!enexto(&cc, mon->mx, mon->my, &mons[PM_GHOST])) return 0;
mquaffmsg(mon, obj);
m_useup(mon, obj);
@@ -95,8 +95,8 @@ struct obj *obj;
}
}
if (potion_descr && !strcmp(potion_descr, "smoky") &&
context.djinni_count < MAXMONNO &&
!rn2(POTION_OCCUPANT_CHANCE(context.djinni_count))) {
!(mvitals[PM_DJINNI].mvflags & G_GONE) &&
!rn2(POTION_OCCUPANT_CHANCE(mvitals[PM_DJINNI].born))) {
if (!enexto(&cc, mon->mx, mon->my, &mons[PM_DJINNI])) return 0;
mquaffmsg(mon, obj);
m_useup(mon, obj);

View File

@@ -375,14 +375,14 @@ dodrink()
potion_descr = OBJ_DESCR(objects[otmp->otyp]);
if (potion_descr) {
if (!strcmp(potion_descr, "milky") &&
context.ghost_count < MAXMONNO &&
!rn2(POTION_OCCUPANT_CHANCE(context.ghost_count))) {
!(mvitals[PM_GHOST].mvflags & G_GONE) &&
!rn2(POTION_OCCUPANT_CHANCE(mvitals[PM_GHOST].born))) {
ghost_from_bottle();
useup(otmp);
return(1);
} else if (!strcmp(potion_descr, "smoky") &&
context.djinni_count < MAXMONNO &&
!rn2(POTION_OCCUPANT_CHANCE(context.djinni_count))) {
!(mvitals[PM_DJINNI].mvflags & G_GONE) &&
!rn2(POTION_OCCUPANT_CHANCE(mvitals[PM_DJINNI].born))) {
djinni_from_bottle(otmp);
useup(otmp);
return(1);