summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/direct.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-02-12 14:48:27 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-02-12 14:48:27 +0000
commitb77d175f750cbcc9cd886718386524640a30b4ce (patch)
tree77999e98b15b9dc006938d7cf3740f39c206766d /crawl-ref/source/direct.cc
parente8e7c9ee54157097b03cf40bce5c4860b411f91a (diff)
downloadcrawl-ref-b77d175f750cbcc9cd886718386524640a30b4ce.tar.gz
crawl-ref-b77d175f750cbcc9cd886718386524640a30b4ce.zip
Tweak DID_KILL_HOLY handling to allow for killing hostile angels
without being put under penance by the good gods. Also add a flag MF_WAS_NEUTRAL, so that previously neutral monsters can be handled differently from always hostile ones. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3432 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/direct.cc')
-rw-r--r--crawl-ref/source/direct.cc21
1 files changed, 18 insertions, 3 deletions
diff --git a/crawl-ref/source/direct.cc b/crawl-ref/source/direct.cc
index 334793fb33..b365df2de1 100644
--- a/crawl-ref/source/direct.cc
+++ b/crawl-ref/source/direct.cc
@@ -794,9 +794,24 @@ void direction(dist& moves, targeting_type restricts,
{
monsters &m = menv[mid];
- m.attitude = (m.attitude == ATT_FRIENDLY? ATT_NEUTRAL :
- m.attitude == ATT_HOSTILE ? ATT_FRIENDLY
- : ATT_HOSTILE);
+ switch (m.attitude)
+ {
+ case ATT_FRIENDLY:
+ m.attitude = ATT_NEUTRAL;
+ m.flags &= ~MF_CREATED_FRIENDLY;
+ m.flags |= MF_WAS_NEUTRAL;
+ break;
+ case ATT_NEUTRAL:
+ m.attitude = ATT_HOSTILE;
+ m.flags &= ~MF_WAS_NEUTRAL;
+ break;
+ case ATT_HOSTILE:
+ m.attitude = ATT_FRIENDLY;
+ m.flags |= MF_CREATED_FRIENDLY;
+ break;
+ default:
+ break;
+ }
// To update visual branding of friendlies. Only
// seem capabable of adding bolding, not removing it,