genetic engineer attacks

When a genetic engineer polymorphs someone it normally teleports away.
Also set mspec_used so that it can't polymorph someone [else] on its
next turn, it case of a no-teleport level or it happens to randomly
land adjacent to the target.
This commit is contained in:
PatR
2023-03-17 16:00:44 -07:00
parent aa83dadc1e
commit 1c24f208f3
3 changed files with 12 additions and 3 deletions

View File

@@ -343,10 +343,12 @@ getmattk(struct monst *magr, struct monst *mdef,
}
/* holders/engulfers who release the hero have mspec_used set to rnd(2)
and can't re-hold/re-engulf until it has been decremented to zero */
and can't re-hold/re-engulf until it has been decremented to zero;
likewise for transformation by genetic engineer */
} else if (magr->mspec_used && (attk->aatyp == AT_ENGL
|| attk->aatyp == AT_HUGS
|| attk->adtyp == AD_STCK)) {
|| attk->adtyp == AD_STCK
|| attk->adtyp == AD_POLY)) {
boolean wimpy = (attk->damd == 0); /* lichen, violet fungus */
/* can't re-engulf or re-grab yet; switch to simpler attack */