onilink_

Untitled

Apr 23rd, 2019
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.57 KB | None | 0 0
  1. unsigned monsterCalculateExpTotal(float exp_factor, uint16_t level)
  2. {
  3.     return unsigned(std::ceil( std::pow(1.f + level/4.f, 2.8f)*exp_factor ));    
  4. }
  5.  
  6.  
  7. unsigned Monster::getExp() const
  8. {
  9.     int lvl = (level()>1)? level()-1: 1;
  10.     unsigned exp = monsterCalculateExpTotal( MonsterInfo::get(_attribs.ind).experienceFactor(), lvl );
  11.    
  12.     float coef = 1.f + rarity().rarity() * 0.1f;
  13.     if(rarity().shiny())
  14.         coef *= 1.2f;
  15.    
  16.     if(!isPet() && findSuffix(SuffixType::SavageBoss))
  17.         coef /= 10.f;
  18.    
  19.     return std::ceil( exp * coef / 50.f );
  20. }
Advertisement
Add Comment
Please, Sign In to add comment