Skip to content

Commit 31aac11

Browse files
make sure only close by group members are counted
1 parent 1896861 commit 31aac11

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

src/MobAI.cpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -808,6 +808,7 @@ void MobAI::onDeath(CombatNPC* npc, EntityRef src) {
808808
Items::DropRoll rolled;
809809
Items::DropRoll eventRolled;
810810
std::map<int, int> qitemRolls;
811+
std::vector<EntityRef> playersInRange;
811812
std::vector<Player*> playerRefs;
812813

813814
if (plr->group == nullptr) {
@@ -818,8 +819,6 @@ void MobAI::onDeath(CombatNPC* npc, EntityRef src) {
818819
}
819820
else {
820821
auto players = plr->group->filter(EntityKind::PLAYER);
821-
for (EntityRef pRef : players) playerRefs.push_back(PlayerManager::getPlayer(pRef.sock));
822-
Combat::genQItemRolls(playerRefs, qitemRolls);
823822
for (int i = 0; i < players.size(); i++) {
824823
CNSocket* sockTo = players[i].sock;
825824
Player* otherPlr = PlayerManager::getPlayer(sockTo);
@@ -829,7 +828,14 @@ void MobAI::onDeath(CombatNPC* npc, EntityRef src) {
829828
if (dist > 5000)
830829
continue;
831830

832-
Items::giveMobDrop(sockTo, self, rolled, eventRolled, players.size());
831+
playersInRange.push_back(players[i]);
832+
}
833+
834+
for (EntityRef pRef : playersInRange) playerRefs.push_back(PlayerManager::getPlayer(pRef.sock));
835+
Combat::genQItemRolls(playerRefs, qitemRolls);
836+
for (int i = 0; i < playersInRange.size(); i++) {
837+
CNSocket* sockTo = playersInRange[i].sock;
838+
Items::giveMobDrop(sockTo, self, rolled, eventRolled, playersInRange.size());
833839
Missions::mobKilled(sockTo, self->type, qitemRolls);
834840
}
835841
}

0 commit comments

Comments
 (0)