… | |
… | |
327 | CLEAR_FLAG (p->ob, FLAG_FRIENDLY); |
327 | CLEAR_FLAG (p->ob, FLAG_FRIENDLY); |
328 | add_friendly_object (p->ob); |
328 | add_friendly_object (p->ob); |
329 | send_rules (p->ob); |
329 | send_rules (p->ob); |
330 | send_news (p->ob); |
330 | send_news (p->ob); |
331 | display_motd (p->ob); |
331 | display_motd (p->ob); |
|
|
332 | |
332 | get_name (p->ob); |
333 | get_name (p->ob); |
333 | |
334 | |
334 | return 0; |
335 | return 0; |
335 | } |
336 | } |
336 | |
337 | |
… | |
… | |
725 | * to leave it to play_again to remove the object in all |
726 | * to leave it to play_again to remove the object in all |
726 | * cases. |
727 | * cases. |
727 | */ |
728 | */ |
728 | if (!QUERY_FLAG (op, FLAG_REMOVED)) |
729 | if (!QUERY_FLAG (op, FLAG_REMOVED)) |
729 | op->remove (); |
730 | op->remove (); |
|
|
731 | |
730 | /* Need to set this to null - otherwise, it could point to garbage, |
732 | /* Need to set this to null - otherwise, it could point to garbage, |
731 | * and draw() doesn't check to see if the player is removed, only if |
733 | * and draw() doesn't check to see if the player is removed, only if |
732 | * the map is null or not swapped out. |
734 | * the map is null or not swapped out. |
733 | */ |
735 | */ |
734 | op->map = NULL; |
736 | op->map = NULL; |
… | |
… | |
3330 | } |
3332 | } |
3331 | |
3333 | |
3332 | for (tmp = op->inv; tmp != NULL; tmp = next) |
3334 | for (tmp = op->inv; tmp != NULL; tmp = next) |
3333 | { |
3335 | { |
3334 | next = tmp->below; |
3336 | next = tmp->below; |
3335 | if (tmp->type == EXPERIENCE || tmp->invisible) |
3337 | if (tmp->invisible) |
3336 | continue; |
3338 | continue; |
3337 | tmp->remove (); |
3339 | tmp->remove (); |
3338 | tmp->x = op->x, tmp->y = op->y; |
3340 | tmp->x = op->x, tmp->y = op->y; |
3339 | if (tmp->type == CONTAINER) |
3341 | if (tmp->type == CONTAINER) |
3340 | { /* empty container to ground */ |
3342 | { /* empty container to ground */ |
… | |
… | |
3446 | object *tmp = NULL; |
3448 | object *tmp = NULL; |
3447 | |
3449 | |
3448 | if (QUERY_FLAG (&op->arch->clone, FLAG_UNDEAD)) |
3450 | if (QUERY_FLAG (&op->arch->clone, FLAG_UNDEAD)) |
3449 | return 1; |
3451 | return 1; |
3450 | |
3452 | |
3451 | if (op->type == PLAYER) |
|
|
3452 | for (tmp = op->inv; tmp; tmp = tmp->below) |
|
|
3453 | if (tmp->type == EXPERIENCE && tmp->stats.Wis) |
|
|
3454 | if (QUERY_FLAG (tmp, FLAG_UNDEAD)) |
|
|
3455 | return 1; |
|
|
3456 | return 0; |
3453 | return 0; |
3457 | } |
3454 | } |
3458 | |
3455 | |
3459 | /* look at the surrounding terrain to determine |
3456 | /* look at the surrounding terrain to determine |
3460 | * the hideability of this object. Positive levels |
3457 | * the hideability of this object. Positive levels |