From 908a7061cfcddc39379da1db37459435533ca497 Mon Sep 17 00:00:00 2001 From: Drajor Date: Mon, 19 Dec 2016 21:00:55 +1000 Subject: [PATCH] Hero forge ID in OP_WearChange originating from a client is now set to the correct value prior to being broadcast to other clients. --- zone/client_packet.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 0ba79d15f..1de41d6b3 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -14049,6 +14049,10 @@ void Client::Handle_OP_WearChange(const EQApplicationPacket *app) if (wc->spawn_id != GetID()) return; + // Hero Forge ID needs to be fixed here as RoF2 appears to send an incorrect value. + if (wc->hero_forge_model != 0 && wc->wear_slot_id >= 0 && wc->wear_slot_id < EQEmu::textures::weaponPrimary) + wc->hero_forge_model = GetHerosForgeModel(wc->wear_slot_id); + // we could maybe ignore this and just send our own from moveitem entity_list.QueueClients(this, app, true); return;