A way to implement random rewards/badges system?

Hiya.

I’m trying to figure out how to easy implement a certain kind of functionality for a site that I’m developing (preferably with plugins and/or very little custom code), and I am hoping someone here might have some suggestions of how to do this.

Basically the site I’m working on is selling products with a superhero theme. Users can also create accounts and have profiles, and I already have a plan to use myCred points system to keep users on the site and doing stuff to earn points (which they can ultimately use for getting products).

One thing I wanted to do was have a bit of fun (since everything is superhero themed), and have a way for users to “gain powers” after a certain amount of points. It’s just a label, nothing more — kind of like when people earn badges on certain sites. It’s something that’s displayed on their profile somewhere. And yes, I could use some kind of badging system here, and just have everyone be “awarded” the SAME exact powers after certain point levels — that’s really easy to set up. But also boring...

INSTEAD... I wanted it to be a little more unique and fun, and have the awarded “power” be randomly generated from a list I would supply. That way people have different powers even when reaching the same point level. Some powers would obviously be better than others, and if they didn’t like the power they got the first time, they could keep earning points to get to the next level and earn another power (hopefully with a way where it wouldn’t repeat the previous one). Basically I want to offer variable rewards and drive them crazy. :wink:

Bonus functions are if users could “retry” for a different power by spending a certain amount of points. And of course, a way to share their new “power” on social media. Though these are not as essential. I’m more concerned on how to implement the random powers in the first place.

Anyone have any idea of how this could be done in a (relatively) easy and not too complex way? Any suggestions would be greatly appreciated!!

THANKS.