From de7657dd99a61a1b8d0ebc4629af56178c2fed08 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sat, 5 Feb 2011 12:50:50 +0100 Subject: [PATCH] Permit flash to yourself Flashing yourself failed with a bogus "not logged on" message for deities, and a mildly bogus "not a deity or friendly with us" message for mortals. Fix by simply permitting it. Not terribly useful, except perhaps for empire-hub users, but why not. --- src/lib/commands/flash.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/commands/flash.c b/src/lib/commands/flash.c index d1aaa2d0..ffdba7a5 100644 --- a/src/lib/commands/flash.c +++ b/src/lib/commands/flash.c @@ -63,7 +63,8 @@ flash(void) } } else { /* Ok, we are a normal country, can we flash them? */ - if (to->nat_stat != STAT_GOD && getrel(to, player->cnum) < FRIENDLY) { + if (to->nat_stat != STAT_GOD && tocn != player->cnum + && getrel(to, player->cnum) < FRIENDLY) { pr("%s is not a deity or friendly with us.\n", to->nat_cnam); return RET_SYN; } @@ -127,8 +128,6 @@ sendmessage(struct natstr *to, char *message, int verbose) for (other = player_next(NULL); other; other = player_next(other)) { if (other->state != PS_PLAYING) continue; - if (player == other) - continue; if (to) { /* flash */ if (other->cnum != to->nat_cnum) @@ -136,6 +135,8 @@ sendmessage(struct natstr *to, char *message, int verbose) wto = to; } else { /* wall */ + if (player == other) + continue; wto = getnatp(other->cnum); if (CANT_HAPPEN(!wto)) continue; @@ -165,7 +166,8 @@ sendmessage(struct natstr *to, char *message, int verbose) if (to) { /* flash */ - if (player->god || getrel(to, player->cnum) == ALLIED) { + if (player->god || to->nat_cnum == player->cnum + || getrel(to, player->cnum) == ALLIED) { /* Can see TO logged in anyway, so it's okay to tell */ if (rejected) pr("%s is not accepting flashes\n", to->nat_cnam);