B04002 fix for misplaced pet loyalty

<Someone> wrote:
>This _must_ be a bug: if a character leaves a pet corpse in a
>bonesfile, someone getting those bones will receive
>"So this is how you repay loyalty?"  should he sacrifice it, even
>though the loyalty wasn't shown to _him_."

Clear the appropriate fields from the attached monst structure
when loading bones.
This commit is contained in:
nethack.allison
2003-07-06 14:13:06 +00:00
parent 85c062ce47
commit 3f7873514e
2 changed files with 2 additions and 0 deletions

View File

@@ -99,6 +99,7 @@ stethoscope use should be free the first time it's use per player move
travel command caches last position to make non-mouse less painful travel command caches last position to make non-mouse less painful
update pit trapped time when polymorphing to or from a monster that passes_walls update pit trapped time when polymorphing to or from a monster that passes_walls
show artifact hit message which affect the monster that swallowed the hero show artifact hit message which affect the monster that swallowed the hero
revived pet corpse from bones file should not be loyal to current player
Platform- and/or Interface-Specific Fixes Platform- and/or Interface-Specific Fixes

View File

@@ -974,6 +974,7 @@ boolean ghostly;
struct monst *mtmp = (struct monst *)otmp->oextra; struct monst *mtmp = (struct monst *)otmp->oextra;
mtmp->m_id = 0; mtmp->m_id = 0;
mtmp->mpeaceful = mtmp->mtame = 0; /* pet's owner died! */
} }
if (ghostly && otmp->oattached == OATTACHED_M_ID) { if (ghostly && otmp->oattached == OATTACHED_M_ID) {
(void) memcpy((genericptr_t)&oldid, (genericptr_t)otmp->oextra, (void) memcpy((genericptr_t)&oldid, (genericptr_t)otmp->oextra,