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:
@@ -2347,9 +2347,21 @@ mfndpos(
|
|||||||
staticfn long
|
staticfn long
|
||||||
mm_2way_aggression(struct monst *magr, struct monst *mdef)
|
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)
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user