+ }
+ else
+ {
+ register struct thing *tp = (struct thing *) ldata(mob);
+ int attr = count_bits_set(tp->t_stats.s_ont & player.t_stats.s_ont);
+ attr += tp->t_stats.s_int - 1;
+ if (rnd(NUM_FEATURES) < attr)
+ {
+ tp->t_stats.s_int++;
+ const char *msgs[] = {
+ "The %s smiles back at you.",
+ "You catch the %s staring at you out of the corner of eir eye.",
+ "The %s blushes and waves cautiously.",
+ };
+ msg(rndchoice(msgs), monsters[tp->t_type - 'A'].m_name);
+ }
+ else if (attr <= 0)
+ {
+ tp->t_stats.s_int--;
+ const char *msgs[] = {
+ "The %s scowls at you.",
+ "The %s tells you to stop it.",
+ "The %s is sick of your crap.",
+ };
+ msg(rndchoice(msgs), monsters[tp->t_type - 'A'].m_name);
+ }
+ else
+ {
+ const char *msgs[] = {
+ "The %s ignores you.",
+ "The %s is completely uninterested in you.",
+ "The %s acts like it can't hear you.",
+ "The %s doesn't care.",
+ };
+ msg(rndchoice(msgs), monsters[tp->t_type - 'A'].m_name);
+ }