diff --git a/io.c b/io.c index 198202b..137d975 100755 --- a/io.c +++ b/io.c @@ -4589,7 +4589,7 @@ void docommslf(lifeform_t *lf, char ch, lifeform_t *lf2, cell_t *targc) { flag_t *f; object_t *o, *givenob = NULL; object_t *godstone = NULL; - int i; + int i,noresponse = B_FALSE; int askforob = B_FALSE; alignmod = getalignmod(lf); @@ -5005,11 +5005,18 @@ void docommslf(lifeform_t *lf, char ch, lifeform_t *lf2, cell_t *targc) { } return; case 't': - if (lfhasflag(lf, F_PHANTASM) || lfhasflag(lf, F_SUMMONEDBY)) { + noresponse = B_FALSE; + if (lfhasflag(lf, F_PHANTASM)) { + noresponse = B_TRUE; + } else if (lfhasflag(lf, F_SUMMONEDBY) && lf->race->id != R_FLOATINGDISC) { + noresponse = B_TRUE; + } + if (noresponse) { + if (cansee(player, lf)) msg("%s doesn't respond.", lfname); break; } - // ask whtehr to give/take + // ask whether to give/take initprompt(&prompt, "How will you trade?"); snprintf(buf, BUFLEN, "Give items to %s",lfname); addchoice(&prompt, 'i', buf, NULL, NULL, NULL);