Balance fixes to monster/monster zombie creation attacks

These were unbalancing the game a) in the Castle and b) if they
woke up unique monsters (most notably the Wizard of Yendor).

I considered adding a difficulty check, but this commit instead
just directly fixes the symptoms. (It doesn't make sense for the
Castle to contain a monster that would kill or be killed by its
inhabitants: they should have died long before the hero arrived.
So for liches/zombies to exist in the Castle at all, there must be
a truce.)
This commit is contained in:
Alex Smith
2025-05-29 15:57:29 +01:00
parent 789d0e6676
commit 228870706b

View File

@@ -2347,9 +2347,21 @@ mfndpos(
staticfn long
mm_2way_aggression(struct monst *magr, struct monst *mdef)
{
/* zombies vs things that can be zombified */
/* liches/zombies vs things that can be zombified
Note: avoid this on the Castle level, partly for balance reasons
(the monster-versus-monster fights clear out significant portions of
the Castle and make it easier than it should be), partly for flavor
reasons (monsters who attacked other monsters to zombify them would
have been counterattacked to death long before the hero arried).
Also don't include unique monsters in this, otherwise it leads to
them waking up early (e.g. because a zombie decided to attack the
Wizard of Yendor). */
if (zombie_maker(magr) && zombie_form(mdef->data) != NON_PM)
return (ALLOW_M | ALLOW_TM);
if (!Is_stronghold(&u.uz) &&
!unique_corpstat(magr->data) && !unique_corpstat(mdef->data))
return (ALLOW_M | ALLOW_TM);
return 0;
}