Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- double Player::getLostPercent() const
- {
- int32_t blessingCount = 0;
- uint8_t maxBlessing = (operatingSystem == CLIENTOS_NEW_WINDOWS) ? 8 : 6;
- for (int i = 1; i <= maxBlessing; i++) {
- if (hasBlessing(i)) {
- blessingCount++;
- }
- }
- int32_t deathLosePercent = g_config.getNumber(ConfigManager::DEATH_LOSE_PERCENT);
- if (deathLosePercent != -1) {
- if (isPromoted()) {
- deathLosePercent -= 3;
- }
- deathLosePercent -= blessingCount;
- return std::max<int32_t>(0, deathLosePercent) / 100.;
- }
- double lossPercent;
- if (level >= 25) {
- double tmpLevel = level + (levelPercent / 100.);
- lossPercent = static_cast<double>((tmpLevel + 50) * 50 * ((tmpLevel * tmpLevel) - (5 * tmpLevel) + 8)) / experience;
- // lossPercent = static_cast<double>((tmpLevel + 20) * 20 * ((tmpLevel * tmpLevel) - (3 * tmpLevel) + 4)) / experience;
- } else {
- lossPercent = 10;
- }
- if (isPromoted()) {
- lossPercent *= 0.7;
- }
- if (isMonster){
- int32_t value;
- getStorageValue(82723, value);
- if (value == 1) {
- lossPercent *= 0.2;
- } else if (value >= 2) {
- lossPercent *= 0.4;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement