summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/partywindow.cpp2
-rw-r--r--src/net/ea/beinghandler.cpp11
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();