Advertisement
NatedogServer

getextra

Nov 3rd, 2014
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1. int32 Mob::GetExtraSpellAmt(uint16 spell_id, int32 extra_spell_amt, int32 base_spell_dmg)
  2. {
  3.     int total_cast_time = 0;
  4.  
  5.     if (spells[spell_id].recast_time >= spells[spell_id].recovery_time)
  6.             total_cast_time = spells[spell_id].recast_time + spells[spell_id].cast_time;
  7.     else
  8.         total_cast_time = spells[spell_id].recovery_time + spells[spell_id].cast_time;
  9.    
  10.     if (total_cast_time > 0 && total_cast_time <= 2500)
  11.         extra_spell_amt = extra_spell_amt*(25/100.0f);
  12.      else if (total_cast_time > 2500 && total_cast_time < 7000)
  13.          extra_spell_amt = extra_spell_amt*(0.167*((total_cast_time - 1000)/1000.0f));
  14.      else
  15.          extra_spell_amt = extra_spell_amt * (total_cast_time / 7000.0f);
  16.  
  17.         if(extra_spell_amt*2 < base_spell_dmg)
  18.             return 0;
  19.    
  20.         return extra_spell_amt;
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement