… | |
… | |
969 | if (!(--wand->stats.food)) |
969 | if (!(--wand->stats.food)) |
970 | { |
970 | { |
971 | if (wand->arch) |
971 | if (wand->arch) |
972 | { |
972 | { |
973 | CLEAR_FLAG (wand, FLAG_ANIMATE); |
973 | CLEAR_FLAG (wand, FLAG_ANIMATE); |
974 | wand->face = wand->arch->clone.face; |
974 | wand->face = wand->arch->face; |
975 | wand->set_speed (0); |
975 | wand->set_speed (0); |
976 | } |
976 | } |
977 | } |
977 | } |
978 | /* Success */ |
978 | /* Success */ |
979 | return 1; |
979 | return 1; |
… | |
… | |
1204 | case ROD: |
1204 | case ROD: |
1205 | flag = QUERY_FLAG (monster, FLAG_USE_RANGE); |
1205 | flag = QUERY_FLAG (monster, FLAG_USE_RANGE); |
1206 | break; |
1206 | break; |
1207 | |
1207 | |
1208 | case SPELLBOOK: |
1208 | case SPELLBOOK: |
1209 | flag = (monster->arch != NULL && QUERY_FLAG ((&monster->arch->clone), FLAG_CAST_SPELL)); |
1209 | flag = monster->arch && QUERY_FLAG (monster->arch, FLAG_CAST_SPELL); |
1210 | break; |
1210 | break; |
1211 | |
1211 | |
1212 | case SCROLL: |
1212 | case SCROLL: |
1213 | flag = QUERY_FLAG (monster, FLAG_USE_SCROLL); |
1213 | flag = QUERY_FLAG (monster, FLAG_USE_SCROLL); |
1214 | break; |
1214 | break; |
… | |
… | |
1283 | void |
1283 | void |
1284 | monster_check_apply (object *mon, object *item) |
1284 | monster_check_apply (object *mon, object *item) |
1285 | { |
1285 | { |
1286 | int flag = 0; |
1286 | int flag = 0; |
1287 | |
1287 | |
1288 | if (item->type == SPELLBOOK && mon->arch && (QUERY_FLAG ((&mon->arch->clone), FLAG_CAST_SPELL))) |
1288 | if (item->type == SPELLBOOK && mon->arch && (QUERY_FLAG (mon->arch, FLAG_CAST_SPELL))) |
1289 | { |
1289 | { |
1290 | SET_FLAG (mon, FLAG_CAST_SPELL); |
1290 | SET_FLAG (mon, FLAG_CAST_SPELL); |
1291 | return; |
1291 | return; |
1292 | } |
1292 | } |
1293 | |
1293 | |