discard all damage structs owned by shopkeeper */
| 4527 | |
| 4528 | /* discard all damage structs owned by shopkeeper */ |
| 4529 | staticfn void |
| 4530 | discard_damage_owned_by(struct monst *shkp) |
| 4531 | { |
| 4532 | struct damage *dam = svl.level.damagelist, *dam2, *prevdam = NULL; |
| 4533 | |
| 4534 | while (dam) { |
| 4535 | coordxy x = dam->place.x, y = dam->place.y; |
| 4536 | |
| 4537 | if (strchr(in_rooms(x, y, SHOPBASE), ESHK(shkp)->shoproom)) { |
| 4538 | dam2 = dam->next; |
| 4539 | if (prevdam) |
| 4540 | prevdam->next = dam2; |
| 4541 | if (dam == svl.level.damagelist) |
| 4542 | svl.level.damagelist = dam2; |
| 4543 | (void) memset(dam, 0, sizeof *dam); |
| 4544 | free((genericptr_t) dam), dam = (struct damage *) NULL; |
| 4545 | } else { |
| 4546 | prevdam = dam; |
| 4547 | dam2 = dam->next; |
| 4548 | } |
| 4549 | |
| 4550 | dam = dam2; |
| 4551 | } |
| 4552 | } |
| 4553 | |
| 4554 | /* Shopkeeper tries to repair damage belonging to them */ |
| 4555 | staticfn void |