- if (add < TR_FLAG_MAX)
- {
- add_flag(flgs, add);
- }
- else if (add == ESSENCE_TMP_RES_ACID)
- {
- add_flag(flgs, TR_RES_ACID);
- }
- else if (add == ESSENCE_TMP_RES_ELEC)
- {
- add_flag(flgs, TR_RES_ELEC);
- }
- else if (add == ESSENCE_TMP_RES_FIRE)
- {
- add_flag(flgs, TR_RES_FIRE);
- }
- else if (add == ESSENCE_TMP_RES_COLD)
- {
- add_flag(flgs, TR_RES_COLD);
- }
- else if (add == ESSENCE_SH_FIRE)
- {
- add_flag(flgs, TR_RES_FIRE);
- add_flag(flgs, TR_SH_FIRE);
- }
- else if (add == ESSENCE_SH_ELEC)
- {
- add_flag(flgs, TR_RES_ELEC);
- add_flag(flgs, TR_SH_ELEC);
- }
- else if (add == ESSENCE_SH_COLD)
- {
- add_flag(flgs, TR_RES_COLD);
- add_flag(flgs, TR_SH_COLD);
- }
- else if (add == ESSENCE_RESISTANCE)
- {
- add_flag(flgs, TR_RES_ACID);
- add_flag(flgs, TR_RES_ELEC);
- add_flag(flgs, TR_RES_FIRE);
- add_flag(flgs, TR_RES_COLD);
- }
+ int add = o_ptr->xtra3 - 1;
+ if (add < TR_FLAG_MAX)
+ {
+ add_flag(flgs, add);
+ }
+ else if (add == ESSENCE_TMP_RES_ACID)
+ {
+ add_flag(flgs, TR_RES_ACID);
+ }
+ else if (add == ESSENCE_TMP_RES_ELEC)
+ {
+ add_flag(flgs, TR_RES_ELEC);
+ }
+ else if (add == ESSENCE_TMP_RES_FIRE)
+ {
+ add_flag(flgs, TR_RES_FIRE);
+ }
+ else if (add == ESSENCE_TMP_RES_COLD)
+ {
+ add_flag(flgs, TR_RES_COLD);
+ }
+ else if (add == ESSENCE_SH_FIRE)
+ {
+ add_flag(flgs, TR_RES_FIRE);
+ add_flag(flgs, TR_SH_FIRE);
+ }
+ else if (add == ESSENCE_SH_ELEC)
+ {
+ add_flag(flgs, TR_RES_ELEC);
+ add_flag(flgs, TR_SH_ELEC);
+ }
+ else if (add == ESSENCE_SH_COLD)
+ {
+ add_flag(flgs, TR_RES_COLD);
+ add_flag(flgs, TR_SH_COLD);
+ }
+ else if (add == ESSENCE_RESISTANCE)
+ {
+ add_flag(flgs, TR_RES_ACID);
+ add_flag(flgs, TR_RES_ELEC);
+ add_flag(flgs, TR_RES_FIRE);
+ add_flag(flgs, TR_RES_COLD);