I have the character upgrade, and switch sprites to an entirely new sheet, but then when I use a ranged pick up item, she switches back to the previous sprite sheet for ranged attacks, then back. I have no commands running that I can locate, I've erased it all since I won't be using it for now. If I start the character off with the new sprite, it uses the proper ranged sprites from that sheet, but if I use a command to change from the old sprite, the three ranged attack sprites are the only ones that don't change. I've tried reuploading the sprites, renaming files, importing ranged sprites separately - none of it works. Even on a custom projectile page the sprite changed, but if I go to the character design with the second sprite, then back to projectiles, it does use the proper one.
Now, on the old sprite sheet the ranged attacks are the only ones I've edited (to remove the gun), so I wondered if that could be the cause? Though, I changed her eyes in the walking sprite as a test, and it didn't switch that sprite back when walking with the new one. I have no idea what's doing this, can't find a cause...
I think we're at a dead end here, this sounds like a bug.
still, I have two suggestions that might work out.
that character upgrade is a custom item, right? if it is using just commands, type both:
character design=[ID]
ranged design=[ID]
then, it might budge.
another thing you could do is to walk around commands this time. custom items have a ton of options, including changing character designs. they predate commands, so sometimes they seem to be more reliable.
now it's coming back to me. a long time ago when I was making my own design swapping system, I had a lot of trouble with commands (basically, designs would revert after changing areas).
I made a custom item, then checked the "Change Character Design" setting. from then on I referred to the item
give player item = [ID]