Corrected broadcast item flag with autoloot (#2392)

* Fixes #1796.
* Moved the broadcast flag check before party share loot check.
Thanks to @whupdo!
This commit is contained in:
Aleos 2017-08-31 13:51:07 -04:00 committed by GitHub
parent f197f82f1f
commit dfe714e9a1

View File

@ -2150,17 +2150,17 @@ static void mob_item_drop(struct mob_data *md, struct item_drop_list *dlist, str
if( test_autoloot ) { //Autoloot. if( test_autoloot ) { //Autoloot.
struct party_data *p = party_search(sd->status.party_id); struct party_data *p = party_search(sd->status.party_id);
if ((itemdb_search(ditem->item_data.nameid))->flag.broadcast &&
(!p || !(p->party.item & 2)) // Somehow, if party's pickup distribution is 'Even Share', no announcemet
)
intif_broadcast_obtain_special_item(sd, ditem->item_data.nameid, md->mob_id, ITEMOBTAIN_TYPE_MONSTER_ITEM);
if (party_share_loot(party_search(sd->status.party_id), if (party_share_loot(party_search(sd->status.party_id),
sd, &ditem->item_data, sd->status.char_id) == 0 sd, &ditem->item_data, sd->status.char_id) == 0
) { ) {
ers_free(item_drop_ers, ditem); ers_free(item_drop_ers, ditem);
return; return;
} }
if ((itemdb_search(ditem->item_data.nameid))->flag.broadcast &&
(!p || !(p->party.item&2)) // Somehow, if party's pickup distribution is 'Even Share', no announcemet
)
intif_broadcast_obtain_special_item(sd, ditem->item_data.nameid, md->mob_id, ITEMOBTAIN_TYPE_MONSTER_ITEM);
} }
ditem->next = dlist->item; ditem->next = dlist->item;
dlist->item = ditem; dlist->item = ditem;