mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-18 07:11:29 +00:00
Fix so an untargettable mob is not opened for trade when client pressed the 'u'
key. Discovered this on untargettable mobs at doors.
This commit is contained in:
parent
09e0b09649
commit
9ab61d4ed4
@ -14246,12 +14246,19 @@ void Client::Handle_OP_TradeRequest(const EQApplicationPacket *app)
|
|||||||
// Client requesting a trade session from an npc/client
|
// Client requesting a trade session from an npc/client
|
||||||
// Trade session not started until OP_TradeRequestAck is sent
|
// Trade session not started until OP_TradeRequestAck is sent
|
||||||
|
|
||||||
CommonBreakInvisible();
|
|
||||||
|
|
||||||
// Pass trade request on to recipient
|
|
||||||
TradeRequest_Struct* msg = (TradeRequest_Struct*)app->pBuffer;
|
TradeRequest_Struct* msg = (TradeRequest_Struct*)app->pBuffer;
|
||||||
Mob* tradee = entity_list.GetMob(msg->to_mob_id);
|
Mob* tradee = entity_list.GetMob(msg->to_mob_id);
|
||||||
|
|
||||||
|
// If the tradee is an untargettable mob - ignore
|
||||||
|
// Helps in cases where servers use invisible_man, body type 11 for quests
|
||||||
|
// and the client opens a trade by mistake.
|
||||||
|
if (tradee && (tradee->GetBodyType() == 11)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
CommonBreakInvisible();
|
||||||
|
|
||||||
|
// Pass trade request on to recipient
|
||||||
if (tradee && tradee->IsClient()) {
|
if (tradee && tradee->IsClient()) {
|
||||||
tradee->CastToClient()->QueuePacket(app);
|
tradee->CastToClient()->QueuePacket(app);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user