Well, I finally started messing with the wearchange packets and it was a big success. The only thing I added to the SVN so far is that #texture will now let NPCs and PCs retain their armor tint, but it proves that using wearchange will work perfectly for handling tint from in-game without requiring repops.
The only thing not working perfectly with the adjustments to #texture is that "#texture 255" is supposed to reset the target back to their original texture and it doesn't yet. I need to figure out the best way to pull that info from the database. That shouldn't be too hard, but I am not going to worry about it for a while. I may get back to it eventually, but it isn't a big deal IMO.
The only issue left with illusion packets is that they don't send size yet. I am pretty sure I know where size is in the structures, and I think it is a float. I might be able to get that figured out. If so, I will probably try to change the last argument on SendIllusionPacket from armor_tint to size. I don't think there is any reason to have armor tint in there after all, so I might as well swap it out for size while it is being removed. This is another issue that isn't very high priority, but I might get to it eventually.
Next, I will probably change the #wc command so it will update all clients instead of just the person using the command. Currently, only the one using the command actually sees the change happen and everyone else just sees the target as the same it was before.
Since that will let people change individual armor pieces on NPCs, the next thing would be to maybe add extra arguments for color for the slot being set. Then, you would use something like "#wc 1 3 200 0 100 and it would change slot 1 to plate and set the color to 200 0 100 in RGB values. It would probably also be good to have a command that will let you change an entire set tint at once, so that will probably get added soon too. I might even try to add one that lets you set tint values similar to how #fixmob works. So, it might increase or decrease part of the tint by a certain amount. Most likely, I would set it in increments of 10. Then, you could have hotkeys that do "#settint red next" to have it increase the red tint by 10. Then, just have hotkeys for each color for prev and next and you could come up with custom colors quickly.
|