diff options
author | Jared Adams <jaxad0127@gmail.com> | 2009-05-12 19:49:09 -0600 |
---|---|---|
committer | Jared Adams <jaxad0127@gmail.com> | 2009-05-12 19:53:42 -0600 |
commit | 1cf7ca1327d903d6857db80f7eb1acbde8533030 (patch) | |
tree | 000a9cf57987acfb11024a724e504dad2c0f9e58 | |
parent | f691f9a7b121e9d32df9f648c629c98ae8d25966 (diff) | |
download | mana-1cf7ca1327d903d6857db80f7eb1acbde8533030.tar.gz mana-1cf7ca1327d903d6857db80f7eb1acbde8533030.tar.bz2 mana-1cf7ca1327d903d6857db80f7eb1acbde8533030.tar.xz mana-1cf7ca1327d903d6857db80f7eb1acbde8533030.zip |
Fix player party hilighting issues
Causes when other party memebrs were on the same map and they came in
range, they wouldn't get hilighted. Also simplify the check for correct
player (avoiding problems with multiple characters on an account).
-rw-r--r-- | src/gui/partywindow.cpp | 2 | ||||
-rw-r--r-- | src/net/ea/beinghandler.cpp | 11 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/gui/partywindow.cpp b/src/gui/partywindow.cpp index 3da59e9f..8958c1ec 100644 --- a/src/gui/partywindow.cpp +++ b/src/gui/partywindow.cpp @@ -126,7 +126,7 @@ void PartyWindow::updateMember(int id, const std::string &memberName, member->avatar->setOnline(online); Player *player = dynamic_cast<Player*>(beingManager->findBeing(id)); - if (player && player->getName() == memberName) + if (player && online) player->setInParty(true); } diff --git a/src/net/ea/beinghandler.cpp b/src/net/ea/beinghandler.cpp index 29ed733a..5a49442c 100644 --- a/src/net/ea/beinghandler.cpp +++ b/src/net/ea/beinghandler.cpp @@ -35,6 +35,8 @@ #include "npc.h" #include "playerrelations.h" +#include "gui/partywindow.h" + #include <iostream> namespace EAthena { @@ -445,12 +447,15 @@ void BeingHandler::handleMessage(MessageIn &msg) dstBeing = createBeing(id, job); } - // Fix monster jobs - if (dstBeing->getType() == Being::MONSTER) { - job -= 1002; + PartyMember *member = partyWindow->findMember(id); + if (member && member->online) + { + dynamic_cast<Player*>(dstBeing)->setInParty(true); + } } + dstBeing->setWalkSpeed(speed); dstBeing->mJob = job; hairStyle = msg.readInt16(); |