The problem is in the following code in grid_data_as_text():
When hallucinating, map_info sets g->m_idx to 1, so the "is_mimicking" check is misplaced. It should be:
Code:
/* If there's a monster */
if (g->m_idx > 0 && !is_mimicking(g->m_idx))
{
if (g->hallucinate)
{
/* Just pick a random monster to display. */
hallucinatory_monster(&a, &c);
}
else
{
...
Code:
/* If there's a monster */
if (g->m_idx > 0)
{
if (g->hallucinate)
{
/* Just pick a random monster to display. */
hallucinatory_monster(&a, &c);
}
else if (!is_mimicking(g->m_idx))
{
...
Comment