…and replace all references to mons_res_foo() with res_foo(). Where "foo" is one of the many different things monsters can resist that happened to have a function of that format.
TGfR! (Thank God for Regex!)
Signed-off-by: Robert Vollmert <rvollmert@gmx.net>
4I6DI5BZ4OTBYZCR2FT226PI3WJFJHL3YXPVELPDDMX4MHL5IUXAC XAFYT4W6V7C47S6N7E52YTPQV6BUOOHCXNTXD7I2DYGED5HAVTTAC HVBIFFGMVMU3J6SCKE5277427L6EMV4WZXI7XXJBE4RBQVBSZILAC 27TTAENBISK4C2N2SWCEEWCGKM3J452ZXHL4LAE7REMDAQXEBJVQC VBLQFLLGYJYCYOZRYQORQX2YGULJJ7T6IQBHTSTFH536IR3SXSAQC 6KNLZ3K5VMPGGO2WVAW5MC76J3GEEMJDLPUIHIZQXGHX6P56DXDAC 4HA53ET5DT6L6OXZ2GCP3JQ4WUJSXHRKHFDQ4SKOIVNGPTGIHQUQC OCIBK2NBMT2VBN7UWK5H24J3HUJHQV5BWUIJQW7CKLDTXMXZSWVAC Y33EE4Z2NFWA2UM2KBSDNBTVKPDPTEA5N2NZXVDI442K5WXADNSAC ASXBSZVXJCWVX5VQSRWXL5BWQ4NA7JLYXP6LWQTRGYW6DC2DZZPQC KATZLWENEIQMKKWIV4ZLXJ5HFUW6SU5K4ZU6NENBOL4XAAVTDUKAC HB27XKFYVYIEQZGBCEZ6LKPUBMXLIPDAAS636GJ5TULIQ7KND5KQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC UJMQZDP3ZBWXZICQ47JRNNR73BUP4OGLOKW66INUFPBFDBL7YSPQC UEI5JAVCMN7Y2SACTEZPZSNFJWOJTC55G24Q6LKQCT4XNDH5ZQIAC ZB5MLJOVFY2ZULUWA237VLTIJONQOW2QMOEB4O3WRQRJK4QWYOZQC 66A23OYT2NMU3M2NIOKNAKM5MQVOVRTOCXYB7BALJPB7CRIPQZLAC 4672347M2OUNNY45GNM3UZRZMP2FWO2I3LMWIEXTO47S2F6LHHIQC 6O47K6HB324PF6GFUVSE7W6AE2DFITU6ZTM5VJGT3PXSTCLAHXOQC PCD4U3T32DRY6DNUXP6VEESUPOY72NN42KY6KWPEMSFUU5NOFKYAC EYHC4V76YSCWY22DQIXLVTAP5SKZLBSBQWYFPDVEXF6IW552HR5QC S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC LG7XJWUXOV4ZBMOTZX7R5NUC5IONVNCF5O42M4QVYLHNZ62AV25AC CLBOD3ANEMCQTE6USMTZAH4UWNLB73AIT3ZCDHLUUTMLQTCZJ4GAC V3YASGPC7MVXZE75XX7YQ7U6LFEJDNCTQA6NMI6R5TB5KEZH4RCQC IYMUEJG2VI3TV7HVAZIU2L4DVQY7VNSIFVV4I3QIVP7H66EVJISAC NNG27Y5ZQAZX6UD7F7M4F6KEZBEDFXPEEC3LFUSX4ESKT7K6UJQAC TGMLNXYRQPKRNQLMRQYRF2SPMB7SREC5N3H5QXT3UYSSY7UCTLCAC C67GX7W5HBCDPQJRSHWMLM4DUJ3ELFSHH42SVICFJVCJW25T5Z3AC LJFI2JIGND5STQQXWGFQ75YLPW34PSHGJGZBHYG5ZVYMO7FZYOYAC 47NSOFQMBZCDIBHEAZSENFUGDSQCX3GJHFBUZ65ARDKCYIZ435LAC 23I5KJ245D43B6QYWS4TDQYJO2W2PKTDCLFBWPVAFDWS6L7NMGKQC SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC SJDOBXECX7F3ZPPVR7FPURE53D47PP2TFIF4SB6XPS456PZV3DQAC PFEJ4LMDNEKLMGRCMWQ7EIRVU4JMYGICI4G7X4WVWOROVXQCBZ7QC TJ72NVTRNJKF55RTH5MRLTHHVPOJ2M5OOYEWF4UFLTO2PPPTU6PQC 6TQASFI7B552ZNCBVI7AS3MMMACNTGEJESTB74EFCH2MJGH5LW3AC IZ2FRVXI5H4TXLFZETEZEDBBC4KKSS7F4W6NWAZ37L7B6HU7HXKAC KDK4YJQS4P7HRB334SZ3EFCW27AEGRPE3PXW6S6TKRIG6HLOKQNAC QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC ADIVVYTV2MJ3XVRYDNBLPTAEACCNF27XZDCRVZFQEHRHPMZGNITQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC WVKP2MFDE56ZO3OI7FCEKE5LI3MAUIL6IDTUW6MEBCV5OWF4OKEAC DCD5TZTIZ2JNYXJT22YSIS7FPOSUEUUV3B7GSY2DWP2NSVLXAVQAC RBAGQ2PB7V5YAM5KSHSZR2E3MLKDSRVM5XYGI2TIXP5QMVBOQHDQC FAVME2A2U4OUKN2BTISAG5PCI5Y4BN6YVFKCSQQHHZLEVVVF4LKAC UWI3ZNJDRQRL7CXFNFEG46TA6SAK24XUFY5YOKVOTJA3VG3OBNFAC ZWBPR3CERTLNVE7MNKMLFHCZA7U2VXLV3W7X7DBATGZZI2S2YV4QC 4Q5OYUKF2SGF7WHMIVYFZVXXDCFUCYY534VLOGKWYRSPYKRXMVDAC UDFLMJBZ6KY6Z33MSHVFJBOI6JH6WXVPSQK6PUZLXJ76TIQNHPHAC J4DJEUCVC76RZYRYC77TJWS6OFT62IJNDVU2YTAIX23QFESJXHHAC VK3LNDA3TXEPBMLDWBTEBDOZMPP3YUED3A624XMHWI6FI7LP3HGAC NVSFIV2ZKP44XHCSCXG6OZVGL67OIFINC34J2EMKTA4KULCERUEAC 3LBVOBA2BOYLMSZPC47WGOMCRFCZ3AOYG4675W7F3N6Z2ESNFZQAC 7TW2ZEZ6DTENSGICHJBGYKZW4B5DORQLRIHVOT5ZAIDJFCBJOIOQC ZNGET7722J4PJXQM7IISUIIUFGB6D7WBD4IXR4QQENHERHXOG7KQC U7JRZNFGHRV7T3NIB7DY5OZOYDJRUCENBGVY25FJNZHH42VGZFEAC NGYDCXRTQ4LRZC2A4DMLD63PPU65PN6ZGCAUD3S3HVBXU6TFLY7AC RLHYD2BIXELGP4XRXCIFSCYJEHLO4YL45DU77WQAZL7ZU6UBLWEQC HE3D6YNIZOLTMT7TCUPL7GMHNYOUUF6B7357F6K5PKXTVDOEDI6AC BR4UJTJEP76VHWKMNCRIQAIBHH4XWRNTXYQU4POSNLMSND65MMHAC PWY4VZVHDLYL7UVNCCOW7BM7LYK2BOGTL23P75HXUJ33MHJPEJPQC 634UBQG7RYANZYTNHYLPHMXXO3FUJYUVHGFSK53TH6572QDVUOBQC 6LTQT4CP7LJZLAE7JTPQ4OT4JOG3IFYM7RNXL3FINKBFO6452DTAC 3DQXSE4YGFBBDUWK4YEOFWW4UPWILWELFSLP37SL6BERGAZJC5YAC X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC GE7XFWXEYNZXWNCKWHBHYIBSYQPZMBAE43PN7RW4B7WOCJKM7DZQC T7CUIVICB74342RA32BR37T36FOX4RBSQIB5PNOHTGTGUYGDKSTQC 5FHWTG7M6FW4B3I33YI7QSM3OZIB6ZGC6TI6JISSLY5Y43HI56VAC P4KV3XKK2NCQAUPCMTHJPSA2FETTBY5WOMCVP4IFMNJZABEQWKWQC IXEEKYV5WQQFMWSWPD53HXPEZTBL4FCPJCSBFBBNG2I7JHRE4QEAC SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC TBXBRCAS7AFZCWERO77ZIPUORPNX747YLK73B4MPFBR7XXMQO6GAC YCL3W2PFE6ILTGBFODCSXNPDIA46KVSZP2TI7HDMYAOEJT65RIEAC PR42BCP5BPRFD2MP5H6CIJP7E57Q6TKL6SOXZWFKMFVR2OZWHT7AC PI5BATR2SER3RFE76IUGHM2AGXVFOUM3PLU7WC2K2Q2BA5K2E73QC JDIK6Y6PQBNY4C7XGSTUDWNDHP3KUEV54SGWOBLVUHNE4H674TEQC SUIDQIK6BZDJSYSFG6AK5A6K76EKGPKBKGGRCIU2AN6XOTCUHOBAC 3JKKL6VSKQHBBTKEBSADZVCNXZLL4S6KN2W7G2CY5OBOMMUTIWXQC 46I36AWFYIFDOUPKFEMJSJTPQ27CQP7FNKOLT3ZOBUI6SF4EL7RQC K33CV7EYR37TTSEXQWQ6QPHSEUFO545AIPUZOA2C47QTUCUWFPAAC RIMJO42HB75SAZH44KZ2UH2QULOPIJLMEN4CR2CYNR2EKEKLFHSQC QLEBDRVUQ3BMCT7LV4EBPG7T5X4KMQJAVLMLHHB7DRCNNGDQBRNQC UADYVV3UD5ERJTZZJGY4EUQ4NJ2JSBG7YYUJ75ZRBIXRQXQKOJPAC ZI7643NG3LOKVSDXHFNV2YU3ZIQUVEY25AOXZCPBXJB5SQAUCE6QC int mons_res_cold(const monsters *mon);int mons_res_elec(const monsters *mon);int mons_res_fire(const monsters *mon);int mons_res_steam(const monsters *mon);int mons_res_poison(const monsters *mon);int mons_res_asphyx(const monsters *mon);int mons_res_sticky_flame(const monsters *mon);int mons_res_rotting(const monsters *mon);int mons_res_acid(const monsters *mon);int mons_res_negative_energy(const monsters *mon);
}int mons_res_elec(const monsters *mon){// This is a variable, not a player_xx() function, so can be above 1.int u = 0;u += get_mons_resists(mon).elec;// Don't bother checking equipment if the monster can't use it.if (mons_itemuse(mon) >= MONUSE_STARTING_EQUIPMENT){u += _scan_mon_inv_randarts(mon, ARTP_ELECTRICITY);// No ego armour, but storm dragon.const int armour = mon->inv[MSLOT_ARMOUR];if (armour != NON_ITEM && mitm[armour].base_type == OBJ_ARMOUR&& mitm[armour].sub_type == ARM_STORM_DRAGON_ARMOUR){u += 1;}}// Monsters can legitimately get multiple levels of electricity resistance.return (u);}int mons_res_acid(const monsters *mon){return (get_mons_resists(mon).acid);}int mons_res_poison(const monsters *mon){int u = get_mons_resists(mon).poison;if (mons_itemuse(mon) >= MONUSE_STARTING_EQUIPMENT){u += _scan_mon_inv_randarts( mon, ARTP_POISON );const int armour = mon->inv[MSLOT_ARMOUR];const int shield = mon->inv[MSLOT_SHIELD];if (armour != NON_ITEM && mitm[armour].base_type == OBJ_ARMOUR){// intrinsic armour abilitiesswitch (mitm[armour].sub_type){case ARM_SWAMP_DRAGON_ARMOUR: u += 1; break;case ARM_GOLD_DRAGON_ARMOUR: u += 1; break;default: break;}// ego armour resistanceif (get_armour_ego_type(mitm[armour]) == SPARM_POISON_RESISTANCE)u += 1;}if (shield != NON_ITEM && mitm[shield].base_type == OBJ_ARMOUR){// ego armour resistanceif (get_armour_ego_type(mitm[shield]) == SPARM_POISON_RESISTANCE)u += 1;}}// Monsters can legitimately get multiple levels of poison resistance.return (u);
int mons_res_asphyx(const monsters *mon){int res = get_mons_resists(mon).asphyx;const mon_holy_type holiness = mons_holiness(mon);if (mons_is_unholy(mon)|| holiness == MH_NONLIVING|| holiness == MH_PLANT){res += 1;}return (res);}int mons_res_sticky_flame(const monsters *mon){int res = get_mons_resists(mon).sticky_flame;if (mon->has_equipped(EQ_BODY_ARMOUR, ARM_MOTTLED_DRAGON_ARMOUR))res += 1;return (res);}int mons_res_rotting(const monsters *mon){int res = get_mons_resists(mon).rotting;if (mons_holiness(mon) != MH_NATURAL)res += 1;return (res);}int mons_res_steam(const monsters *mon){int res = get_mons_resists(mon).steam;if (mon->has_equipped(EQ_BODY_ARMOUR, ARM_STEAM_DRAGON_ARMOUR))res += 3;return (res + mons_res_fire(mon) / 2);}int mons_res_fire(const monsters *mon){const mon_resist_def res = get_mons_resists(mon);int u = std::min(res.fire + res.hellfire * 3, 3);if (mons_itemuse(mon) >= MONUSE_STARTING_EQUIPMENT){u += _scan_mon_inv_randarts(mon, ARTP_FIRE);const int armour = mon->inv[MSLOT_ARMOUR];const int shield = mon->inv[MSLOT_SHIELD];if (armour != NON_ITEM && mitm[armour].base_type == OBJ_ARMOUR){// intrinsic armour abilitiesswitch (mitm[armour].sub_type){case ARM_DRAGON_ARMOUR: u += 2; break;case ARM_GOLD_DRAGON_ARMOUR: u += 1; break;case ARM_ICE_DRAGON_ARMOUR: u -= 1; break;default: break;}// check ego resistanceconst int ego = get_armour_ego_type(mitm[armour]);if (ego == SPARM_FIRE_RESISTANCE || ego == SPARM_RESISTANCE)u += 1;}if (shield != NON_ITEM && mitm[shield].base_type == OBJ_ARMOUR){// check ego resistanceconst int ego = get_armour_ego_type(mitm[shield]);if (ego == SPARM_FIRE_RESISTANCE || ego == SPARM_RESISTANCE)u += 1;}}if (u < -3)u = -3;else if (u > 3)u = 3;return (u);}int mons_res_cold(const monsters *mon){int u = get_mons_resists(mon).cold;if (mons_itemuse(mon) >= MONUSE_STARTING_EQUIPMENT){u += _scan_mon_inv_randarts(mon, ARTP_COLD);const int armour = mon->inv[MSLOT_ARMOUR];const int shield = mon->inv[MSLOT_SHIELD];if (armour != NON_ITEM && mitm[armour].base_type == OBJ_ARMOUR){// intrinsic armour abilitiesswitch (mitm[armour].sub_type){case ARM_ICE_DRAGON_ARMOUR: u += 2; break;case ARM_GOLD_DRAGON_ARMOUR: u += 1; break;case ARM_DRAGON_ARMOUR: u -= 1; break;default: break;}// check ego resistanceconst int ego = get_armour_ego_type(mitm[armour]);if (ego == SPARM_COLD_RESISTANCE || ego == SPARM_RESISTANCE)u += 1;}if (shield != NON_ITEM && mitm[shield].base_type == OBJ_ARMOUR){// check ego resistanceconst int ego = get_armour_ego_type(mitm[shield]);if (ego == SPARM_COLD_RESISTANCE || ego == SPARM_RESISTANCE)u += 1;}}if (u < -3)u = -3;else if (u > 3)u = 3;return (u);}int mons_res_negative_energy(const monsters *mon){if (mons_holiness(mon) != MH_NATURAL|| mon->type == MONS_SHADOW_DRAGON){return (3);}int u = 0;if (mons_itemuse(mon) >= MONUSE_STARTING_EQUIPMENT){u += _scan_mon_inv_randarts(mon, ARTP_NEGATIVE_ENERGY);const int armour = mon->inv[MSLOT_ARMOUR];const int shield = mon->inv[MSLOT_SHIELD];if (armour != NON_ITEM && mitm[armour].base_type == OBJ_ARMOUR){// check for ego resistanceif (get_armour_ego_type(mitm[armour]) == SPARM_POSITIVE_ENERGY)u += 1;}if (shield != NON_ITEM && mitm[shield].base_type == OBJ_ARMOUR){// check for ego resistanceif (get_armour_ego_type(mitm[shield]) == SPARM_POSITIVE_ENERGY)u += 1;}}if (u > 3)u = 3;return (u);}
return (mons_res_fire(this));
const mon_resist_def res = get_mons_resists(this);int u = std::min(res.fire + res.hellfire * 3, 3);if (mons_itemuse(this) >= MONUSE_STARTING_EQUIPMENT){u += _scan_mon_inv_randarts(this, ARTP_FIRE);const int armour = inv[MSLOT_ARMOUR];const int shield = inv[MSLOT_SHIELD];if (armour != NON_ITEM && mitm[armour].base_type == OBJ_ARMOUR){// intrinsic armour abilitiesswitch (mitm[armour].sub_type){case ARM_DRAGON_ARMOUR: u += 2; break;case ARM_GOLD_DRAGON_ARMOUR: u += 1; break;case ARM_ICE_DRAGON_ARMOUR: u -= 1; break;default: break;}// check ego resistanceconst int ego = get_armour_ego_type(mitm[armour]);if (ego == SPARM_FIRE_RESISTANCE || ego == SPARM_RESISTANCE)u += 1;}if (shield != NON_ITEM && mitm[shield].base_type == OBJ_ARMOUR){// check ego resistanceconst int ego = get_armour_ego_type(mitm[shield]);if (ego == SPARM_FIRE_RESISTANCE || ego == SPARM_RESISTANCE)u += 1;}}if (u < -3)u = -3;else if (u > 3)u = 3;return (u);
return (mons_res_cold(this));
int u = get_mons_resists(this).cold;if (mons_itemuse(this) >= MONUSE_STARTING_EQUIPMENT){u += _scan_mon_inv_randarts(this, ARTP_COLD);const int armour = inv[MSLOT_ARMOUR];const int shield = inv[MSLOT_SHIELD];if (armour != NON_ITEM && mitm[armour].base_type == OBJ_ARMOUR){// intrinsic armour abilitiesswitch (mitm[armour].sub_type){case ARM_ICE_DRAGON_ARMOUR: u += 2; break;case ARM_GOLD_DRAGON_ARMOUR: u += 1; break;case ARM_DRAGON_ARMOUR: u -= 1; break;default: break;}// check ego resistanceconst int ego = get_armour_ego_type(mitm[armour]);if (ego == SPARM_COLD_RESISTANCE || ego == SPARM_RESISTANCE)u += 1;}if (shield != NON_ITEM && mitm[shield].base_type == OBJ_ARMOUR){// check ego resistanceconst int ego = get_armour_ego_type(mitm[shield]);if (ego == SPARM_COLD_RESISTANCE || ego == SPARM_RESISTANCE)u += 1;}}if (u < -3)u = -3;else if (u > 3)u = 3;return (u);
return (mons_res_elec(this));
// This is a variable, not a player_xx() function, so can be above 1.int u = 0;u += get_mons_resists(this).elec;// Don't bother checking equipment if the monster can't use it.if (mons_itemuse(this) >= MONUSE_STARTING_EQUIPMENT){u += _scan_mon_inv_randarts(this, ARTP_ELECTRICITY);// No ego armour, but storm dragon.const int armour = inv[MSLOT_ARMOUR];if (armour != NON_ITEM && mitm[armour].base_type == OBJ_ARMOUR&& mitm[armour].sub_type == ARM_STORM_DRAGON_ARMOUR){u += 1;}}// Monsters can legitimately get multiple levels of electricity resistance.return (u);
return (mons_res_poison(this));
int u = get_mons_resists(this).poison;if (mons_itemuse(this) >= MONUSE_STARTING_EQUIPMENT){u += _scan_mon_inv_randarts( this, ARTP_POISON );const int armour = mon->inv[MSLOT_ARMOUR];const int shield = mon->inv[MSLOT_SHIELD];if (armour != NON_ITEM && mitm[armour].base_type == OBJ_ARMOUR){// intrinsic armour abilitiesswitch (mitm[armour].sub_type){case ARM_SWAMP_DRAGON_ARMOUR: u += 1; break;case ARM_GOLD_DRAGON_ARMOUR: u += 1; break;default: break;}// ego armour resistanceif (get_armour_ego_type(mitm[armour]) == SPARM_POISON_RESISTANCE)u += 1;}if (shield != NON_ITEM && mitm[shield].base_type == OBJ_ARMOUR){// ego armour resistanceif (get_armour_ego_type(mitm[shield]) == SPARM_POISON_RESISTANCE)u += 1;}}// Monsters can legitimately get multiple levels of poison resistance.return (u);
return (mons_res_negative_energy(this));
if (mons_holiness(this) != MH_NATURAL|| type == MONS_SHADOW_DRAGON){return (3);}int u = 0;if (mons_itemuse(this) >= MONUSE_STARTING_EQUIPMENT){u += _scan_mon_inv_randarts(this, ARTP_NEGATIVE_ENERGY);const int armour = mon->inv[MSLOT_ARMOUR];const int shield = mon->inv[MSLOT_SHIELD];if (armour != NON_ITEM && mitm[armour].base_type == OBJ_ARMOUR){// check for ego resistanceif (get_armour_ego_type(mitm[armour]) == SPARM_POSITIVE_ENERGY)u += 1;}if (shield != NON_ITEM && mitm[shield].base_type == OBJ_ARMOUR){// check for ego resistanceif (get_armour_ego_type(mitm[shield]) == SPARM_POSITIVE_ENERGY)u += 1;}}if (u > 3)u = 3;return (u);
mons_res_fire( &mons ),mons_res_cold( &mons ),mons_res_elec( &mons ),mons_res_poison( &mons ),mons_res_negative_energy( &mons ),mons_res_acid( &mons ),mons_res_sticky_flame( &mons ) ? "yes" : "no",mons_res_rotting( &mons ) ? "yes" : "no");
mons.res_fire(),mons.res_cold(),mons.res_elec(),mons.res_poison(),mons.res_negative_energy(),mons.res_acid(),mons.res_sticky_flame() ? "yes" : "no",mons.res_rotting() ? "yes" : "no");