It would help if you cut your example down to the bare minimum, and posted something runnable.
I think the problem could be that multiple players are pointing to the same card causing the values to be overwritten.
I think the problem could be that multiple players are pointing to the same card causing the values to be overwritten.