Merge pull request #562 from noudess/master

Fix rogue merchant usage under sneak.
This commit is contained in:
Akkadius 2016-10-15 14:55:28 -05:00 committed by GitHub
commit 70b9ff384c
3 changed files with 14 additions and 6 deletions

View File

@ -1,5 +1,10 @@
EQEMu Changelog (Started on Sept 24, 2003 15:50) EQEMu Changelog (Started on Sept 24, 2003 15:50)
------------------------------------------------------- -------------------------------------------------------
== 10/09/2016 ==
Noudess: Rogue usage of merchants while utilizing sneak was limited to
temporary items, as the code that checked faction per item sold did not
take into account that rogue was sneaking. Now sneaking rogues can see full
inventory on merchants (well, unless an item requires a + faction value).
== 09/12/2016 == == 09/12/2016 ==
Akkadius: Massive overhaul of the update system and EQEmu Server management utility framework Akkadius: Massive overhaul of the update system and EQEmu Server management utility framework
(known as eqemu_update.pl) now known as eqemu_server.pl (known as eqemu_update.pl) now known as eqemu_server.pl

View File

@ -12134,11 +12134,6 @@ void Client::Handle_OP_ShopPlayerBuy(const EQApplicationPacket *app)
continue; continue;
} }
int32 fac = tmp->GetPrimaryFaction();
if (fac != 0 && GetModCharacterFactionLevel(fac) < ml.faction_required) {
continue;
}
if (mp->itemslot == ml.slot){ if (mp->itemslot == ml.slot){
item_id = ml.item; item_id = ml.item;
break; break;

View File

@ -857,7 +857,15 @@ void Client::BulkSendMerchantInventory(int merchant_id, int npcid) {
continue; continue;
int32 fac = merch ? merch->GetPrimaryFaction() : 0; int32 fac = merch ? merch->GetPrimaryFaction() : 0;
if (fac != 0 && GetModCharacterFactionLevel(fac) < ml.faction_required) int32 cur_fac_level;
if (fac == 0 || sneaking) {
cur_fac_level = 0;
}
else {
cur_fac_level = GetModCharacterFactionLevel(fac);
}
if (cur_fac_level < ml.faction_required)
continue; continue;
handychance = zone->random.Int(0, merlist.size() + tmp_merlist.size() - 1); handychance = zone->random.Int(0, merlist.size() + tmp_merlist.size() - 1);