left out of "limit rate of long worm growth"
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 extern.h $NHDT-Date: 1578895332 2020/01/13 06:02:12 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.785 $ */
|
/* NetHack 3.6 extern.h $NHDT-Date: 1580044333 2020/01/26 13:12:13 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.786 $ */
|
||||||
/* Copyright (c) Steve Creps, 1988. */
|
/* Copyright (c) Steve Creps, 1988. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -1437,7 +1437,7 @@ E int FDECL(mfndpos, (struct monst *, coord *, long *, long));
|
|||||||
E boolean FDECL(monnear, (struct monst *, int, int));
|
E boolean FDECL(monnear, (struct monst *, int, int));
|
||||||
E void NDECL(dmonsfree);
|
E void NDECL(dmonsfree);
|
||||||
E void FDECL(elemental_clog, (struct monst *));
|
E void FDECL(elemental_clog, (struct monst *));
|
||||||
E int FDECL(mcalcmove, (struct monst *));
|
E int FDECL(mcalcmove, (struct monst *, BOOLEAN_P));
|
||||||
E void NDECL(mcalcdistress);
|
E void NDECL(mcalcdistress);
|
||||||
E void FDECL(replmon, (struct monst *, struct monst *));
|
E void FDECL(replmon, (struct monst *, struct monst *));
|
||||||
E void FDECL(relmon, (struct monst *, struct monst **));
|
E void FDECL(relmon, (struct monst *, struct monst **));
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 allmain.c $NHDT-Date: 1578448653 2020/01/08 01:57:33 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.137 $ */
|
/* NetHack 3.6 allmain.c $NHDT-Date: 1580044340 2020/01/26 13:12:20 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.138 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2012. */
|
/*-Copyright (c) Robert Patrick Rankin, 2012. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -125,7 +125,7 @@ boolean resuming;
|
|||||||
to skip dead monsters here because they will have
|
to skip dead monsters here because they will have
|
||||||
been purged at end of their previous round of moving */
|
been purged at end of their previous round of moving */
|
||||||
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon)
|
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon)
|
||||||
mtmp->movement += mcalcmove(mtmp);
|
mtmp->movement += mcalcmove(mtmp, TRUE);
|
||||||
|
|
||||||
/* occasionally add another monster; since this takes
|
/* occasionally add another monster; since this takes
|
||||||
place after movement has been allotted, the new
|
place after movement has been allotted, the new
|
||||||
@@ -139,7 +139,7 @@ boolean resuming;
|
|||||||
/* calculate how much time passed. */
|
/* calculate how much time passed. */
|
||||||
if (u.usteed && u.umoved) {
|
if (u.usteed && u.umoved) {
|
||||||
/* your speed doesn't augment steed's speed */
|
/* your speed doesn't augment steed's speed */
|
||||||
moveamt = mcalcmove(u.usteed);
|
moveamt = mcalcmove(u.usteed, TRUE);
|
||||||
} else {
|
} else {
|
||||||
moveamt = g.youmonst.data->mmove;
|
moveamt = g.youmonst.data->mmove;
|
||||||
|
|
||||||
|
|||||||
29
src/mon.c
29
src/mon.c
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 mon.c $NHDT-Date: 1577759850 2019/12/31 02:37:30 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.319 $ */
|
/* NetHack 3.6 mon.c $NHDT-Date: 1580044343 2020/01/26 13:12:23 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.320 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -633,9 +633,11 @@ register struct monst *mtmp;
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* calculate 'mon's movement for current turn; called from moveloop() */
|
||||||
int
|
int
|
||||||
mcalcmove(mon)
|
mcalcmove(mon, m_moving)
|
||||||
struct monst *mon;
|
struct monst *mon;
|
||||||
|
boolean m_moving; /* True: adjust for moving; False: just adjust for speed */
|
||||||
{
|
{
|
||||||
int mmove = mon->data->mmove;
|
int mmove = mon->data->mmove;
|
||||||
int mmove_adj;
|
int mmove_adj;
|
||||||
@@ -656,17 +658,18 @@ struct monst *mon;
|
|||||||
mmove = ((rn2(2) ? 4 : 5) * mmove) / 3;
|
mmove = ((rn2(2) ? 4 : 5) * mmove) / 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Randomly round the monster's speed to a multiple of NORMAL_SPEED.
|
if (m_moving) {
|
||||||
This makes it impossible for the player to predict when they'll get
|
/* Randomly round the monster's speed to a multiple of NORMAL_SPEED.
|
||||||
a free turn (thus preventing exploits like "melee kiting"), while
|
This makes it impossible for the player to predict when they'll
|
||||||
retaining guarantees about shopkeepers not being outsped by a
|
get a free turn (thus preventing exploits like "melee kiting"),
|
||||||
normal-speed player, normal-speed players being unable to open up
|
while retaining guarantees about shopkeepers not being outsped
|
||||||
a gap when fleeing a normal-speed monster, etc. */
|
by a normal-speed player, normal-speed players being unable
|
||||||
mmove_adj = mmove % NORMAL_SPEED;
|
to open up a gap when fleeing a normal-speed monster, etc. */
|
||||||
mmove -= mmove_adj;
|
mmove_adj = mmove % NORMAL_SPEED;
|
||||||
if (rn2(NORMAL_SPEED) < mmove_adj)
|
mmove -= mmove_adj;
|
||||||
mmove += NORMAL_SPEED;
|
if (rn2(NORMAL_SPEED) < mmove_adj)
|
||||||
|
mmove += NORMAL_SPEED;
|
||||||
|
}
|
||||||
return mmove;
|
return mmove;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user