Merge branch 'newsym_worm' of https://github.com/entrez/NetHack into NetHack-3.7

This commit is contained in:
nhmall
2024-11-30 20:14:40 -05:00
3 changed files with 19 additions and 1 deletions

View File

@@ -3786,6 +3786,7 @@ extern boolean worm_cross(int, int, int, int);
extern int wseg_at(struct monst *, int, int) NO_NNARGS;
extern void flip_worm_segs_vertical(struct monst *, int, int) NONNULLARG1;
extern void flip_worm_segs_horizontal(struct monst *, int, int) NONNULLARG1;
extern void redraw_worm(struct monst *);
/* ### worn.c ### */

View File

@@ -1203,6 +1203,8 @@ tamedog(struct monst *mtmp, struct obj *obj, boolean givemsg)
Hallucination ? "approachable" : "friendly");
newsym(mtmp->mx, mtmp->my);
if (mtmp->wormno)
redraw_worm(mtmp);
if (attacktype(mtmp->data, AT_WEAP)) {
mtmp->weapon_check = NEED_HTH_WEAPON;
(void) mon_wield_item(mtmp);
@@ -1311,8 +1313,12 @@ abuse_dog(struct monst *mtmp)
else
growl(mtmp); /* give them a moment's worry */
if (!mtmp->mtame)
if (!mtmp->mtame) {
newsym(mtmp->mx, mtmp->my);
if (mtmp->wormno) {
redraw_worm(mtmp);
}
}
}
}

View File

@@ -988,4 +988,15 @@ flip_worm_segs_horizontal(struct monst *worm, int minx, int maxx)
}
}
void
redraw_worm(struct monst *worm)
{
struct wseg *curr = wtails[worm->wormno];
while (curr) {
newsym(curr->wx, curr->wy);
curr = curr->nseg;
}
}
/*worm.c*/