Update mhitu.c

szy_
pmje2o5iu 1 year ago
parent a1973b1aa0
commit cf18d840fa

@ -157,14 +157,15 @@ mpoisons_subj(struct monst *mtmp, struct attack *mattk)
void
u_slow_down(void)
{
HFast = 0L;
HFast = 0L; // Clear the duration of the fast status
if (!Fast)
You("slow down.");
You("slow down."); // Displays a message to indicate that the player is slowing down
else /* speed boots */
Your("quickness feels less natural.");
exercise(A_DEX, FALSE);
Your("quickness feels less natural.");// Displays a message indicating that the player's quickness feels less natural, likely due to the effect of having worn magical speed boots
exercise(A_DEX, FALSE); // Increase the player's dexterity by exercising it
}
/* monster attacked wrong location due to monster blindness, hero
invisibility, hero displacement, or hero being underwater */
static void
@ -1194,14 +1195,14 @@ gulp_blnd_check(void)
{
struct attack *mattk;
if (!Blinded && u.uswallow
&& (mattk = attacktype_fordmg(u.ustuck->data, AT_ENGL, AD_BLND))
&& can_blnd(u.ustuck, &gy.youmonst, mattk->aatyp, (struct obj *) 0)) {
++u.uswldtim; /* compensate for gulpmu change */
(void) gulpmu(u.ustuck, mattk);
return TRUE;
if (!Blinded && u.uswallow// Check if the player is not already blinded and is currently swallowed by another creature
&& (mattk = attacktype_fordmg(u.ustuck->data, AT_ENGL, AD_BLND)) // Get the type of attack used by the creature to blind its prey
&& can_blnd(u.ustuck, &gy.youmonst, mattk->aatyp, (struct obj *) 0)) { // Check if this kind of attack can blind the player
++u.uswldtim; /* compensate for gulpmu change */ // Increase the swallow delay timer to compensate for any changes caused by swallowing the player
(void) gulpmu(u.ustuck, mattk); // Perform the swallow attack
return TRUE; // Return that the player should be blinded
}
return FALSE;
return FALSE;// Return that the player should not be blinded
}
/* monster swallows you, or damage if u.uswallow */
@ -1810,16 +1811,17 @@ gazemu(struct monst *mtmp, struct attack *mattk)
void
mdamageu(struct monst *mtmp, int n)
{
gc.context.botl = 1;
if (Upolyd) {
u.mh -= n;
if (u.mh < 1)
rehumanize();
} else {
n = saving_grace(n);
u.uhp -= n;
if (u.uhp < 1)
done_in_by(mtmp, DIED);
gc.context.botl = 1; // Set the botl (bottom line) flag to indicate that the status line needs to be updated
if (Upolyd) { // If the player is currently in a polymorphed form
u.mh -= n; // Reduce the player's monster hit points by the specified amount of damage
if (u.mh < 1) // If the player's monster hit points drop below 1
rehumanize(); // Change the player back to human form
} else { // If the player is in human form
n = saving_grace(n); // Apply any necessary reductions to the damage based on the player's abilities
u.uhp -= n; // Reduce the player's hit points by the modified amount of damage
if (u.uhp < 1) // If the player's hit points drop below 1
done_in_by(mtmp, DIED); // Handle the player's death caused by the monster
}
}

Loading…
Cancel
Save