MCPcopy Create free account
hub / github.com/NetHack/NetHack / adj_erinys

Function adj_erinys

src/mon.c:5921–5966  ·  view source on GitHub ↗

make erinyes more dangerous based on your alignment abuse */

Source from the content-addressed store, hash-verified

5919
5920/* make erinyes more dangerous based on your alignment abuse */
5921void
5922adj_erinys(unsigned abuse)
5923{
5924 struct permonst *pm = &mons[PM_ERINYS];
5925
5926 if (abuse > 5L) {
5927 pm->mflags1 |= M1_SEE_INVIS;
5928 }
5929 if (abuse > 10L) {
5930 pm->mflags1 |= M1_AMPHIBIOUS;
5931 }
5932 if (abuse > 15L) {
5933 pm->mflags1 |= M1_FLY;
5934 }
5935 if (abuse > 20L) {
5936 /* more powerful attack */
5937 pm->mattk[0].damn = 3;
5938 }
5939 if (abuse > 25L) {
5940 pm->mflags1 |= M1_REGEN;
5941 }
5942 if (abuse > 30L) {
5943 pm->mflags1 |= M1_TPORT_CNTRL;
5944 }
5945 if (abuse > 35L) {
5946 /* second attack */
5947 pm->mattk[1].aatyp = AT_WEAP;
5948 pm->mattk[1].adtyp = AD_DRST;
5949 pm->mattk[1].damn = 3;
5950 pm->mattk[1].damd = 4;
5951 }
5952 if (abuse > 40L) {
5953 pm->mflags1 |= M1_TPORT;
5954 }
5955 if (abuse > 50L) {
5956 /* third (spellcasting) attack */
5957 pm->mattk[2].aatyp = AT_MAGC;
5958 pm->mattk[2].adtyp = AD_SPEL;
5959 pm->mattk[2].damn = 3;
5960 pm->mattk[2].damd = 4;
5961 }
5962
5963 /* also adjust level and difficulty */
5964 pm->mlevel = min(7 + u.ualign.abuse, 50);
5965 pm->difficulty = min(10 + (u.ualign.abuse / 3), 25);
5966}
5967
5968/* mark individual monster type as seen from close-up,
5969 if we haven't seen it nearby before */

Callers 2

restgamestateFunction · 0.85
adjalignFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected