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:
16
src/mon.c
16
src/mon.c
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user