… | |
… | |
345 | |
345 | |
346 | return 1; |
346 | return 1; |
347 | } |
347 | } |
348 | |
348 | |
349 | /* invis_race is set if we get here */ |
349 | /* invis_race is set if we get here */ |
350 | if (!strcmp (pl->contr->invis_race, "undead") && is_true_undead (mon)) |
350 | if (pl->contr->invis_race == shstr_undead && is_true_undead (mon)) |
351 | return 1; |
351 | return 1; |
352 | |
352 | |
353 | /* No race, can't be invisible to it */ |
353 | /* No race, can't be invisible to it */ |
354 | if (!mon->race) |
354 | if (!mon->race) |
355 | return 0; |
355 | return 0; |
… | |
… | |
1637 | /* Basically, if race is set in the spell, then the creatures race must |
1637 | /* Basically, if race is set in the spell, then the creatures race must |
1638 | * match that. if the spell race is set to GOD, then the gods opposing |
1638 | * match that. if the spell race is set to GOD, then the gods opposing |
1639 | * race must match. |
1639 | * race must match. |
1640 | */ |
1640 | */ |
1641 | if (spell->race && QUERY_FLAG (tmp, FLAG_MONSTER) && tmp->race && |
1641 | if (spell->race && QUERY_FLAG (tmp, FLAG_MONSTER) && tmp->race && |
1642 | ((!strcmp (spell->race, "GOD") && god && god->slaying && god->slaying.contains (tmp->race)) || |
1642 | ((spell->race == shstr_GOD && god && god->slaying && god->slaying.contains (tmp->race)) || |
1643 | spell->race.contains (tmp->race))) |
1643 | spell->race.contains (tmp->race))) |
1644 | { |
1644 | { |
1645 | done_one = 2; |
1645 | done_one = 2; |
1646 | if (!detect) |
1646 | if (!detect) |
1647 | detect = tmp; |
1647 | detect = tmp; |