Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int generateRarityLevel(float factor)
- {
- static const float values[] = {3000.f, 1000.f, 200.f, 100.f, 20.f, 5.f, 1.f};
- float dice = 10000.f * rand() / static_cast<float>(RAND_MAX);
- float t = 0.f;
- for(int i=0; i<7; ++i)
- {
- float v = values[i] / powf(factor, 6 - i);
- if(v < 1.f) {
- v = 1.f;
- }
- t += 10000.f / v;
- if(dice < t)
- {
- return 6 - i;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment