… | |
… | |
492 | */ |
492 | */ |
493 | |
493 | |
494 | str1 = (who->stats.Str > 0 ? who->stats.Str : who->level); |
494 | str1 = (who->stats.Str > 0 ? who->stats.Str : who->level); |
495 | str2 = (pusher->stats.Str > 0 ? pusher->stats.Str : pusher->level); |
495 | str2 = (pusher->stats.Str > 0 ? pusher->stats.Str : pusher->level); |
496 | if (QUERY_FLAG (who, FLAG_WIZ) || |
496 | if (QUERY_FLAG (who, FLAG_WIZ) || |
497 | random_roll (str1, str1 / 2 + str1 * 2, who, PREFER_HIGH) >= |
497 | random_roll (str1, str1 * 5 / 2, who, PREFER_HIGH) >= |
498 | random_roll (str2, str2 / 2 + str2 * 2, pusher, PREFER_HIGH) || !move_object (who, dir)) |
498 | random_roll (str2, str2 * 5 / 2, pusher, PREFER_HIGH) || !move_object (who, dir)) |
499 | { |
499 | { |
500 | if (who->type == PLAYER) |
500 | if (who->type == PLAYER) |
501 | { |
|
|
502 | new_draw_info_format (NDI_UNIQUE, 0, who, "%s tried to push you.", &pusher->name); |
501 | new_draw_info_format (NDI_UNIQUE, 0, who, "%s tried to push you.", &pusher->name); |
503 | } |
502 | |
504 | return 0; |
503 | return 0; |
505 | } |
504 | } |
506 | |
505 | |
507 | /* If we get here, the push succeeded. |
506 | /* If we get here, the push succeeded. |
508 | * Let everyone know the status. |
507 | * Let everyone know the status. |