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:
parent
f197f82f1f
commit
dfe714e9a1
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user