When illusions are applied and removed, the eqemu codebase sends out WearChange packets for the armor material slots (0 to 6, in Mob::SpellEffect and Mob::BuffFadeBySlot for SE_Illusion in the switches), which updates your appearance to what you currently have equipped. It's possible that removing that will restore this behavior, assuming that the client remembers what was showing before when you switch to a non-player race. May need to block the call to SendWearChange in Client::SwapItem when GetRace returns a non-player race as well, if the client does not block armor appearance updates itself in that case.
edit: on the other hand some illusion spells likely overwrite all your armor textures by setting their own texture value. Probably need WearChange for those; might need to make a special case for illusions that don't set a specific texture.
|