Advertisement
Guest User

Untitled

a guest
Apr 5th, 2020
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.10 KB | None | 0 0
  1. double Player::getLostPercent() const
  2. {
  3.     int32_t blessingCount = 0;
  4.     uint8_t maxBlessing = (operatingSystem == CLIENTOS_NEW_WINDOWS) ? 8 : 6;
  5.     for (int i = 1; i <= maxBlessing; i++) {
  6.         if (hasBlessing(i)) {
  7.             blessingCount++;
  8.         }
  9.     }
  10.  
  11.     int32_t deathLosePercent = g_config.getNumber(ConfigManager::DEATH_LOSE_PERCENT);
  12.     if (deathLosePercent != -1) {
  13.         if (isPromoted()) {
  14.             deathLosePercent -= 3;
  15.         }
  16.  
  17.         deathLosePercent -= blessingCount;
  18.         return std::max<int32_t>(0, deathLosePercent) / 100.;
  19.     }
  20.  
  21.     double lossPercent;
  22.     if (level >= 25) {
  23.         double tmpLevel = level + (levelPercent / 100.);
  24.         lossPercent = static_cast<double>((tmpLevel + 50) * 50 * ((tmpLevel * tmpLevel) - (5 * tmpLevel) + 8)) / experience;
  25.         // lossPercent = static_cast<double>((tmpLevel + 20) * 20 * ((tmpLevel * tmpLevel) - (3 * tmpLevel) + 4)) / experience;
  26.     } else {
  27.         lossPercent = 10;
  28.     }
  29.        
  30.     if (isPromoted()) {
  31.         lossPercent *= 0.7;
  32.     }
  33.     if (isMonster){
  34.         int32_t value;
  35.     getStorageValue(82723, value);
  36.     if (value == 1) {
  37.             lossPercent *= 0.2;
  38.         } else if (value >= 2) {
  39.             lossPercent *= 0.4;
  40.         }
  41.    
  42.     }  
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement