From 15914c94597d6c51c42ef22b7ee4f7f1970520eb Mon Sep 17 00:00:00 2001 From: dshaligram Date: Tue, 6 Feb 2007 17:54:25 +0000 Subject: Fixed unbrandability of friendly hellions. Moved beam cycling to ^C. We really need to make it a wizmode-only option. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@926 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/direct.cc | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'crawl-ref/source/direct.cc') diff --git a/crawl-ref/source/direct.cc b/crawl-ref/source/direct.cc index 0a164913cb..015ad7fcc9 100644 --- a/crawl-ref/source/direct.cc +++ b/crawl-ref/source/direct.cc @@ -104,11 +104,13 @@ static command_type read_direction_key() const int key = unmangle_direction_keys(getchm(KC_TARGETING),KC_TARGETING); switch ( key ) { - case ESCAPE: return CMD_TARGET_CANCEL; +#ifdef WIZARD + case 'F': return CMD_TARGET_WIZARD_MAKE_FRIENDLY; +#endif case 'v': return CMD_TARGET_DESCRIBE; case '?': return CMD_TARGET_HELP; - case ' ': return CMD_TARGET_CYCLE_BEAM; + case CONTROL('C'): return CMD_TARGET_CYCLE_BEAM; case ':': return CMD_TARGET_HIDE_BEAM; case '\r': return CMD_TARGET_SELECT; case '.': return CMD_TARGET_SELECT; @@ -497,6 +499,23 @@ void direction(struct dist& moves, targeting_type restricts, loop_done = true; moves.isCancel = true; break; + +#ifdef WIZARD + case CMD_TARGET_WIZARD_MAKE_FRIENDLY: + // Maybe we can skip this check...but it can't hurt + if (!in_bounds(moves.tx, moves.ty)) + break; + mid = mgrd[moves.tx][moves.ty]; + if (mid == NON_MONSTER) // can put in terrain description here + break; + + { + monsters &m = menv[mid]; + m.attitude = m.attitude == ATT_FRIENDLY? + ATT_HOSTILE : ATT_FRIENDLY; + } + break; +#endif case CMD_TARGET_DESCRIBE: // Maybe we can skip this check...but it can't hurt -- cgit v1.2.3-54-g00ecf