… | |
… | |
1069 | return dam; |
1069 | return dam; |
1070 | |
1070 | |
1071 | if (hitter->slaying) |
1071 | if (hitter->slaying) |
1072 | { |
1072 | { |
1073 | if ((op->race && hitter->slaying.contains (op->race)) |
1073 | if ((op->race && hitter->slaying.contains (op->race)) |
1074 | || (op->arch && op->arch->archname && op->arch->archname.contains (hitter->slaying))) |
1074 | || (op->arch && op->arch->archname.contains (hitter->slaying))) |
1075 | { |
1075 | { |
1076 | doesnt_slay = 0; |
1076 | doesnt_slay = 0; |
1077 | dam *= 3; |
1077 | dam *= 3; |
1078 | } |
1078 | } |
1079 | } |
1079 | } |
… | |
… | |
1281 | object *god = find_god (determine_god (owner)); |
1281 | object *god = find_god (determine_god (owner)); |
1282 | int div = 1; |
1282 | int div = 1; |
1283 | |
1283 | |
1284 | /* if undead are not an enemy of your god, you turn them |
1284 | /* if undead are not an enemy of your god, you turn them |
1285 | * at half strength */ |
1285 | * at half strength */ |
1286 | if (!god || !god->slaying || !god->slaying.contains (shstr_undead)) |
1286 | if (!god || !god->slaying.contains (shstr_undead)) |
1287 | div = 2; |
1287 | div = 2; |
1288 | |
1288 | |
1289 | /* Give a bonus if you resist turn undead */ |
1289 | /* Give a bonus if you resist turn undead */ |
1290 | if (op->level * div < (turn_bonus[owner->stats.Wis] + owner->level + (op->resist[ATNR_TURN_UNDEAD] / 100))) |
1290 | if (op->level * div < (turn_bonus[owner->stats.Wis] + owner->level + (op->resist[ATNR_TURN_UNDEAD] / 100))) |
1291 | scare_creature (op, owner); |
1291 | scare_creature (op, owner); |
… | |
… | |
1775 | || (!(op->race && hitter->slaying.contains (op->race)) |
1775 | || (!(op->race && hitter->slaying.contains (op->race)) |
1776 | && !(op->name && hitter->slaying.contains (op->name)))) |
1776 | && !(op->name && hitter->slaying.contains (op->name)))) |
1777 | && (!QUERY_FLAG (op, FLAG_UNDEAD) |
1777 | && (!QUERY_FLAG (op, FLAG_UNDEAD) |
1778 | || (hitter->title |
1778 | || (hitter->title |
1779 | && (god = find_god (determine_god (hitter))) != NULL |
1779 | && (god = find_god (determine_god (hitter))) != NULL |
1780 | && god->race |
|
|
1781 | && god->race.contains (shstr_undead)))) |
1780 | && god->race.contains (shstr_undead)))) |
1782 | return 0; |
1781 | return 0; |
1783 | } |
1782 | } |
1784 | |
1783 | |
1785 | maxattacktype = type; /* initialise this to something */ |
1784 | maxattacktype = type; /* initialise this to something */ |