I can reproduce this simply with Halos:
The problem is that EquipmentRequest.processResults() is called when the EquipmentRequest is run, and the error check comes afterwards.
My guess is that the error checking should be moved to EquipmentRequest.processResults(), before calling EquipmentRequest.parseEquipmentChange(). Would that be the correct way to do it?
EDIT: alternatively, EquipmentManager should know about non-stackable items, and stop before the request is submitted, or unequip the other halo like we do for offhand weapons that don't match the weapon being equipped in the main hand.
Code:
> wear
Hat: (none)
Weapon: (none)
Off-hand: (none)
Shirt: (none)
Pants: (none)
Acc. 1: (none)
Acc. 2: (none)
Acc. 3: frosty halo
Pet: Adorable Seal Larva (24 lbs)
Item: (none)
> equip shining halo
Putting on shining halo...
[color=red]You can't equip a shining halo because you're already wearing a frosty halo.[/color]
> wear
Hat: (none)
Weapon: (none)
Off-hand: (none)
Shirt: (none)
Pants: (none)
Acc. 1: shining halo (2)
Acc. 2: (none)
Acc. 3: frosty halo
Pet: Adorable Seal Larva (24 lbs)
Item: (none)
The problem is that EquipmentRequest.processResults() is called when the EquipmentRequest is run, and the error check comes afterwards.
My guess is that the error checking should be moved to EquipmentRequest.processResults(), before calling EquipmentRequest.parseEquipmentChange(). Would that be the correct way to do it?
EDIT: alternatively, EquipmentManager should know about non-stackable items, and stop before the request is submitted, or unequip the other halo like we do for offhand weapons that don't match the weapon being equipped in the main hand.
Last edited: