• R/O
  • HTTP
  • SSH
  • HTTPS

hengband: Commit

変愚蛮怒のメインリポジトリです


Commit MetaInfo

Revisione5f7c14d12d56551c63e443af67dac9cf469e587 (tree)
Time2003-12-17 05:21:42
Authornothere <nothere@0568...>
Commiternothere

Log Message

m_ptr->mlとis_original_ap(m_ptr)の組み合わせだった部分をさらにマクロ
is_original_ap_and_seen()として整理.

Change Summary

Incremental Difference

--- a/src/cmd1.c
+++ b/src/cmd1.c
@@ -242,7 +242,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
242242 if ((have_flag(flgs, TR_SLAY_ANIMAL)) &&
243243 (r_ptr->flags3 & RF3_ANIMAL))
244244 {
245- if (m_ptr->ml && is_original_ap(m_ptr))
245+ if (is_original_ap_and_seen(m_ptr))
246246 {
247247 r_ptr->r_flags3 |= RF3_ANIMAL;
248248 }
@@ -254,7 +254,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
254254 if ((have_flag(flgs, TR_KILL_ANIMAL)) &&
255255 (r_ptr->flags3 & RF3_ANIMAL))
256256 {
257- if (m_ptr->ml && is_original_ap(m_ptr))
257+ if (is_original_ap_and_seen(m_ptr))
258258 {
259259 r_ptr->r_flags3 |= RF3_ANIMAL;
260260 }
@@ -266,7 +266,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
266266 if ((have_flag(flgs, TR_SLAY_EVIL)) &&
267267 (r_ptr->flags3 & RF3_EVIL))
268268 {
269- if (m_ptr->ml && is_original_ap(m_ptr))
269+ if (is_original_ap_and_seen(m_ptr))
270270 {
271271 r_ptr->r_flags3 |= RF3_EVIL;
272272 }
@@ -278,7 +278,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
278278 if ((have_flag(flgs, TR_KILL_EVIL)) &&
279279 (r_ptr->flags3 & RF3_EVIL))
280280 {
281- if (m_ptr->ml && is_original_ap(m_ptr))
281+ if (is_original_ap_and_seen(m_ptr))
282282 {
283283 r_ptr->r_flags3 |= RF3_EVIL;
284284 }
@@ -290,7 +290,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
290290 if ((have_flag(flgs, TR_SLAY_HUMAN)) &&
291291 (r_ptr->flags2 & RF2_HUMAN))
292292 {
293- if (m_ptr->ml && is_original_ap(m_ptr))
293+ if (is_original_ap_and_seen(m_ptr))
294294 {
295295 r_ptr->r_flags2 |= RF2_HUMAN;
296296 }
@@ -302,7 +302,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
302302 if ((have_flag(flgs, TR_KILL_HUMAN)) &&
303303 (r_ptr->flags2 & RF2_HUMAN))
304304 {
305- if (m_ptr->ml && is_original_ap(m_ptr))
305+ if (is_original_ap_and_seen(m_ptr))
306306 {
307307 r_ptr->r_flags2 |= RF2_HUMAN;
308308 }
@@ -314,7 +314,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
314314 if ((have_flag(flgs, TR_SLAY_UNDEAD)) &&
315315 (r_ptr->flags3 & RF3_UNDEAD))
316316 {
317- if (m_ptr->ml && is_original_ap(m_ptr))
317+ if (is_original_ap_and_seen(m_ptr))
318318 {
319319 r_ptr->r_flags3 |= RF3_UNDEAD;
320320 }
@@ -326,7 +326,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
326326 if ((have_flag(flgs, TR_KILL_UNDEAD)) &&
327327 (r_ptr->flags3 & RF3_UNDEAD))
328328 {
329- if (m_ptr->ml && is_original_ap(m_ptr))
329+ if (is_original_ap_and_seen(m_ptr))
330330 {
331331 r_ptr->r_flags3 |= RF3_UNDEAD;
332332 }
@@ -338,7 +338,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
338338 if ((have_flag(flgs, TR_SLAY_DEMON)) &&
339339 (r_ptr->flags3 & RF3_DEMON))
340340 {
341- if (m_ptr->ml && is_original_ap(m_ptr))
341+ if (is_original_ap_and_seen(m_ptr))
342342 {
343343 r_ptr->r_flags3 |= RF3_DEMON;
344344 }
@@ -350,7 +350,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
350350 if ((have_flag(flgs, TR_KILL_DEMON)) &&
351351 (r_ptr->flags3 & RF3_DEMON))
352352 {
353- if (m_ptr->ml && is_original_ap(m_ptr))
353+ if (is_original_ap_and_seen(m_ptr))
354354 {
355355 r_ptr->r_flags3 |= RF3_DEMON;
356356 }
@@ -362,7 +362,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
362362 if ((have_flag(flgs, TR_SLAY_ORC)) &&
363363 (r_ptr->flags3 & RF3_ORC))
364364 {
365- if (m_ptr->ml && is_original_ap(m_ptr))
365+ if (is_original_ap_and_seen(m_ptr))
366366 {
367367 r_ptr->r_flags3 |= RF3_ORC;
368368 }
@@ -374,7 +374,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
374374 if ((have_flag(flgs, TR_KILL_ORC)) &&
375375 (r_ptr->flags3 & RF3_ORC))
376376 {
377- if (m_ptr->ml && is_original_ap(m_ptr))
377+ if (is_original_ap_and_seen(m_ptr))
378378 {
379379 r_ptr->r_flags3 |= RF3_ORC;
380380 }
@@ -386,7 +386,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
386386 if ((have_flag(flgs, TR_SLAY_TROLL)) &&
387387 (r_ptr->flags3 & RF3_TROLL))
388388 {
389- if (m_ptr->ml && is_original_ap(m_ptr))
389+ if (is_original_ap_and_seen(m_ptr))
390390 {
391391 r_ptr->r_flags3 |= RF3_TROLL;
392392 }
@@ -398,7 +398,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
398398 if ((have_flag(flgs, TR_KILL_TROLL)) &&
399399 (r_ptr->flags3 & RF3_TROLL))
400400 {
401- if (m_ptr->ml && is_original_ap(m_ptr))
401+ if (is_original_ap_and_seen(m_ptr))
402402 {
403403 r_ptr->r_flags3 |= RF3_TROLL;
404404 }
@@ -410,7 +410,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
410410 if ((have_flag(flgs, TR_SLAY_GIANT)) &&
411411 (r_ptr->flags3 & RF3_GIANT))
412412 {
413- if (m_ptr->ml && is_original_ap(m_ptr))
413+ if (is_original_ap_and_seen(m_ptr))
414414 {
415415 r_ptr->r_flags3 |= RF3_GIANT;
416416 }
@@ -422,7 +422,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
422422 if ((have_flag(flgs, TR_KILL_GIANT)) &&
423423 (r_ptr->flags3 & RF3_GIANT))
424424 {
425- if (m_ptr->ml && is_original_ap(m_ptr))
425+ if (is_original_ap_and_seen(m_ptr))
426426 {
427427 r_ptr->r_flags3 |= RF3_GIANT;
428428 }
@@ -434,7 +434,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
434434 if ((have_flag(flgs, TR_SLAY_DRAGON)) &&
435435 (r_ptr->flags3 & RF3_DRAGON))
436436 {
437- if (m_ptr->ml && is_original_ap(m_ptr))
437+ if (is_original_ap_and_seen(m_ptr))
438438 {
439439 r_ptr->r_flags3 |= RF3_DRAGON;
440440 }
@@ -446,7 +446,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
446446 if ((have_flag(flgs, TR_KILL_DRAGON)) &&
447447 (r_ptr->flags3 & RF3_DRAGON))
448448 {
449- if (m_ptr->ml && is_original_ap(m_ptr))
449+ if (is_original_ap_and_seen(m_ptr))
450450 {
451451 r_ptr->r_flags3 |= RF3_DRAGON;
452452 }
@@ -463,7 +463,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
463463 /* Notice immunity */
464464 if (r_ptr->flagsr & RFR_EFF_IM_ACID_MASK)
465465 {
466- if (m_ptr->ml && is_original_ap(m_ptr))
466+ if (is_original_ap_and_seen(m_ptr))
467467 {
468468 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ACID_MASK);
469469 }
@@ -482,7 +482,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
482482 /* Notice immunity */
483483 if (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK)
484484 {
485- if (m_ptr->ml && is_original_ap(m_ptr))
485+ if (is_original_ap_and_seen(m_ptr))
486486 {
487487 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK);
488488 }
@@ -510,7 +510,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
510510 /* Notice immunity */
511511 if (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK)
512512 {
513- if (m_ptr->ml && is_original_ap(m_ptr))
513+ if (is_original_ap_and_seen(m_ptr))
514514 {
515515 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK);
516516 }
@@ -522,7 +522,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
522522 if (r_ptr->flags3 & RF3_HURT_FIRE)
523523 {
524524 if (mult < 70) mult = 70;
525- if (m_ptr->ml && is_original_ap(m_ptr))
525+ if (is_original_ap_and_seen(m_ptr))
526526 {
527527 r_ptr->r_flags3 |= RF3_HURT_FIRE;
528528 }
@@ -534,7 +534,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
534534 if (r_ptr->flags3 & RF3_HURT_FIRE)
535535 {
536536 if (mult < 50) mult = 50;
537- if (m_ptr->ml && is_original_ap(m_ptr))
537+ if (is_original_ap_and_seen(m_ptr))
538538 {
539539 r_ptr->r_flags3 |= RF3_HURT_FIRE;
540540 }
@@ -549,7 +549,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
549549 /* Notice immunity */
550550 if (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK)
551551 {
552- if (m_ptr->ml && is_original_ap(m_ptr))
552+ if (is_original_ap_and_seen(m_ptr))
553553 {
554554 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK);
555555 }
@@ -560,7 +560,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
560560 if (r_ptr->flags3 & RF3_HURT_COLD)
561561 {
562562 if (mult < 70) mult = 70;
563- if (m_ptr->ml && is_original_ap(m_ptr))
563+ if (is_original_ap_and_seen(m_ptr))
564564 {
565565 r_ptr->r_flags3 |= RF3_HURT_COLD;
566566 }
@@ -572,7 +572,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
572572 if (r_ptr->flags3 & RF3_HURT_COLD)
573573 {
574574 if (mult < 50) mult = 50;
575- if (m_ptr->ml && is_original_ap(m_ptr))
575+ if (is_original_ap_and_seen(m_ptr))
576576 {
577577 r_ptr->r_flags3 |= RF3_HURT_COLD;
578578 }
@@ -587,7 +587,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
587587 /* Notice immunity */
588588 if (r_ptr->flagsr & RFR_EFF_IM_POIS_MASK)
589589 {
590- if (m_ptr->ml && is_original_ap(m_ptr))
590+ if (is_original_ap_and_seen(m_ptr))
591591 {
592592 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_POIS_MASK);
593593 }
@@ -612,7 +612,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
612612 {
613613 if (r_ptr->flags3 & RF3_UNDEAD)
614614 {
615- if (m_ptr->ml && is_original_ap(m_ptr))
615+ if (is_original_ap_and_seen(m_ptr))
616616 {
617617 r_ptr->r_flags3 |= RF3_UNDEAD;
618618 }
@@ -629,7 +629,7 @@ s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bo
629629 }
630630 if ((mode == HISSATSU_HAGAN) && (r_ptr->flags3 & RF3_HURT_ROCK))
631631 {
632- if (m_ptr->ml && is_original_ap(m_ptr))
632+ if (is_original_ap_and_seen(m_ptr))
633633 {
634634 r_ptr->r_flags3 |= RF3_HURT_ROCK;
635635 }
@@ -1726,13 +1726,12 @@ static void touch_zap_player(monster_type *m_ptr)
17261726 msg_print("You are suddenly very hot!");
17271727 #endif
17281728
1729-
17301729 if (prace_is_(RACE_ENT)) aura_damage += aura_damage / 3;
17311730 if (IS_OPPOSE_FIRE()) aura_damage = (aura_damage + 2) / 3;
17321731 if (p_ptr->resist_fire) aura_damage = (aura_damage + 2) / 3;
17331732
17341733 take_hit(DAMAGE_NOESCAPE, aura_damage, aura_dam, -1);
1735- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flags2 |= RF2_AURA_FIRE;
1734+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags2 |= RF2_AURA_FIRE;
17361735 handle_stuff();
17371736 }
17381737 }
@@ -1754,12 +1753,11 @@ static void touch_zap_player(monster_type *m_ptr)
17541753 msg_print("You are suddenly very cold!");
17551754 #endif
17561755
1757-
17581756 if (IS_OPPOSE_COLD()) aura_damage = (aura_damage + 2) / 3;
17591757 if (p_ptr->resist_cold) aura_damage = (aura_damage + 2) / 3;
17601758
17611759 take_hit(DAMAGE_NOESCAPE, aura_damage, aura_dam, -1);
1762- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flags3 |= RF3_AURA_COLD;
1760+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= RF3_AURA_COLD;
17631761 handle_stuff();
17641762 }
17651763 }
@@ -1786,7 +1784,7 @@ static void touch_zap_player(monster_type *m_ptr)
17861784 #endif
17871785
17881786 take_hit(DAMAGE_NOESCAPE, aura_damage, aura_dam, -1);
1789- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flags2 |= RF2_AURA_ELEC;
1787+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags2 |= RF2_AURA_ELEC;
17901788 handle_stuff();
17911789 }
17921790 }
@@ -2748,10 +2746,7 @@ static void py_attack_aux(int y, int x, bool *fear, bool *mdeath, s16b hand, int
27482746 /* Confuse the monster */
27492747 if (r_ptr->flags3 & RF3_NO_CONF)
27502748 {
2751- if (m_ptr->ml && is_original_ap(m_ptr))
2752- {
2753- r_ptr->r_flags3 |= RF3_NO_CONF;
2754- }
2749+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= RF3_NO_CONF;
27552750
27562751 #ifdef JP
27572752 msg_format("%^sには効果がなかった。", m_name);
@@ -2789,7 +2784,7 @@ static void py_attack_aux(int y, int x, bool *fear, bool *mdeath, s16b hand, int
27892784 {
27902785 if (r_ptr->flags1 & RF1_UNIQUE)
27912786 {
2792- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
2787+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
27932788 #ifdef JP
27942789 msg_format("%^sには効果がなかった。", m_name);
27952790 #else
@@ -2800,7 +2795,7 @@ static void py_attack_aux(int y, int x, bool *fear, bool *mdeath, s16b hand, int
28002795 }
28012796 else if (r_ptr->level > randint1(100))
28022797 {
2803- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
2798+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
28042799 #ifdef JP
28052800 msg_format("%^sは抵抗力を持っている!", m_name);
28062801 #else
--- a/src/cmd2.c
+++ b/src/cmd2.c
@@ -2986,7 +2986,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
29862986 if ((have_flag(flgs, TR_SLAY_ANIMAL)) &&
29872987 (r_ptr->flags3 & RF3_ANIMAL))
29882988 {
2989- if (m_ptr->ml && is_original_ap(m_ptr))
2989+ if (is_original_ap_and_seen(m_ptr))
29902990 {
29912991 r_ptr->r_flags3 |= RF3_ANIMAL;
29922992 }
@@ -2998,7 +2998,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
29982998 if ((have_flag(flgs, TR_KILL_ANIMAL)) &&
29992999 (r_ptr->flags3 & RF3_ANIMAL))
30003000 {
3001- if (m_ptr->ml && is_original_ap(m_ptr))
3001+ if (is_original_ap_and_seen(m_ptr))
30023002 {
30033003 r_ptr->r_flags3 |= RF3_ANIMAL;
30043004 }
@@ -3010,7 +3010,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
30103010 if ((have_flag(flgs, TR_SLAY_EVIL)) &&
30113011 (r_ptr->flags3 & RF3_EVIL))
30123012 {
3013- if (m_ptr->ml && is_original_ap(m_ptr))
3013+ if (is_original_ap_and_seen(m_ptr))
30143014 {
30153015 r_ptr->r_flags3 |= RF3_EVIL;
30163016 }
@@ -3022,7 +3022,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
30223022 if ((have_flag(flgs, TR_KILL_EVIL)) &&
30233023 (r_ptr->flags3 & RF3_EVIL))
30243024 {
3025- if (m_ptr->ml && is_original_ap(m_ptr))
3025+ if (is_original_ap_and_seen(m_ptr))
30263026 {
30273027 r_ptr->r_flags3 |= RF3_EVIL;
30283028 }
@@ -3034,7 +3034,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
30343034 if ((have_flag(flgs, TR_SLAY_HUMAN)) &&
30353035 (r_ptr->flags2 & RF2_HUMAN))
30363036 {
3037- if (m_ptr->ml && is_original_ap(m_ptr))
3037+ if (is_original_ap_and_seen(m_ptr))
30383038 {
30393039 r_ptr->r_flags2 |= RF2_HUMAN;
30403040 }
@@ -3046,7 +3046,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
30463046 if ((have_flag(flgs, TR_KILL_HUMAN)) &&
30473047 (r_ptr->flags2 & RF2_HUMAN))
30483048 {
3049- if (m_ptr->ml && is_original_ap(m_ptr))
3049+ if (is_original_ap_and_seen(m_ptr))
30503050 {
30513051 r_ptr->r_flags2 |= RF2_HUMAN;
30523052 }
@@ -3058,7 +3058,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
30583058 if ((have_flag(flgs, TR_SLAY_UNDEAD)) &&
30593059 (r_ptr->flags3 & RF3_UNDEAD))
30603060 {
3061- if (m_ptr->ml && is_original_ap(m_ptr))
3061+ if (is_original_ap_and_seen(m_ptr))
30623062 {
30633063 r_ptr->r_flags3 |= RF3_UNDEAD;
30643064 }
@@ -3070,7 +3070,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
30703070 if ((have_flag(flgs, TR_KILL_UNDEAD)) &&
30713071 (r_ptr->flags3 & RF3_UNDEAD))
30723072 {
3073- if (m_ptr->ml && is_original_ap(m_ptr))
3073+ if (is_original_ap_and_seen(m_ptr))
30743074 {
30753075 r_ptr->r_flags3 |= RF3_UNDEAD;
30763076 }
@@ -3082,7 +3082,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
30823082 if ((have_flag(flgs, TR_SLAY_DEMON)) &&
30833083 (r_ptr->flags3 & RF3_DEMON))
30843084 {
3085- if (m_ptr->ml && is_original_ap(m_ptr))
3085+ if (is_original_ap_and_seen(m_ptr))
30863086 {
30873087 r_ptr->r_flags3 |= RF3_DEMON;
30883088 }
@@ -3094,7 +3094,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
30943094 if ((have_flag(flgs, TR_KILL_DEMON)) &&
30953095 (r_ptr->flags3 & RF3_DEMON))
30963096 {
3097- if (m_ptr->ml && is_original_ap(m_ptr))
3097+ if (is_original_ap_and_seen(m_ptr))
30983098 {
30993099 r_ptr->r_flags3 |= RF3_DEMON;
31003100 }
@@ -3106,7 +3106,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
31063106 if ((have_flag(flgs, TR_SLAY_ORC)) &&
31073107 (r_ptr->flags3 & RF3_ORC))
31083108 {
3109- if (m_ptr->ml && is_original_ap(m_ptr))
3109+ if (is_original_ap_and_seen(m_ptr))
31103110 {
31113111 r_ptr->r_flags3 |= RF3_ORC;
31123112 }
@@ -3118,7 +3118,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
31183118 if ((have_flag(flgs, TR_KILL_ORC)) &&
31193119 (r_ptr->flags3 & RF3_ORC))
31203120 {
3121- if (m_ptr->ml && is_original_ap(m_ptr))
3121+ if (is_original_ap_and_seen(m_ptr))
31223122 {
31233123 r_ptr->r_flags3 |= RF3_ORC;
31243124 }
@@ -3130,7 +3130,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
31303130 if ((have_flag(flgs, TR_SLAY_TROLL)) &&
31313131 (r_ptr->flags3 & RF3_TROLL))
31323132 {
3133- if (m_ptr->ml && is_original_ap(m_ptr))
3133+ if (is_original_ap_and_seen(m_ptr))
31343134 {
31353135 r_ptr->r_flags3 |= RF3_TROLL;
31363136 }
@@ -3142,7 +3142,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
31423142 if ((have_flag(flgs, TR_KILL_TROLL)) &&
31433143 (r_ptr->flags3 & RF3_TROLL))
31443144 {
3145- if (m_ptr->ml && is_original_ap(m_ptr))
3145+ if (is_original_ap_and_seen(m_ptr))
31463146 {
31473147 r_ptr->r_flags3 |= RF3_TROLL;
31483148 }
@@ -3154,7 +3154,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
31543154 if ((have_flag(flgs, TR_SLAY_GIANT)) &&
31553155 (r_ptr->flags3 & RF3_GIANT))
31563156 {
3157- if (m_ptr->ml && is_original_ap(m_ptr))
3157+ if (is_original_ap_and_seen(m_ptr))
31583158 {
31593159 r_ptr->r_flags3 |= RF3_GIANT;
31603160 }
@@ -3166,7 +3166,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
31663166 if ((have_flag(flgs, TR_KILL_GIANT)) &&
31673167 (r_ptr->flags3 & RF3_GIANT))
31683168 {
3169- if (m_ptr->ml && is_original_ap(m_ptr))
3169+ if (is_original_ap_and_seen(m_ptr))
31703170 {
31713171 r_ptr->r_flags3 |= RF3_GIANT;
31723172 }
@@ -3178,7 +3178,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
31783178 if ((have_flag(flgs, TR_SLAY_DRAGON)) &&
31793179 (r_ptr->flags3 & RF3_DRAGON))
31803180 {
3181- if (m_ptr->ml && is_original_ap(m_ptr))
3181+ if (is_original_ap_and_seen(m_ptr))
31823182 {
31833183 r_ptr->r_flags3 |= RF3_DRAGON;
31843184 }
@@ -3190,7 +3190,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
31903190 if ((have_flag(flgs, TR_KILL_DRAGON)) &&
31913191 (r_ptr->flags3 & RF3_DRAGON))
31923192 {
3193- if (m_ptr->ml && is_original_ap(m_ptr))
3193+ if (is_original_ap_and_seen(m_ptr))
31943194 {
31953195 r_ptr->r_flags3 |= RF3_DRAGON;
31963196 }
@@ -3209,7 +3209,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
32093209 /* Notice immunity */
32103210 if (r_ptr->flagsr & RFR_EFF_IM_ACID_MASK)
32113211 {
3212- if (m_ptr->ml && is_original_ap(m_ptr))
3212+ if (is_original_ap_and_seen(m_ptr))
32133213 {
32143214 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ACID_MASK);
32153215 }
@@ -3228,7 +3228,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
32283228 /* Notice immunity */
32293229 if (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK)
32303230 {
3231- if (m_ptr->ml && is_original_ap(m_ptr))
3231+ if (is_original_ap_and_seen(m_ptr))
32323232 {
32333233 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK);
32343234 }
@@ -3247,7 +3247,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
32473247 /* Notice immunity */
32483248 if (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK)
32493249 {
3250- if (m_ptr->ml && is_original_ap(m_ptr))
3250+ if (is_original_ap_and_seen(m_ptr))
32513251 {
32523252 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK);
32533253 }
@@ -3259,7 +3259,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
32593259 if (r_ptr->flags3 & RF3_HURT_FIRE)
32603260 {
32613261 if (mult < 25) mult = 25;
3262- if (m_ptr->ml && is_original_ap(m_ptr))
3262+ if (is_original_ap_and_seen(m_ptr))
32633263 {
32643264 r_ptr->r_flags3 |= RF3_HURT_FIRE;
32653265 }
@@ -3274,7 +3274,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
32743274 /* Notice immunity */
32753275 if (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK)
32763276 {
3277- if (m_ptr->ml && is_original_ap(m_ptr))
3277+ if (is_original_ap_and_seen(m_ptr))
32783278 {
32793279 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK);
32803280 }
@@ -3285,7 +3285,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
32853285 if (r_ptr->flags3 & RF3_HURT_COLD)
32863286 {
32873287 if (mult < 25) mult = 25;
3288- if (m_ptr->ml && is_original_ap(m_ptr))
3288+ if (is_original_ap_and_seen(m_ptr))
32893289 {
32903290 r_ptr->r_flags3 |= RF3_HURT_COLD;
32913291 }
@@ -3300,7 +3300,7 @@ static s16b tot_dam_aux_shot(object_type *o_ptr, int tdam, monster_type *m_ptr)
33003300 /* Notice immunity */
33013301 if (r_ptr->flagsr & RFR_EFF_IM_POIS_MASK)
33023302 {
3303- if (m_ptr->ml && is_original_ap(m_ptr))
3303+ if (is_original_ap_and_seen(m_ptr))
33043304 {
33053305 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_POIS_MASK);
33063306 }
--- a/src/defines.h
+++ b/src/defines.h
@@ -4076,6 +4076,9 @@
40764076 #define is_original_ap(A) \
40774077 (bool)(((A)->ap_r_idx == (A)->r_idx) ? TRUE : FALSE)
40784078
4079+#define is_original_ap_and_seen(A) \
4080+ (bool)((A)->ml && ((A)->ap_r_idx == (A)->r_idx))
4081+
40794082 /*
40804083 * Is the monster seen by the player?
40814084 */
--- a/src/mane.c
+++ b/src/mane.c
@@ -971,7 +971,7 @@ msg_print("無
971971 {
972972 if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flagsr & RFR_RES_ALL))
973973 {
974- if (is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
974+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
975975 #ifdef JP
976976 msg_format("%sには効果がなかった!", m_name);
977977 #else
@@ -982,7 +982,7 @@ msg_print("無
982982 }
983983 else if (r_ptr->level > randint1(100))
984984 {
985- if (is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
985+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
986986 #ifdef JP
987987 msg_format("%sには耐性がある!", m_name);
988988 #else
--- a/src/melee1.c
+++ b/src/melee1.c
@@ -268,10 +268,7 @@ bool make_attack_normal(int m_idx)
268268 ((randint0(100) + p_ptr->lev) > 50))
269269 {
270270 /* Remember the Evil-ness */
271- if (m_ptr->ml && is_original_ap(m_ptr))
272- {
273- r_ptr->r_flags3 |= RF3_EVIL;
274- }
271+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= RF3_EVIL;
275272
276273 /* Message */
277274 #ifdef JP
@@ -1874,7 +1871,7 @@ msg_format("%s
18741871 }
18751872 else
18761873 {
1877- if (m_ptr->ml && is_original_ap(m_ptr))
1874+ if (is_original_ap_and_seen(m_ptr))
18781875 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK);
18791876 }
18801877 }
@@ -1906,7 +1903,7 @@ msg_format("%s
19061903 }
19071904 else
19081905 {
1909- if (m_ptr->ml && is_original_ap(m_ptr))
1906+ if (is_original_ap_and_seen(m_ptr))
19101907 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK);
19111908 }
19121909 }
@@ -1938,7 +1935,7 @@ msg_format("%s
19381935 }
19391936 else
19401937 {
1941- if (m_ptr->ml && is_original_ap(m_ptr))
1938+ if (is_original_ap_and_seen(m_ptr))
19421939 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK);
19431940 }
19441941 }
@@ -1970,7 +1967,7 @@ msg_format("%s
19701967 }
19711968 else
19721969 {
1973- if (m_ptr->ml && is_original_ap(m_ptr))
1970+ if (is_original_ap_and_seen(m_ptr))
19741971 r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_RES_SHAR_MASK);
19751972 }
19761973
@@ -2005,12 +2002,12 @@ msg_format("%s
20052002 blinked = FALSE;
20062003 alive = FALSE;
20072004 }
2008- if (m_ptr->ml && is_original_ap(m_ptr))
2005+ if (is_original_ap_and_seen(m_ptr))
20092006 r_ptr->r_flags3 |= RF3_EVIL;
20102007 }
20112008 else
20122009 {
2013- if (m_ptr->ml && is_original_ap(m_ptr))
2010+ if (is_original_ap_and_seen(m_ptr))
20142011 r_ptr->r_flagsr |= RFR_RES_ALL;
20152012 }
20162013 }
@@ -2043,7 +2040,7 @@ msg_format("%s
20432040 }
20442041 else
20452042 {
2046- if (m_ptr->ml && is_original_ap(m_ptr))
2043+ if (is_original_ap_and_seen(m_ptr))
20472044 r_ptr->r_flagsr |= RFR_RES_ALL;
20482045 }
20492046 }
--- a/src/melee2.c
+++ b/src/melee2.c
@@ -2048,7 +2048,7 @@ msg_format("%s
20482048 msg_format("%^s is suddenly very hot!", m_name);
20492049 #endif
20502050 }
2051- if (m_ptr->ml && t_ptr->ml && is_original_ap(t_ptr)) tr_ptr->r_flags2 |= RF2_AURA_FIRE;
2051+ if (m_ptr->ml && is_original_ap_and_seen(t_ptr)) tr_ptr->r_flags2 |= RF2_AURA_FIRE;
20522052 project(t_idx, 0, m_ptr->fy, m_ptr->fx,
20532053 damroll (1 + ((tr_ptr->level) / 26),
20542054 1 + ((tr_ptr->level) / 17)),
@@ -2056,7 +2056,7 @@ msg_format("%s
20562056 }
20572057 else
20582058 {
2059- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK);
2059+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_FIRE_MASK);
20602060 }
20612061 }
20622062
@@ -2073,7 +2073,7 @@ msg_format("%s
20732073 msg_format("%^s is suddenly very cold!", m_name);
20742074 #endif
20752075 }
2076- if (m_ptr->ml && t_ptr->ml && is_original_ap(t_ptr)) tr_ptr->r_flags3 |= RF3_AURA_COLD;
2076+ if (m_ptr->ml && is_original_ap_and_seen(t_ptr)) tr_ptr->r_flags3 |= RF3_AURA_COLD;
20772077 project(t_idx, 0, m_ptr->fy, m_ptr->fx,
20782078 damroll (1 + ((tr_ptr->level) / 26),
20792079 1 + ((tr_ptr->level) / 17)),
@@ -2081,7 +2081,7 @@ msg_format("%s
20812081 }
20822082 else
20832083 {
2084- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK);
2084+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_COLD_MASK);
20852085 }
20862086 }
20872087
@@ -2098,7 +2098,7 @@ msg_format("%s
20982098 msg_format("%^s gets zapped!", m_name);
20992099 #endif
21002100 }
2101- if (m_ptr->ml && t_ptr->ml && is_original_ap(t_ptr)) tr_ptr->r_flags2 |= RF2_AURA_ELEC;
2101+ if (m_ptr->ml && is_original_ap_and_seen(t_ptr)) tr_ptr->r_flags2 |= RF2_AURA_ELEC;
21022102 project(t_idx, 0, m_ptr->fy, m_ptr->fx,
21032103 damroll (1 + ((tr_ptr->level) / 26),
21042104 1 + ((tr_ptr->level) / 17)),
@@ -2106,7 +2106,7 @@ msg_format("%s
21062106 }
21072107 else
21082108 {
2109- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK);
2109+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (r_ptr->flagsr & RFR_EFF_IM_ELEC_MASK);
21102110 }
21112111 }
21122112 }
@@ -2573,7 +2573,7 @@ msg_format("%^s
25732573 if (multiply_monster(m_idx, FALSE, (is_pet(m_ptr) ? PM_FORCE_PET : 0)))
25742574 {
25752575 /* Take note if visible */
2576- if (m_ptr->ml && m_list[hack_m_idx_ii].ml && is_original_ap(m_ptr))
2576+ if (m_list[hack_m_idx_ii].ml && is_original_ap_and_seen(m_ptr))
25772577 {
25782578 r_ptr->r_flags2 |= (RF2_MULTIPLY);
25792579 }
@@ -2606,7 +2606,7 @@ msg_format("%^s
26062606 }
26072607 }
26082608
2609- if (count && m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flags6 |= (RF6_SPECIAL);
2609+ if (count && is_original_ap_and_seen(m_ptr)) r_ptr->r_flags6 |= (RF6_SPECIAL);
26102610 }
26112611 }
26122612 }
@@ -2750,7 +2750,7 @@ msg_format("%^s%s", m_name, monmessage);
27502750 (randint0(100) < 75))
27512751 {
27522752 /* Memorize flags */
2753- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flags1 |= (RF1_RAND_50 | RF1_RAND_25);
2753+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags1 |= (RF1_RAND_50 | RF1_RAND_25);
27542754
27552755 /* Try four "random" directions */
27562756 mm[0] = mm[1] = mm[2] = mm[3] = 5;
@@ -2761,7 +2761,7 @@ msg_format("%^s%s", m_name, monmessage);
27612761 (randint0(100) < 50))
27622762 {
27632763 /* Memorize flags */
2764- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flags1 |= (RF1_RAND_50);
2764+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags1 |= (RF1_RAND_50);
27652765
27662766 /* Try four "random" directions */
27672767 mm[0] = mm[1] = mm[2] = mm[3] = 5;
@@ -2772,7 +2772,7 @@ msg_format("%^s%s", m_name, monmessage);
27722772 (randint0(100) < 25))
27732773 {
27742774 /* Memorize flags */
2775- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flags1 |= RF1_RAND_25;
2775+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags1 |= RF1_RAND_25;
27762776
27772777 /* Try four "random" directions */
27782778 mm[0] = mm[1] = mm[2] = mm[3] = 5;
@@ -3110,7 +3110,7 @@ msg_format("%^s%s", m_name, monmessage);
31103110 if (r_ptr->flags1 & RF1_NEVER_BLOW)
31113111 {
31123112 /* Hack -- memorize lack of attacks */
3113- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flags1 |= (RF1_NEVER_BLOW);
3113+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags1 |= (RF1_NEVER_BLOW);
31143114
31153115 /* Do not move */
31163116 do_move = FALSE;
@@ -3124,7 +3124,7 @@ msg_format("%^s%s", m_name, monmessage);
31243124 if (!(r_ptr->flags2 & RF2_STUPID)) do_move = FALSE;
31253125 else
31263126 {
3127- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flags2 |= (RF2_STUPID);
3127+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags2 |= (RF2_STUPID);
31283128 }
31293129 }
31303130 }
@@ -3164,7 +3164,7 @@ msg_format("%^s%s", m_name, monmessage);
31643164 {
31653165 if (r_ptr->flags2 & RF2_KILL_BODY)
31663166 {
3167- if (is_original_ap(m_ptr)) r_ptr->r_flags2 |= (RF2_KILL_BODY);
3167+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags2 |= (RF2_KILL_BODY);
31683168 }
31693169
31703170 /* attack */
@@ -3178,7 +3178,7 @@ msg_format("%^s%s", m_name, monmessage);
31783178 if (m_ptr->confused) return;
31793179 else if (r_ptr->flags2 & RF2_STUPID)
31803180 {
3181- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flags2 |= (RF2_STUPID);
3181+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags2 |= (RF2_STUPID);
31823182 return;
31833183 }
31843184 }
@@ -3224,7 +3224,7 @@ msg_format("%^s%s", m_name, monmessage);
32243224 if (do_move && (r_ptr->flags1 & RF1_NEVER_MOVE))
32253225 {
32263226 /* Hack -- memorize lack of attacks */
3227- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flags1 |= (RF1_NEVER_MOVE);
3227+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags1 |= (RF1_NEVER_MOVE);
32283228
32293229 /* Do not move */
32303230 do_move = FALSE;
@@ -3505,7 +3505,7 @@ msg_format("%^s%s", m_name, monmessage);
35053505 }
35063506
35073507 /* Learn things from observable monster */
3508- if (m_ptr->ml && is_original_ap(m_ptr))
3508+ if (is_original_ap_and_seen(m_ptr))
35093509 {
35103510 /* Monster opened a door */
35113511 if (did_open_door) r_ptr->r_flags2 |= (RF2_OPEN_DOOR);
--- a/src/mspells1.c
+++ b/src/mspells1.c
@@ -4555,7 +4555,7 @@ msg_print("¿
45554555 }
45564556
45574557 /* Remember what the monster did to us */
4558- if (seen && is_original_ap(m_ptr))
4558+ if (is_original_ap_and_seen(m_ptr))
45594559 {
45604560 /* Inate spell */
45614561 if (thrown_spell < 32 * 4)
--- a/src/mspells2.c
+++ b/src/mspells2.c
@@ -3285,7 +3285,7 @@ bool monst_spell_monst(int m_idx)
32853285 {
32863286 if ((tr_ptr->flags1 & RF1_UNIQUE) || (tr_ptr->flagsr & RFR_RES_ALL))
32873287 {
3288- if (t_ptr->ml && is_original_ap(t_ptr)) tr_ptr->r_flagsr |= RFR_RES_TELE;
3288+ if (is_original_ap_and_seen(t_ptr)) tr_ptr->r_flagsr |= RFR_RES_TELE;
32893289 if (see_t)
32903290 {
32913291 #ifdef JP
@@ -3299,7 +3299,7 @@ bool monst_spell_monst(int m_idx)
32993299 }
33003300 else if (tr_ptr->level > randint1(100))
33013301 {
3302- if (t_ptr->ml && is_original_ap(t_ptr)) tr_ptr->r_flagsr |= RFR_RES_TELE;
3302+ if (is_original_ap_and_seen(t_ptr)) tr_ptr->r_flagsr |= RFR_RES_TELE;
33033303 if (see_t)
33043304 {
33053305 #ifdef JP
@@ -3345,7 +3345,7 @@ bool monst_spell_monst(int m_idx)
33453345 {
33463346 if ((tr_ptr->flags1 & RF1_UNIQUE) || (tr_ptr->flagsr & RFR_RES_ALL))
33473347 {
3348- if (t_ptr->ml && is_original_ap(t_ptr)) tr_ptr->r_flagsr |= RFR_RES_TELE;
3348+ if (is_original_ap_and_seen(t_ptr)) tr_ptr->r_flagsr |= RFR_RES_TELE;
33493349 if (see_t)
33503350 {
33513351 #ifdef JP
@@ -3359,7 +3359,7 @@ bool monst_spell_monst(int m_idx)
33593359 }
33603360 else if (tr_ptr->level > randint1(100))
33613361 {
3362- if (t_ptr->ml && is_original_ap(t_ptr)) tr_ptr->r_flagsr |= RFR_RES_TELE;
3362+ if (is_original_ap_and_seen(t_ptr)) tr_ptr->r_flagsr |= RFR_RES_TELE;
33633363 if (see_t)
33643364 {
33653365 #ifdef JP
@@ -4204,7 +4204,7 @@ bool monst_spell_monst(int m_idx)
42044204 }
42054205
42064206 /* Remember what the monster did, if we saw it */
4207- if (m_ptr->ml && is_original_ap(m_ptr))
4207+ if (is_original_ap_and_seen(m_ptr))
42084208 {
42094209 /* Inate spell */
42104210 if (thrown_spell < 32*4)
--- a/src/mspells3.c
+++ b/src/mspells3.c
@@ -1398,7 +1398,7 @@ msg_print("無
13981398 {
13991399 if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flagsr & RFR_RES_ALL))
14001400 {
1401- if (is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
1401+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
14021402 #ifdef JP
14031403 msg_format("%sには効果がなかった!", m_name);
14041404 #else
@@ -1409,7 +1409,7 @@ msg_print("無
14091409 }
14101410 else if (r_ptr->level > randint1(100))
14111411 {
1412- if (is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
1412+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
14131413 #ifdef JP
14141414 msg_format("%sには耐性がある!", m_name);
14151415 #else
--- a/src/spells1.c
+++ b/src/spells1.c
@@ -1767,7 +1767,7 @@ static bool project_m(int who, int r, int y, int x, int dam, int typ , int flg)
17671767 note = " is immune.";
17681768 #endif
17691769 dam = 0;
1770- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
1770+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
17711771 break;
17721772 }
17731773 break;
@@ -1786,7 +1786,7 @@ static bool project_m(int who, int r, int y, int x, int dam, int typ , int flg)
17861786 note = " is immune.";
17871787 #endif
17881788 dam = 0;
1789- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
1789+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
17901790 break;
17911791 }
17921792 if (r_ptr->flagsr & RFR_IM_ACID)
@@ -1798,7 +1798,7 @@ note = "
17981798 #endif
17991799
18001800 dam /= 9;
1801- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_ACID);
1801+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_ACID);
18021802 }
18031803 break;
18041804 }
@@ -1816,7 +1816,7 @@ note = "
18161816 note = " is immune.";
18171817 #endif
18181818 dam = 0;
1819- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
1819+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
18201820 break;
18211821 }
18221822 if (r_ptr->flagsr & RFR_IM_ELEC)
@@ -1828,7 +1828,7 @@ note = "
18281828 #endif
18291829
18301830 dam /= 9;
1831- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_ELEC);
1831+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_ELEC);
18321832 }
18331833 break;
18341834 }
@@ -1846,7 +1846,7 @@ note = "
18461846 note = " is immune.";
18471847 #endif
18481848 dam = 0;
1849- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
1849+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
18501850 break;
18511851 }
18521852 if (r_ptr->flagsr & RFR_IM_FIRE)
@@ -1858,7 +1858,7 @@ note = "
18581858 #endif
18591859
18601860 dam /= 9;
1861- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_FIRE);
1861+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_FIRE);
18621862 }
18631863 else if (r_ptr->flags3 & (RF3_HURT_FIRE))
18641864 {
@@ -1869,7 +1869,7 @@ note = "
18691869 #endif
18701870
18711871 dam *= 2;
1872- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_FIRE);
1872+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_FIRE);
18731873 }
18741874 break;
18751875 }
@@ -1887,7 +1887,7 @@ note = "
18871887 note = " is immune.";
18881888 #endif
18891889 dam = 0;
1890- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
1890+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
18911891 break;
18921892 }
18931893 if (r_ptr->flagsr & RFR_IM_COLD)
@@ -1899,7 +1899,7 @@ note = "
18991899 #endif
19001900
19011901 dam /= 9;
1902- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_COLD);
1902+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_COLD);
19031903 }
19041904 else if (r_ptr->flags3 & (RF3_HURT_COLD))
19051905 {
@@ -1910,7 +1910,7 @@ note = "
19101910 #endif
19111911
19121912 dam *= 2;
1913- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_COLD);
1913+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_COLD);
19141914 }
19151915 break;
19161916 }
@@ -1928,7 +1928,7 @@ note = "
19281928 note = " is immune.";
19291929 #endif
19301930 dam = 0;
1931- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
1931+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
19321932 break;
19331933 }
19341934 if (r_ptr->flagsr & RFR_IM_POIS)
@@ -1940,7 +1940,7 @@ note = "
19401940 #endif
19411941
19421942 dam /= 9;
1943- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_POIS);
1943+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_POIS);
19441944 }
19451945 break;
19461946 }
@@ -1958,7 +1958,7 @@ note = "
19581958 note = " is immune.";
19591959 #endif
19601960 dam = 0;
1961- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
1961+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
19621962 break;
19631963 }
19641964 if (r_ptr->flagsr & RFR_IM_POIS)
@@ -1970,7 +1970,7 @@ note = "
19701970 #endif
19711971
19721972 dam *= 3; dam /= randint1(6) + 6;
1973- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_POIS);
1973+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_POIS);
19741974 }
19751975 else if (one_in_(3)) do_poly = TRUE;
19761976 break;
@@ -1989,7 +1989,7 @@ note = "
19891989 note = " is immune.";
19901990 #endif
19911991 dam = 0;
1992- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
1992+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
19931993 break;
19941994 }
19951995 if (r_ptr->flags3 & RF3_GOOD)
@@ -2001,7 +2001,7 @@ note = "
20012001 note = " is hit hard.";
20022002 #endif
20032003
2004- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_GOOD);
2004+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_GOOD);
20052005 }
20062006 break;
20072007 }
@@ -2019,7 +2019,7 @@ note = "
20192019 note = " is immune.";
20202020 #endif
20212021 dam = 0;
2022- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2022+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
20232023 break;
20242024 }
20252025 if (r_ptr->flags3 & RF3_GOOD)
@@ -2031,7 +2031,7 @@ note = "
20312031 note = " is immune.";
20322032 #endif
20332033
2034- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= RF3_GOOD;
2034+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= RF3_GOOD;
20352035 }
20362036 else if (r_ptr->flags3 & RF3_EVIL)
20372037 {
@@ -2042,7 +2042,7 @@ note = "
20422042 note = " is hit hard.";
20432043 #endif
20442044
2045- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= RF3_EVIL;
2045+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= RF3_EVIL;
20462046 }
20472047 else
20482048 {
@@ -2070,7 +2070,7 @@ note = "
20702070 note = " is immune.";
20712071 #endif
20722072 dam = 0;
2073- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2073+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
20742074 break;
20752075 }
20762076 break;
@@ -2089,7 +2089,7 @@ note = "
20892089 note = " is immune.";
20902090 #endif
20912091 dam = 0;
2092- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2092+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
20932093 break;
20942094 }
20952095 if (r_ptr->flagsr & RFR_RES_PLAS)
@@ -2101,7 +2101,7 @@ note = "
21012101 #endif
21022102
21032103 dam *= 3; dam /= randint1(6) + 6;
2104- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_PLAS);
2104+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_PLAS);
21052105 }
21062106 break;
21072107 }
@@ -2119,7 +2119,7 @@ note = "
21192119 note = " is immune.";
21202120 #endif
21212121 dam = 0;
2122- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2122+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
21232123 break;
21242124 }
21252125 if (r_ptr->flagsr & RFR_RES_NETH)
@@ -2133,7 +2133,7 @@ note = "
21332133 #endif
21342134
21352135 dam = 0;
2136- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_UNDEAD);
2136+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_UNDEAD);
21372137 }
21382138 else
21392139 {
@@ -2145,7 +2145,7 @@ note = "
21452145
21462146 dam *= 3; dam /= randint1(6) + 6;
21472147 }
2148- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_NETH);
2148+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_NETH);
21492149 }
21502150 else if (r_ptr->flags3 & RF3_EVIL)
21512151 {
@@ -2156,7 +2156,7 @@ note = "
21562156 note = " resists somewhat.";
21572157 #endif
21582158
2159- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_EVIL);
2159+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_EVIL);
21602160 }
21612161 break;
21622162 }
@@ -2174,7 +2174,7 @@ note = "
21742174 note = " is immune.";
21752175 #endif
21762176 dam = 0;
2177- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2177+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
21782178 break;
21792179 }
21802180 if (r_ptr->flagsr & RFR_RES_WATE)
@@ -2199,7 +2199,7 @@ note = "
21992199
22002200 dam *= 3; dam /= randint1(6) + 6;
22012201 }
2202- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_WATE);
2202+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_WATE);
22032203 }
22042204 break;
22052205 }
@@ -2217,7 +2217,7 @@ note = "
22172217 note = " is immune.";
22182218 #endif
22192219 dam = 0;
2220- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2220+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
22212221 break;
22222222 }
22232223 if (r_ptr->flagsr & RFR_RES_CHAO)
@@ -2229,7 +2229,7 @@ note = "
22292229 #endif
22302230
22312231 dam *= 3; dam /= randint1(6) + 6;
2232- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_CHAO);
2232+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_CHAO);
22332233 }
22342234 else if ((r_ptr->flags3 & RF3_DEMON) && one_in_(3))
22352235 {
@@ -2240,7 +2240,7 @@ note = "
22402240 #endif
22412241
22422242 dam *= 3; dam /= randint1(6) + 6;
2243- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_DEMON);
2243+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_DEMON);
22442244 }
22452245 else
22462246 {
@@ -2263,7 +2263,7 @@ note = "
22632263 note = " is immune.";
22642264 #endif
22652265 dam = 0;
2266- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2266+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
22672267 break;
22682268 }
22692269 if (r_ptr->flagsr & RFR_RES_SHAR)
@@ -2275,7 +2275,7 @@ note = "
22752275 #endif
22762276
22772277 dam *= 3; dam /= randint1(6) + 6;
2278- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_SHAR);
2278+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_SHAR);
22792279 }
22802280 break;
22812281 }
@@ -2293,7 +2293,7 @@ note = "
22932293 note = " is immune.";
22942294 #endif
22952295 dam = 0;
2296- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2296+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
22972297 break;
22982298 }
22992299 if (r_ptr->flagsr & RFR_RES_SHAR)
@@ -2305,7 +2305,7 @@ note = "
23052305 #endif
23062306
23072307 dam /= 2;
2308- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_SHAR);
2308+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_SHAR);
23092309 }
23102310 break;
23112311 }
@@ -2324,7 +2324,7 @@ note = "
23242324 note = " is immune.";
23252325 #endif
23262326 dam = 0;
2327- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2327+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
23282328 break;
23292329 }
23302330 if (r_ptr->flagsr & RFR_RES_SOUN)
@@ -2336,7 +2336,7 @@ note = "
23362336 #endif
23372337
23382338 dam *= 2; dam /= randint1(6) + 6;
2339- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_SOUN);
2339+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_SOUN);
23402340 }
23412341 else do_stun = (10 + randint1(15) + r) / (r + 1);
23422342 break;
@@ -2355,7 +2355,7 @@ note = "
23552355 note = " is immune.";
23562356 #endif
23572357 dam = 0;
2358- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2358+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
23592359 break;
23602360 }
23612361 if (r_ptr->flags3 & RF3_NO_CONF)
@@ -2367,7 +2367,7 @@ note = "
23672367 #endif
23682368
23692369 dam *= 3; dam /= randint1(6) + 6;
2370- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
2370+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
23712371 }
23722372 else do_conf = (10 + randint1(15) + r) / (r + 1);
23732373 break;
@@ -2386,7 +2386,7 @@ note = "
23862386 note = " is immune.";
23872387 #endif
23882388 dam = 0;
2389- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2389+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
23902390 break;
23912391 }
23922392 if (r_ptr->flagsr & RFR_RES_DISE)
@@ -2398,7 +2398,7 @@ note = "
23982398 #endif
23992399
24002400 dam *= 3; dam /= randint1(6) + 6;
2401- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_DISE);
2401+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_DISE);
24022402 }
24032403 break;
24042404 }
@@ -2416,7 +2416,7 @@ note = "
24162416 note = " is immune.";
24172417 #endif
24182418 dam = 0;
2419- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2419+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
24202420 break;
24212421 }
24222422 if (r_ptr->flagsr & RFR_RES_NEXU)
@@ -2428,7 +2428,7 @@ note = "
24282428 #endif
24292429
24302430 dam *= 3; dam /= randint1(6) + 6;
2431- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_NEXU);
2431+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_NEXU);
24322432 }
24332433 break;
24342434 }
@@ -2446,7 +2446,7 @@ note = "
24462446 note = " is immune.";
24472447 #endif
24482448 dam = 0;
2449- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2449+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
24502450 break;
24512451 }
24522452 if (r_ptr->flagsr & RFR_RES_WALL)
@@ -2458,7 +2458,7 @@ note = "
24582458 #endif
24592459
24602460 dam *= 3; dam /= randint1(6) + 6;
2461- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_WALL);
2461+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_WALL);
24622462 }
24632463 else do_stun = (randint1(15) + r) / (r + 1);
24642464 break;
@@ -2477,7 +2477,7 @@ note = "
24772477 note = " is immune.";
24782478 #endif
24792479 dam = 0;
2480- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2480+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
24812481 break;
24822482 }
24832483 if (r_ptr->flagsr & RFR_RES_INER)
@@ -2489,7 +2489,7 @@ note = "
24892489 #endif
24902490
24912491 dam *= 3; dam /= randint1(6) + 6;
2492- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_INER);
2492+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_INER);
24932493 }
24942494 else
24952495 {
@@ -2531,7 +2531,7 @@ note = "
25312531 note = " is immune.";
25322532 #endif
25332533 dam = 0;
2534- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2534+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
25352535 break;
25362536 }
25372537 if (r_ptr->flagsr & RFR_RES_TIME)
@@ -2543,7 +2543,7 @@ note = "
25432543 #endif
25442544
25452545 dam *= 3; dam /= randint1(6) + 6;
2546- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_TIME);
2546+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_TIME);
25472547 }
25482548 else do_time = (dam + 1) / 2;
25492549 break;
@@ -2564,14 +2564,14 @@ note = "
25642564 note = " is immune.";
25652565 #endif
25662566 dam = 0;
2567- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2567+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
25682568 break;
25692569 }
25702570 if (r_ptr->flagsr & RFR_RES_TELE)
25712571 {
25722572 if (r_ptr->flags1 & (RF1_UNIQUE))
25732573 {
2574- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
2574+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
25752575 #ifdef JP
25762576 note = "には効果がなかった。";
25772577 #else
@@ -2582,7 +2582,7 @@ note = "
25822582 }
25832583 else if (r_ptr->level > randint1(100))
25842584 {
2585- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
2585+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
25862586 #ifdef JP
25872587 note = "には耐性がある!";
25882588 #else
@@ -2607,7 +2607,7 @@ note = "
26072607
26082608 dam *= 3; dam /= randint1(6) + 6;
26092609 do_dist = 0;
2610- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_GRAV);
2610+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_GRAV);
26112611 }
26122612 else
26132613 {
@@ -2671,7 +2671,7 @@ note = "
26712671 note = " is immune.";
26722672 #endif
26732673 dam = 0;
2674- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2674+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
26752675 break;
26762676 }
26772677 break;
@@ -2691,12 +2691,12 @@ note = "
26912691 note = " is immune.";
26922692 #endif
26932693 dam = 0;
2694- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2694+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
26952695 break;
26962696 }
26972697 if (r_ptr->flags3 & RF3_HURT_ROCK)
26982698 {
2699- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_ROCK);
2699+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_ROCK);
27002700 #ifdef JP
27012701 note = "の皮膚がただれた!";
27022702 note_dies = "は蒸発した!";
@@ -2734,7 +2734,7 @@ note_dies = "
27342734 note = " is immune.";
27352735 #endif
27362736 dam = 0;
2737- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2737+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
27382738 break;
27392739 }
27402740 if (r_ptr->flags2 & RF2_EMPTY_MIND)
@@ -2745,7 +2745,7 @@ note_dies = "
27452745 #else
27462746 note = " is immune!";
27472747 #endif
2748- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags2 |= (RF2_EMPTY_MIND);
2748+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags2 |= (RF2_EMPTY_MIND);
27492749
27502750 }
27512751 else if ((r_ptr->flags2 & (RF2_STUPID | RF2_WEIRD_MIND)) ||
@@ -2871,7 +2871,7 @@ note_dies = "
28712871 note = " is immune.";
28722872 #endif
28732873 dam = 0;
2874- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2874+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
28752875 break;
28762876 }
28772877 if (r_ptr->flags2 & RF2_EMPTY_MIND)
@@ -2978,7 +2978,7 @@ note_dies = "
29782978 note = " is immune.";
29792979 #endif
29802980 dam = 0;
2981- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
2981+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
29822982 break;
29832983 }
29842984 if (one_in_(4))
@@ -3015,7 +3015,7 @@ note_dies = "
30153015 note = " is immune.";
30163016 #endif
30173017 dam = 0;
3018- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3018+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
30193019 break;
30203020 }
30213021 break;
@@ -3034,7 +3034,7 @@ note_dies = "
30343034 note = " is immune.";
30353035 #endif
30363036 dam = 0;
3037- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3037+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
30383038 break;
30393039 }
30403040 break;
@@ -3054,7 +3054,7 @@ note_dies = "
30543054 note = " is immune.";
30553055 #endif
30563056 dam = 0;
3057- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3057+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
30583058 break;
30593059 }
30603060 /* Attempt a saving throw */
@@ -3065,7 +3065,7 @@ note_dies = "
30653065 /* Memorize a flag */
30663066 if (r_ptr->flags3 & RF3_NO_CONF)
30673067 {
3068- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
3068+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
30693069 }
30703070
30713071 /* Resist */
@@ -3183,7 +3183,7 @@ note = "
31833183 note = " is immune.";
31843184 #endif
31853185 dam = 0;
3186- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3186+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
31873187 break;
31883188 }
31893189 do_stun = (randint1(15) + 1) / (r + 1);
@@ -3196,7 +3196,7 @@ note = "
31963196 #endif
31973197
31983198 dam /= 9;
3199- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_COLD);
3199+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_IM_COLD);
32003200 }
32013201 else if (r_ptr->flags3 & (RF3_HURT_COLD))
32023202 {
@@ -3207,7 +3207,7 @@ note = "
32073207 #endif
32083208
32093209 dam *= 2;
3210- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_COLD);
3210+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_COLD);
32113211 }
32123212 break;
32133213 }
@@ -3226,23 +3226,20 @@ note = "
32263226 note = " is immune.";
32273227 #endif
32283228 dam = 0;
3229- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3229+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
32303230 break;
32313231 }
32323232 if (!monster_living(r_ptr))
32333233 {
3234- if (seen)
3234+ if (is_original_ap_and_seen(m_ptr))
32353235 {
3236- if (is_original_ap(m_ptr))
3237- {
3238- if (r_ptr->flags3 & RF3_DEMON) r_ptr->r_flags3 |= (RF3_DEMON);
3239- if (r_ptr->flags3 & RF3_UNDEAD) r_ptr->r_flags3 |= (RF3_UNDEAD);
3240- if (r_ptr->flags3 & RF3_NONLIVING) r_ptr->r_flags3 |= (RF3_NONLIVING);
3241- }
3236+ if (r_ptr->flags3 & RF3_DEMON) r_ptr->r_flags3 |= (RF3_DEMON);
3237+ if (r_ptr->flags3 & RF3_UNDEAD) r_ptr->r_flags3 |= (RF3_UNDEAD);
3238+ if (r_ptr->flags3 & RF3_NONLIVING) r_ptr->r_flags3 |= (RF3_NONLIVING);
32423239 }
32433240
32443241 #ifdef JP
3245-note = "には効果がなかった!";
3242+ note = "には効果がなかった!";
32463243 #else
32473244 note = " is unaffected!";
32483245 #endif
@@ -3268,23 +3265,20 @@ note = "
32683265 note = " is immune.";
32693266 #endif
32703267 dam = 0;
3271- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3268+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
32723269 break;
32733270 }
32743271 if (!monster_living(r_ptr))
32753272 {
3276- if (seen)
3273+ if (is_original_ap_and_seen(m_ptr))
32773274 {
3278- if (is_original_ap(m_ptr))
3279- {
3280- if (r_ptr->flags3 & RF3_DEMON) r_ptr->r_flags3 |= (RF3_DEMON);
3281- if (r_ptr->flags3 & RF3_UNDEAD) r_ptr->r_flags3 |= (RF3_UNDEAD);
3282- if (r_ptr->flags3 & RF3_NONLIVING) r_ptr->r_flags3 |= (RF3_NONLIVING);
3283- }
3275+ if (r_ptr->flags3 & RF3_DEMON) r_ptr->r_flags3 |= (RF3_DEMON);
3276+ if (r_ptr->flags3 & RF3_UNDEAD) r_ptr->r_flags3 |= (RF3_UNDEAD);
3277+ if (r_ptr->flags3 & RF3_NONLIVING) r_ptr->r_flags3 |= (RF3_NONLIVING);
32843278 }
32853279
32863280 #ifdef JP
3287-note = "には完全な耐性がある。";
3281+ note = "には完全な耐性がある。";
32883282 #else
32893283 note = " is immune.";
32903284 #endif
@@ -3323,7 +3317,7 @@ note = "
33233317 note = " is immune.";
33243318 #endif
33253319 dam = 0;
3326- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3320+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
33273321 break;
33283322 }
33293323 /* Attempt to polymorph (see below) */
@@ -3537,7 +3531,7 @@ note = "
35373531 note = " is immune.";
35383532 #endif
35393533 dam = 0;
3540- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3534+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
35413535 break;
35423536 }
35433537 /* Powerful monsters can resist */
@@ -3589,7 +3583,7 @@ note = "
35893583 note = " is immune.";
35903584 #endif
35913585 dam = 0;
3592- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3586+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
35933587 break;
35943588 }
35953589 /* Attempt a saving throw */
@@ -3600,7 +3594,7 @@ note = "
36003594 /* Memorize a flag */
36013595 if (r_ptr->flags3 & RF3_NO_SLEEP)
36023596 {
3603- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_SLEEP);
3597+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_SLEEP);
36043598 }
36053599
36063600 /* No obvious effect */
@@ -3643,7 +3637,7 @@ note = "
36433637 note = " is immune.";
36443638 #endif
36453639 dam = 0;
3646- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3640+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
36473641 break;
36483642 }
36493643 /* Attempt a saving throw */
@@ -3689,7 +3683,7 @@ note = "
36893683 note = " is immune.";
36903684 #endif
36913685 dam = 0;
3692- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3686+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
36933687 break;
36943688 }
36953689 /* Attempt a saving throw */
@@ -3748,7 +3742,7 @@ note = "
37483742 note = " is immune.";
37493743 #endif
37503744 dam = 0;
3751- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3745+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
37523746 break;
37533747 }
37543748
@@ -3764,7 +3758,7 @@ note = "
37643758 /* Memorize a flag */
37653759 if (r_ptr->flags3 & RF3_NO_CONF)
37663760 {
3767- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
3761+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
37683762 }
37693763
37703764 /* Resist */
@@ -3835,7 +3829,7 @@ note = "
38353829 note = " is immune.";
38363830 #endif
38373831 dam = 0;
3838- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3832+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
38393833 break;
38403834 }
38413835
@@ -3910,7 +3904,7 @@ note = "
39103904 note = " is immune.";
39113905 #endif
39123906 dam = 0;
3913- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3907+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
39143908 break;
39153909 }
39163910
@@ -3986,7 +3980,7 @@ note = "
39863980 note = " is immune.";
39873981 #endif
39883982 dam = 0;
3989- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
3983+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
39903984 break;
39913985 }
39923986
@@ -4003,7 +3997,7 @@ note = "
40033997 /* Memorize a flag */
40043998 if (r_ptr->flags3 & (RF3_NO_CONF))
40053999 {
4006- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
4000+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
40074001 }
40084002
40094003 /* Resist */
@@ -4082,7 +4076,7 @@ msg_format("%s
40824076 note = " is immune.";
40834077 #endif
40844078 dam = 0;
4085- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
4079+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
40864080 break;
40874081 }
40884082
@@ -4148,7 +4142,7 @@ note = "
41484142 note = " is immune.";
41494143 #endif
41504144 dam = 0;
4151- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
4145+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
41524146 break;
41534147 }
41544148 /* Get confused later */
@@ -4162,7 +4156,7 @@ note = "
41624156 /* Memorize a flag */
41634157 if (r_ptr->flags3 & (RF3_NO_CONF))
41644158 {
4165- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
4159+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
41664160 }
41674161
41684162 /* Resist */
@@ -4195,7 +4189,7 @@ note = "
41954189 note = " is immune.";
41964190 #endif
41974191 dam = 0;
4198- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
4192+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
41994193 break;
42004194 }
42014195 do_stun = damroll((caster_lev / 20) + 3 , (dam)) + 1;
@@ -4241,14 +4235,11 @@ note = "
42414235 /* Hurt by light */
42424236 if (r_ptr->flags3 & (RF3_HURT_LITE))
42434237 {
4244- if (seen)
4245- {
4246- /* Obvious effect */
4247- obvious = TRUE;
4238+ /* Obvious effect */
4239+ if (seen) obvious = TRUE;
42484240
4249- /* Memorize the effects */
4250- if (is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_LITE);
4251- }
4241+ /* Memorize the effects */
4242+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_LITE);
42524243
42534244 /* Special effect */
42544245 #ifdef JP
@@ -4286,7 +4277,7 @@ note_dies = "
42864277 note = " is immune.";
42874278 #endif
42884279 dam = 0;
4289- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
4280+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
42904281 break;
42914282 }
42924283 if (r_ptr->flagsr & RFR_RES_LITE)
@@ -4298,11 +4289,11 @@ note_dies = "
42984289 #endif
42994290
43004291 dam *= 2; dam /= (randint1(6)+6);
4301- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_LITE);
4292+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_LITE);
43024293 }
43034294 else if (r_ptr->flags3 & (RF3_HURT_LITE))
43044295 {
4305- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_LITE);
4296+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_LITE);
43064297 #ifdef JP
43074298 note = "は光に身をすくめた!";
43084299 note_dies = "は光を受けてしぼんでしまった!";
@@ -4330,7 +4321,7 @@ note_dies = "
43304321 note = " is immune.";
43314322 #endif
43324323 dam = 0;
4333- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
4324+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
43344325 break;
43354326 }
43364327 if (r_ptr->flagsr & RFR_RES_DARK)
@@ -4342,7 +4333,7 @@ note_dies = "
43424333 #endif
43434334
43444335 dam *= 2; dam /= (randint1(6)+6);
4345- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_DARK);
4336+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_DARK);
43464337 }
43474338 break;
43484339 }
@@ -4359,14 +4350,11 @@ note_dies = "
43594350 /* Hurt by rock remover */
43604351 if (r_ptr->flags3 & (RF3_HURT_ROCK))
43614352 {
4362- if (seen)
4363- {
4364- /* Notice effect */
4365- obvious = TRUE;
4353+ /* Notice effect */
4354+ if (seen) obvious = TRUE;
43664355
4367- /* Memorize the effects */
4368- if (is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_ROCK);
4369- }
4356+ /* Memorize the effects */
4357+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_ROCK);
43704358
43714359 /* Cute little message */
43724360 #ifdef JP
@@ -4402,7 +4390,7 @@ note_dies = "
44024390 {
44034391 if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flagsr & RFR_RES_ALL))
44044392 {
4405- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
4393+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
44064394 #ifdef JP
44074395 note = "には効果がなかった!";
44084396 #else
@@ -4413,7 +4401,7 @@ note = "
44134401 }
44144402 else if (r_ptr->level > randint1(100))
44154403 {
4416- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
4404+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
44174405 #ifdef JP
44184406 note = "には耐性がある!";
44194407 #else
@@ -4426,11 +4414,8 @@ note = "
44264414
44274415 if (!resists_tele)
44284416 {
4429- if (seen)
4430- {
4431- obvious = TRUE;
4432- if (is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_UNDEAD);
4433- }
4417+ if (seen) obvious = TRUE;
4418+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_UNDEAD);
44344419 do_dist = dam;
44354420 }
44364421 }
@@ -4460,7 +4445,7 @@ note = "
44604445 {
44614446 if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flagsr & RFR_RES_ALL))
44624447 {
4463- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
4448+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
44644449 #ifdef JP
44654450 note = "には効果がなかった!";
44664451 #else
@@ -4471,7 +4456,7 @@ note = "
44714456 }
44724457 else if (r_ptr->level > randint1(100))
44734458 {
4474- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
4459+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
44754460 #ifdef JP
44764461 note = "には耐性がある!";
44774462 #else
@@ -4484,11 +4469,8 @@ note = "
44844469
44854470 if (!resists_tele)
44864471 {
4487- if (seen)
4488- {
4489- obvious = TRUE;
4490- if (is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_EVIL);
4491- }
4472+ if (seen) obvious = TRUE;
4473+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_EVIL);
44924474 do_dist = dam;
44934475 }
44944476 }
@@ -4514,9 +4496,9 @@ note = "
45144496 {
45154497 if ((r_ptr->flags1 & (RF1_UNIQUE)) || (r_ptr->flagsr & RFR_RES_ALL))
45164498 {
4517- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
4499+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
45184500 #ifdef JP
4519-note = "には効果がなかった!";
4501+ note = "には効果がなかった!";
45204502 #else
45214503 note = " is unaffected!";
45224504 #endif
@@ -4525,9 +4507,9 @@ note = "
45254507 }
45264508 else if (r_ptr->level > randint1(100))
45274509 {
4528- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
4510+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
45294511 #ifdef JP
4530-note = "には耐性がある!";
4512+ note = "には耐性がある!";
45314513 #else
45324514 note = " resists!";
45334515 #endif
@@ -4562,14 +4544,11 @@ note = "
45624544 /* Only affect undead */
45634545 if (r_ptr->flags3 & (RF3_UNDEAD))
45644546 {
4565- if (seen)
4566- {
4567- /* Learn about type */
4568- if (is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_UNDEAD);
4547+ /* Obvious */
4548+ if (seen) obvious = TRUE;
45694549
4570- /* Obvious */
4571- obvious = TRUE;
4572- }
4550+ /* Learn about type */
4551+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_UNDEAD);
45734552
45744553 /* Apply some fear */
45754554 do_fear = damroll(3, (dam / 2)) + 1;
@@ -4579,7 +4558,7 @@ note = "
45794558 {
45804559 /* No obvious effect */
45814560 #ifdef JP
4582-note = "には効果がなかった!";
4561+ note = "には効果がなかった!";
45834562 #else
45844563 note = " is unaffected!";
45854564 #endif
@@ -4613,14 +4592,11 @@ note = "
46134592 /* Only affect evil */
46144593 if (r_ptr->flags3 & (RF3_EVIL))
46154594 {
4616- if (seen)
4617- {
4618- /* Learn about type */
4619- if (is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_EVIL);
4595+ /* Obvious */
4596+ if (seen) obvious = TRUE;
46204597
4621- /* Obvious */
4622- obvious = TRUE;
4623- }
4598+ /* Learn about type */
4599+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_EVIL);
46244600
46254601 /* Apply some fear */
46264602 do_fear = damroll(3, (dam / 2)) + 1;
@@ -4630,7 +4606,7 @@ note = "
46304606 {
46314607 /* No obvious effect */
46324608 #ifdef JP
4633-note = "には効果がなかった!";
4609+ note = "には効果がなかった!";
46344610 #else
46354611 note = " is unaffected!";
46364612 #endif
@@ -4701,24 +4677,20 @@ note = "
47014677 /* Only affect undead */
47024678 if (r_ptr->flags3 & (RF3_UNDEAD))
47034679 {
4704- if (seen)
4705- {
4706- /* Learn about type */
4707- if (is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_UNDEAD);
4680+ /* Obvious */
4681+ if (seen) obvious = TRUE;
47084682
4709- /* Obvious */
4710- obvious = TRUE;
4711- }
4683+ /* Learn about type */
4684+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_UNDEAD);
47124685
47134686 /* Message */
47144687 #ifdef JP
4715-note = "は身震いした。";
4716-note_dies = "はドロドロに溶けた!";
4688+ note = "は身震いした。";
4689+ note_dies = "はドロドロに溶けた!";
47174690 #else
47184691 note = " shudders.";
47194692 note_dies = " dissolves!";
47204693 #endif
4721-
47224694 }
47234695
47244696 /* Others ignore */
@@ -4747,24 +4719,20 @@ note_dies = "
47474719 /* Only affect evil */
47484720 if (r_ptr->flags3 & (RF3_EVIL))
47494721 {
4750- if (seen)
4751- {
4752- /* Learn about type */
4753- if (is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_EVIL);
4722+ /* Obvious */
4723+ if (seen) obvious = TRUE;
47544724
4755- /* Obvious */
4756- obvious = TRUE;
4757- }
4725+ /* Learn about type */
4726+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_EVIL);
47584727
47594728 /* Message */
47604729 #ifdef JP
4761-note = "は身震いした。";
4762-note_dies = "はドロドロに溶けた!";
4730+ note = "は身震いした。";
4731+ note_dies = "はドロドロに溶けた!";
47634732 #else
47644733 note = " shudders.";
47654734 note_dies = " dissolves!";
47664735 #endif
4767-
47684736 }
47694737
47704738 /* Others ignore */
@@ -4792,24 +4760,20 @@ note_dies = "
47924760 /* Only affect good */
47934761 if (r_ptr->flags3 & (RF3_GOOD))
47944762 {
4795- if (seen)
4796- {
4797- /* Learn about type */
4798- if (is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_GOOD);
4763+ /* Obvious */
4764+ if (seen) obvious = TRUE;
47994765
4800- /* Obvious */
4801- obvious = TRUE;
4802- }
4766+ /* Learn about type */
4767+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_GOOD);
48034768
48044769 /* Message */
48054770 #ifdef JP
4806-note = "は身震いした。";
4807-note_dies = "はドロドロに溶けた!";
4771+ note = "は身震いした。";
4772+ note_dies = "はドロドロに溶けた!";
48084773 #else
48094774 note = " shudders.";
48104775 note_dies = " dissolves!";
48114776 #endif
4812-
48134777 }
48144778
48154779 /* Others ignore */
@@ -4876,24 +4840,20 @@ note_dies = "
48764840 /* Only affect demons */
48774841 if (r_ptr->flags3 & (RF3_DEMON))
48784842 {
4879- if (seen)
4880- {
4881- /* Learn about type */
4882- if (is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_DEMON);
4843+ /* Obvious */
4844+ if (seen) obvious = TRUE;
48834845
4884- /* Obvious */
4885- obvious = TRUE;
4886- }
4846+ /* Learn about type */
4847+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_DEMON);
48874848
48884849 /* Message */
48894850 #ifdef JP
4890-note = "は身震いした。";
4891-note_dies = "はドロドロに溶けた!";
4851+ note = "は身震いした。";
4852+ note_dies = "はドロドロに溶けた!";
48924853 #else
48934854 note = " shudders.";
48944855 note_dies = " dissolves!";
48954856 #endif
4896-
48974857 }
48984858
48994859 /* Others ignore */
@@ -4947,7 +4907,7 @@ note_dies = "
49474907 note = " is immune.";
49484908 #endif
49494909 skipped = TRUE;
4950- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
4910+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
49514911 break;
49524912 }
49534913
@@ -5022,7 +4982,7 @@ note_dies = "
50224982 note = " is immune.";
50234983 #endif
50244984 skipped = TRUE;
5025- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
4985+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
50264986 break;
50274987 }
50284988
@@ -5034,7 +4994,7 @@ note_dies = "
50344994 /* Memorize a flag */
50354995 if (r_ptr->flags3 & (RF3_NO_CONF))
50364996 {
5037- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
4997+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
50384998 }
50394999 #ifdef JP
50405000 note = "には効果がなかった。";
@@ -5045,7 +5005,7 @@ note_dies = "
50455005 }
50465006 else if (r_ptr->flags2 & RF2_EMPTY_MIND)
50475007 {
5048- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags2 |= (RF2_EMPTY_MIND);
5008+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags2 |= (RF2_EMPTY_MIND);
50495009 #ifdef JP
50505010 note = "には完全な耐性がある!";
50515011 #else
@@ -5055,7 +5015,7 @@ note_dies = "
50555015 }
50565016 else if (r_ptr->flags2 & RF2_WEIRD_MIND)
50575017 {
5058- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags2 |= (RF2_WEIRD_MIND);
5018+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags2 |= (RF2_WEIRD_MIND);
50595019 #ifdef JP
50605020 note = "には耐性がある。";
50615021 #else
@@ -5098,7 +5058,7 @@ note_dies = "
50985058 note = " is immune.";
50995059 #endif
51005060 skipped = TRUE;
5101- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
5061+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
51025062 break;
51035063 }
51045064
@@ -5110,7 +5070,7 @@ note_dies = "
51105070 /* Memorize a flag */
51115071 if (r_ptr->flags3 & (RF3_NO_CONF))
51125072 {
5113- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
5073+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_CONF);
51145074 }
51155075 #ifdef JP
51165076 note = "には効果がなかった。";
@@ -5121,7 +5081,7 @@ note_dies = "
51215081 }
51225082 else if (r_ptr->flags2 & RF2_EMPTY_MIND)
51235083 {
5124- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags2 |= (RF2_EMPTY_MIND);
5084+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags2 |= (RF2_EMPTY_MIND);
51255085 #ifdef JP
51265086 note = "には完全な耐性がある!";
51275087 #else
@@ -5131,7 +5091,7 @@ note_dies = "
51315091 }
51325092 else if (r_ptr->flags2 & RF2_WEIRD_MIND)
51335093 {
5134- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags2 |= (RF2_WEIRD_MIND);
5094+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags2 |= (RF2_WEIRD_MIND);
51355095 #ifdef JP
51365096 note = "には耐性がある。";
51375097 #else
@@ -5185,7 +5145,7 @@ note_dies = "
51855145 note = " is immune.";
51865146 #endif
51875147 skipped = TRUE;
5188- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
5148+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
51895149 break;
51905150 }
51915151
@@ -5221,7 +5181,7 @@ note_dies = "
52215181 note = " is immune.";
52225182 #endif
52235183 skipped = TRUE;
5224- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
5184+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
52255185 break;
52265186 }
52275187
@@ -5257,7 +5217,7 @@ note_dies = "
52575217 note = " is immune.";
52585218 #endif
52595219 skipped = TRUE;
5260- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
5220+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
52615221 break;
52625222 }
52635223
@@ -5293,7 +5253,7 @@ note_dies = "
52935253 note = " is immune.";
52945254 #endif
52955255 skipped = TRUE;
5296- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
5256+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
52975257 break;
52985258 }
52995259
@@ -5323,7 +5283,7 @@ note_dies = "
53235283 note = " is immune.";
53245284 #endif
53255285 skipped = TRUE;
5326- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
5286+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
53275287 break;
53285288 }
53295289
@@ -5456,7 +5416,7 @@ msg_format("
54565416 note = " is immune.";
54575417 #endif
54585418 dam = 0;
5459- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
5419+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
54605420 break;
54615421 }
54625422 if (r_ptr->flags2 & RF2_EMPTY_MIND)
@@ -5468,7 +5428,7 @@ note = "
54685428 #endif
54695429 dam = 0;
54705430 skipped = TRUE;
5471- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags2 |= (RF2_EMPTY_MIND);
5431+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags2 |= (RF2_EMPTY_MIND);
54725432 break;
54735433 }
54745434 if (m_ptr->csleep)
@@ -5553,7 +5513,7 @@ note = "
55535513 /* Memorize a flag */
55545514 if (r_ptr->flags3 & RF3_NO_SLEEP)
55555515 {
5556- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_SLEEP);
5516+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_SLEEP);
55575517 }
55585518
55595519 /* No obvious effect */
@@ -5606,7 +5566,7 @@ note = "
56065566 note = " is immune.";
56075567 #endif
56085568 skipped = TRUE;
5609- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
5569+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
56105570 break;
56115571 }
56125572
@@ -5673,14 +5633,11 @@ note = "
56735633 /* Hurt by light */
56745634 if (r_ptr->flags3 & (RF3_HURT_LITE))
56755635 {
5676- if (seen)
5677- {
5678- /* Obvious effect */
5679- obvious = TRUE;
5636+ /* Obvious effect */
5637+ if (seen) obvious = TRUE;
56805638
5681- /* Memorize the effects */
5682- if (is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_LITE);
5683- }
5639+ /* Memorize the effects */
5640+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_HURT_LITE);
56845641
56855642 /* Special effect */
56865643 #ifdef JP
@@ -5690,7 +5647,6 @@ note = "
56905647 note = " cringes from the light!";
56915648 note_dies = " shrivels away in the light!";
56925649 #endif
5693-
56945650 }
56955651
56965652 /* Normally no damage */
@@ -5719,7 +5675,7 @@ note = "
57195675 note = " is immune.";
57205676 #endif
57215677 dam = 0;
5722- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
5678+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
57235679 break;
57245680 }
57255681 break;
@@ -5770,7 +5726,7 @@ note = "
57705726 m_ptr->fast = MIN(200, m_ptr->fast + 100);
57715727
57725728 /* Learn about type */
5773- if (seen && is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_GOOD);
5729+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_GOOD);
57745730 success = TRUE;
57755731 }
57765732 }
@@ -5781,10 +5737,7 @@ note = "
57815737 {
57825738 do_fear = randint1(90)+10;
57835739 }
5784- else if (seen)
5785- {
5786- if (is_original_ap(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_FEAR);
5787- }
5740+ else if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= (RF3_NO_FEAR);
57885741 }
57895742
57905743 /* No "real" damage */
@@ -5804,7 +5757,7 @@ note = "
58045757 note = " is immune.";
58055758 #endif
58065759 skipped = TRUE;
5807- if (seen && is_original_ap(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
5760+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL);
58085761 break;
58095762 }
58105763
@@ -9056,7 +9009,7 @@ bool project(int who, int rad, int y, int x, int dam, int typ, int flg, int mons
90569009 msg_print("The attack bounces!");
90579010 #endif
90589011 }
9059- if (m_ptr->ml && is_original_ap(m_ptr)) ref_ptr->r_flags2 |= RF2_REFLECTING;
9012+ if (is_original_ap_and_seen(m_ptr)) ref_ptr->r_flags2 |= RF2_REFLECTING;
90609013
90619014 /* Reflected bolts randomly target either one */
90629015 if (one_in_(2)) flg |= PROJECT_PLAYER;
--- a/src/spells2.c
+++ b/src/spells2.c
@@ -6673,12 +6673,12 @@ msg_print("
66736673 if (r_ptr->flagsr & RFR_RES_TELE)
66746674 {
66756675 #ifdef JP
6676-msg_print("テレポートを邪魔された!");
6676+ msg_print("テレポートを邪魔された!");
66776677 #else
66786678 msg_print("Your teleportation is blocked!");
66796679 #endif
66806680
6681- if (m_ptr->ml && is_original_ap(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
6681+ if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= RFR_RES_TELE;
66826682
66836683 m_ptr->csleep = 0;
66846684 if (r_ptr->flags7 & RF7_HAS_LD_MASK) p_ptr->update |= (PU_MON_LITE);
Show on old repository browser