Facebook
From oguzhan, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 128
  1. void CPythonPlayer::SetSkillLevel_(DWORD dwSkillIndex, DWORD dwSkillGrade, DWORD dwSkillLevel)
  2. {
  3.         DWORD dwSlotIndex;
  4.         if (!GetSkillSlotIndex(dwSkillIndex, &dwSlotIndex))
  5.                 return;
  6.  
  7.         if (dwSlotIndex >= SKILL_MAX_NUM)
  8.                 return;
  9.  
  10.         switch (dwSkillGrade)
  11.         {
  12.         case 0:
  13.                 m_playerStatus.aSkill[dwSlotIndex].iGrade = dwSkillGrade;
  14.                 m_playerStatus.aSkill[dwSlotIndex].iLevel = dwSkillLevel;
  15.                 break;
  16.         case 1:
  17.                 m_playerStatus.aSkill[dwSlotIndex].iGrade = dwSkillGrade;
  18.                 m_playerStatus.aSkill[dwSlotIndex].iLevel = dwSkillLevel - 20 + 1;
  19.                 break;
  20.         case 2:
  21.                 m_playerStatus.aSkill[dwSlotIndex].iGrade = dwSkillGrade;
  22.                 m_playerStatus.aSkill[dwSlotIndex].iLevel = dwSkillLevel - 30 + 1;
  23.                 break;
  24.         case 3:
  25.                 m_playerStatus.aSkill[dwSlotIndex].iGrade = dwSkillGrade;
  26.                 m_playerStatus.aSkill[dwSlotIndex].iLevel = dwSkillLevel - 40 + 1;
  27.                 break;
  28. #ifdef ENABLE_SKILLS_LEVEL_OVER_P
  29.         case 4:
  30.                 m_playerStatus.aSkill[dwSlotIndex].iGrade = dwSkillGrade;
  31.                 m_playerStatus.aSkill[dwSlotIndex].iLevel = dwSkillLevel - 50 + 1;
  32.                 break;
  33. #endif
  34.         }
  35.  
  36. #ifdef ENABLE_SKILLS_LEVEL_OVER_P
  37.         const DWORD SKILL_MAX_LEVEL = 50;
  38. #else
  39.         const DWORD SKILL_MAX_LEVEL = 40;
  40. #endif
  41.  
  42.         if (dwSkillLevel>SKILL_MAX_LEVEL)
  43.         {
  44.                 m_playerStatus.aSkill[dwSlotIndex].fcurEfficientPercentage = 0.0f;
  45.                 m_playerStatus.aSkill[dwSlotIndex].fnextEfficientPercentage = 0.0f;
  46.  
  47.                 TraceError("CPythonPlayer::SetSkillLevel(SlotIndex=%d, SkillLevel=%d)", dwSlotIndex, dwSkillLevel);
  48.                 return;
  49.         }
  50.  
  51.         m_playerStatus.aSkill[dwSlotIndex].fcurEfficientPercentage = LocaleService_GetSkillPower(dwSkillLevel) / 100.0f;
  52.         m_playerStatus.aSkill[dwSlotIndex].fnextEfficientPercentage = LocaleService_GetSkillPower(dwSkillLevel + 1) / 100.0f;
  53.  
  54. }