Hi Trevius,
Spent about 30 minutes testing the change today. Everything seems good in the code as it is except maybe fixing the indent on the "itemOneToPush = tobe_auged->Clone()" unless this was introduced just on the forums when you posted.
Testing conducted in both aug pool + aug inventory container:
Augment / Deaugmenting with lore sword / augment in different slots each time.
Introduced server lag and was able to still augment / deaugment without an issue.
NOTE: there is still the chance to cause client oddities if a user calls the augment procedure, the server lags out, and then a client picks up one of the items in the augmentation pool / inventory. This has always been here and is present for tradeskills also so I dont think its something to worry about. Just mentioning it to be complete. Very rare that this would happen. Wish there was a way to stop the user from taking items out of a pack / container after they send the client command for combine or aug. Not to stop hackers but to stop legit people who may make a mistake when the server is lagging.
NOTE: Was able to get into one of the areas that you have marked "// Less than 2 items in the augmentation device ... in case of a hack ..." It is actually pretty easy to get in here if the server lags out long enough for you to press the augment/deaugment button twice. You have a note saying you may wish to kick a user due to sync issues - would not necessarily suggest kicking a user in that case as the server could be (in another thread) about to pass down the users newly augmented items. You don't have a user->Kick() call (this was just a note you made) but wanted to mention it.
Your other area above it ("Either 2 augmentable items found or none found") - yeah, I cannot think of a single way that this could be done legitimately. Would not be a bad thing to either kick() or log to the hackers table but, frankly, I dont see a harm in leaving it the way you have it.
Everything seems good.
|