Handler_Magic.cpp
上传用户:tt_chan
上传日期:2009-12-03
资源大小:4523k
文件大小:1k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. int CMagicInfo::GetPower13(int nPwr, int nLevel)
  3. {
  4. float p1, p2;
  5. p1 = (float)nPwr / 3;
  6. p2 = (float)nPwr - p1;
  7. if ((sDefMaxPower - sDefPower))
  8. return ROUND(p1 + p2 / (3/*MaxTrainLevel*/ + 1) * (nLevel + 1) + (sDefPower + rand() % (sDefMaxPower - sDefPower))); 
  9. else
  10. return ROUND(p1 + p2 / (3/*MaxTrainLevel*/ + 1) * (nLevel + 1) + sDefPower);
  11. }
  12. BOOL CMagicInfo::CheckMagicLevelup(CCharObject *pCharObject, _LPTHUMANMAGICRCD lptMagicRcd)
  13. {
  14. int nLevel;
  15. if (lptMagicRcd->btLevel >= 0 && lptMagicRcd->btLevel <= 3/*MaxTrainLevel*/)
  16. nLevel = (int)lptMagicRcd->btLevel;
  17. else
  18. nLevel = 0;
  19. if (lptMagicRcd->btLevel < 3/*MaxTrainLevel*/)
  20. {
  21. if (lptMagicRcd->nCurrTrain >= nTrain[nLevel])
  22. {
  23. if (lptMagicRcd->btLevel < 3/*MaxTrainLevel*/)
  24. {
  25. lptMagicRcd->nCurrTrain -= nTrain[nLevel];
  26. lptMagicRcd->btLevel += 1;
  27. pCharObject->UpdateDelayProcessCheckParam1(pCharObject, RM_MAGIC_LVEXP, 0, lptMagicRcd->nCurrTrain, lptMagicRcd->btLevel, lptMagicRcd->btMagicID, NULL, 800);
  28. // CheckMagicSpecialAbility (pum);
  29. }
  30. else
  31. lptMagicRcd->nCurrTrain = nTrain[nLevel];
  32. return TRUE;
  33. }
  34. }
  35. return FALSE;
  36. }