fix B16006 - cancelled monster-monster attacks
Various damage types which wouldn't work when a cancelled monster
attacks the player were working when it attacked other monsters instead.
Besides attempting to fix that, this also makes cloaks and other magic
blocking armor ("magic cancellation factor") work for monsters similar
to the way it works for the player.
Most types of damage appear to revert to physical damage when the
attacker is cancelled; I'm not sure that's appropriate in many of the
instances. The leg-pricking case was clearly wrong, since it gives
messages about the attack failing yet still hurt the character.
This really needs a lot more testing than I have energy for. I've
tried to clean up various inconsistencies and may have made some typos
in the process.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)extern.h 3.4 2002/08/22 */
|
||||
/* SCCS Id: @(#)extern.h 3.4 2003/01/02 */
|
||||
/* Copyright (c) Steve Creps, 1988. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -954,6 +954,7 @@ E struct monst *NDECL(cloneu);
|
||||
E void FDECL(expels, (struct monst *,struct permonst *,BOOLEAN_P));
|
||||
E struct attack *FDECL(getmattk, (struct permonst *,int,int *,struct attack *));
|
||||
E int FDECL(mattacku, (struct monst *));
|
||||
E int FDECL(magic_negation, (struct monst *));
|
||||
E int FDECL(gazemu, (struct monst *,struct attack *));
|
||||
E void FDECL(mdamageu, (struct monst *,int));
|
||||
E int FDECL(could_seduce, (struct monst *,struct monst *,struct attack *));
|
||||
|
||||
Reference in New Issue
Block a user