fix pull request #485 - genetic engineer attacks

Pull request fixed two genetic engineer problems:
1) lack of "you hit <foo>" message when you were poly'd into one;
2) lack of shield effect animation ('sparkle') when a genetic
   engineer hit magic resistant hero.

That opened a can o' worms.
3) hero lacking see invisible, poly'd into genetic engineer, and
   turning target into an invisible stalker got no feedback about
   the target vanishing.

A genetic engineer attacking a monster would polymorph it turn
after turn.
4) put back the teleport capability I removed when bringing it over
   from slash'em;
5) have genetic engineer teleport away after polymorphing someone.

The various mhitm_ad_XXXX() routines used g.vis to have caller
decide visibility, but hmonas() for poly'd hero didn't set that so
some messages--not just attack induced polymorph--were based on
visibility of earlier monster vs monster activity.
6) have hmonas() set up g.vis even though it doesn't use that.

There may have been one or two other minor fixes before I managed
to force the lid back onto the can.

Fixes #485
This commit is contained in:
PatR
2021-04-04 20:06:45 -07:00
parent 7d77267f93
commit 28f112fb17
4 changed files with 41 additions and 18 deletions

View File

@@ -584,6 +584,9 @@ avoid "Not carrying anything. Never mind." for 'force_invmenu'
'altmeta' option could be toggled On but once On could not be toggled back Off
wearing a ring of protection and any amulet behaved as if wearing an amulet of
guarding when determining MC value
messaging for genetic engineer attacks had several problems
give genetic engineers teleport capability (as they had in slash'em); 'port
away after polymorphing someone so that they don't just repeat that
curses: 'msg_window' option wasn't functional for curses unless the binary
also included tty support