diff options
author | Blue <bluesansdouze@gmail.com> | 2009-05-13 20:35:44 +0200 |
---|---|---|
committer | Blue <bluesansdouze@gmail.com> | 2009-05-13 20:35:44 +0200 |
commit | 22685431a23b05d66af28abda488d0891b1c0a34 (patch) | |
tree | a207b9230833abbed3da751ca7e3c4ccdc8e9783 /src/game.cpp | |
parent | 9071a692116745f2cafd8556cbff28095910730e (diff) | |
parent | b5ad7e490f0f429a5abac2acae48ecf25485256f (diff) | |
download | mana-client-22685431a23b05d66af28abda488d0891b1c0a34.tar.gz mana-client-22685431a23b05d66af28abda488d0891b1c0a34.tar.bz2 mana-client-22685431a23b05d66af28abda488d0891b1c0a34.tar.xz mana-client-22685431a23b05d66af28abda488d0891b1c0a34.zip |
Merge branch 'master' of git@gitorious.org:tmw/mainline
Diffstat (limited to 'src/game.cpp')
-rw-r--r-- | src/game.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/game.cpp b/src/game.cpp index b56cbdde..59c57607 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -582,6 +582,13 @@ void Game::handleInput() if (chatWindow->requestChatFocus()) used = true; } + if (npcDialog->isVisible()) + { + if (keyboard.isKeyActive(keyboard.KEY_MOVE_UP)) + npcDialog->move(1); + else if (keyboard.isKeyActive(keyboard.KEY_MOVE_DOWN)) + npcDialog->move(-1); + } } @@ -923,6 +930,23 @@ void Game::handleInput() if (player_node->getTarget()) player_node->attack(player_node->getTarget(), true); } + + if (keyboard.isKeyActive(keyboard.KEY_TARGET_ATTACK)) + { + Being *target = NULL; + + bool newTarget = !keyboard.isKeyActive(keyboard.KEY_TARGET); + // A set target has highest priority + if (!player_node->getTarget()) + { + Uint16 targetX = x, targetY = y; + // Only auto target Monsters + target = beingManager->findNearestLivingBeing(targetX, targetY, + 20, Being::MONSTER); + } + player_node->attack(target, newTarget); + } + #endif // Target the nearest player/monster/npc |