@@ -157,7 +157,7 @@ void* TP_MAKE_THISCALL(EquipHook, EquipManager, Actor* apActor, TESForm* apItem,
157157 // Consumables are "equipped" as well. We don't want this to sync, for several reasons.
158158 // The right hand item on the server would be overridden by the consumable.
159159 // Furthermore, the equip action on the other clients would doubly subtract the consumables.
160- if (pExtension->IsLocal () && !apItem->IsConsumable ())
160+ if (pExtension->IsLocal () && !apItem->IsConsumable () && !apData-> bQueueEquip )
161161 {
162162 EquipmentChangeEvent evt{};
163163 evt.ActorId = apActor->formID ;
@@ -189,7 +189,7 @@ void* TP_MAKE_THISCALL(UnEquipHook, EquipManager, Actor* apActor, TESForm* apIte
189189 return nullptr ;
190190 }
191191
192- if (pExtension->IsLocal () && !ScopedUnequipOverride::IsOverriden ())
192+ if (pExtension->IsLocal () && !ScopedUnequipOverride::IsOverriden () && !apData-> bQueueEquip )
193193 {
194194 EquipmentChangeEvent evt{};
195195 evt.ActorId = apActor->formID ;
@@ -216,7 +216,7 @@ void* TP_MAKE_THISCALL(EquipSpellHook, EquipManager, Actor* apActor, TESForm* ap
216216 if (pExtension->IsRemote () && !ScopedEquipOverride::IsOverriden ())
217217 return nullptr ;
218218
219- if (pExtension->IsLocal ())
219+ if (pExtension->IsLocal () && !apData-> bQueueEquip )
220220 {
221221 EquipmentChangeEvent evt{};
222222 evt.ActorId = apActor->formID ;
@@ -241,7 +241,7 @@ void* TP_MAKE_THISCALL(UnEquipSpellHook, EquipManager, Actor* apActor, TESForm*
241241 if (pExtension->IsRemote () && !ScopedEquipOverride::IsOverriden ())
242242 return nullptr ;
243243
244- if (pExtension->IsLocal () && !ScopedUnequipOverride::IsOverriden ())
244+ if (pExtension->IsLocal () && !ScopedUnequipOverride::IsOverriden () && !apData-> bQueueEquip )
245245 {
246246 EquipmentChangeEvent evt{};
247247 evt.ActorId = apActor->formID ;
@@ -265,6 +265,7 @@ void* TP_MAKE_THISCALL(EquipShoutHook, EquipManager, Actor* apActor, TESForm* ap
265265 if (pExtension->IsRemote () && !ScopedEquipOverride::IsOverriden ())
266266 return nullptr ;
267267
268+ // TODO: queue check?
268269 if (pExtension->IsLocal ())
269270 {
270271 EquipmentChangeEvent evt{};
@@ -289,6 +290,7 @@ void* TP_MAKE_THISCALL(UnEquipShoutHook, EquipManager, Actor* apActor, TESForm*
289290 if (pExtension->IsRemote () && !ScopedEquipOverride::IsOverriden ())
290291 return nullptr ;
291292
293+ // TODO: queue check?
292294 if (pExtension->IsLocal () && !ScopedUnequipOverride::IsOverriden ())
293295 {
294296 EquipmentChangeEvent evt{};
0 commit comments