Elbereth tweaks
Don't "feel like a hypocrite" when on Elberth and attacking a monster which isn't scared by Elbereth (exception: peaceful creatures aren't scared but attacking them in such situation is hypocritical anyway). This means that players can use Elbereth to scare away some creatures while continuing to fight others. Elbereth won't be automatically erased, but weapon attacks will scuff the engraving; wand zaps don't. Reduce the -5 alignment penalty when alignment is 5 or less. Reduced amount is -(1..5), so -3 average.
This commit is contained in:
10
src/mon.c
10
src/mon.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 mon.c $NHDT-Date: 1526132509 2018/05/12 13:41:49 $ $NHDT-Branch: master $:$NHDT-Revision: 1.252 $ */
|
||||
/* NetHack 3.6 mon.c $NHDT-Date: 1539479657 2018/10/14 01:14:17 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.260 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -2659,7 +2659,10 @@ setmangry(mtmp, via_attack)
|
||||
struct monst *mtmp;
|
||||
boolean via_attack;
|
||||
{
|
||||
if (via_attack && sengr_at("Elbereth", u.ux, u.uy, TRUE)) {
|
||||
if (via_attack && sengr_at("Elbereth", u.ux, u.uy, TRUE)
|
||||
/* only hypocritical if monster is vulnerable to Elbereth (or
|
||||
peaceful--not vulnerable but attacking it is hypocritical) */
|
||||
&& (onscary(u.ux, u.uy, mtmp) || mtmp->mpeaceful)) {
|
||||
You_feel("like a hypocrite.");
|
||||
/* AIS: Yes, I know alignment penalties and bonuses aren't balanced
|
||||
at the moment. This is about correct relative to other "small"
|
||||
@@ -2668,7 +2671,8 @@ boolean via_attack;
|
||||
violating your own request. I know 5 isn't actually large, but
|
||||
it's intentionally larger than the 1s and 2s that are normally
|
||||
given for this sort of thing. */
|
||||
adjalign(-5);
|
||||
/* reduce to 3 (average) when alignment is already very low */
|
||||
adjalign((u.ualign.record > 5) ? -5 : -rnd(5));
|
||||
|
||||
if (!Blind)
|
||||
pline("The engraving beneath you fades.");
|
||||
|
||||
Reference in New Issue
Block a user