Move Pw regen into separate routine
This commit is contained in:
@@ -17,6 +17,7 @@ static void u_calc_moveamt(int);
|
|||||||
#ifdef POSITIONBAR
|
#ifdef POSITIONBAR
|
||||||
static void do_positionbar(void);
|
static void do_positionbar(void);
|
||||||
#endif
|
#endif
|
||||||
|
static void regen_pw(int);
|
||||||
static void regen_hp(int);
|
static void regen_hp(int);
|
||||||
static void interrupt_multi(const char *);
|
static void interrupt_multi(const char *);
|
||||||
static void debug_fields(const char *);
|
static void debug_fields(const char *);
|
||||||
@@ -258,19 +259,7 @@ moveloop_core(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (u.uen < u.uenmax
|
regen_pw(mvl_wtcap);
|
||||||
&& ((mvl_wtcap < MOD_ENCUMBER
|
|
||||||
&& (!(g.moves % ((MAXULEV + 8 - u.ulevel)
|
|
||||||
* (Role_if(PM_WIZARD) ? 3 : 4)
|
|
||||||
/ 6)))) || Energy_regeneration)) {
|
|
||||||
u.uen += rn1(
|
|
||||||
(int) (ACURR(A_WIS) + ACURR(A_INT)) / 15 + 1, 1);
|
|
||||||
if (u.uen > u.uenmax)
|
|
||||||
u.uen = u.uenmax;
|
|
||||||
g.context.botl = TRUE;
|
|
||||||
if (u.uen == u.uenmax)
|
|
||||||
interrupt_multi("You feel full of energy.");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!u.uinvulnerable) {
|
if (!u.uinvulnerable) {
|
||||||
if (Teleportation && !rn2(85)) {
|
if (Teleportation && !rn2(85)) {
|
||||||
@@ -506,6 +495,25 @@ moveloop(boolean resuming)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
regen_pw(int wtcap)
|
||||||
|
{
|
||||||
|
if (u.uen < u.uenmax
|
||||||
|
&& ((wtcap < MOD_ENCUMBER
|
||||||
|
&& (!(g.moves % ((MAXULEV + 8 - u.ulevel)
|
||||||
|
* (Role_if(PM_WIZARD) ? 3 : 4)
|
||||||
|
/ 6)))) || Energy_regeneration)) {
|
||||||
|
int upper = (int) (ACURR(A_WIS) + ACURR(A_INT)) / 15 + 1;
|
||||||
|
|
||||||
|
u.uen += rn1(upper, 1);
|
||||||
|
if (u.uen > u.uenmax)
|
||||||
|
u.uen = u.uenmax;
|
||||||
|
g.context.botl = TRUE;
|
||||||
|
if (u.uen == u.uenmax)
|
||||||
|
interrupt_multi("You feel full of energy.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#define U_CAN_REGEN() (Regeneration || (Sleepy && u.usleep))
|
#define U_CAN_REGEN() (Regeneration || (Sleepy && u.usleep))
|
||||||
|
|
||||||
/* maybe recover some lost health (or lose some when an eel out of water) */
|
/* maybe recover some lost health (or lose some when an eel out of water) */
|
||||||
|
|||||||
Reference in New Issue
Block a user