Advertisement
Guest User

Untitled

a guest
Feb 26th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. void CHARACTER::BuffOnAttr_ValueChange(BYTE bType, BYTE bOldValue, BYTE bNewValue)
  2. {
  3. TMapBuffOnAttrs::iterator it = m_map_buff_on_attrs.find(bType);
  4.  
  5. if (0 == bNewValue)
  6. {
  7. if (m_map_buff_on_attrs.end() == it)
  8. return;
  9. else
  10. it->second->Off();
  11. }
  12. else if(0 == bOldValue)
  13. {
  14. CBuffOnAttributes* pBuff;
  15. if (m_map_buff_on_attrs.end() == it)
  16. {
  17. switch (bType)
  18. {
  19. case POINT_ENERGY:
  20. {
  21. static BYTE abSlot[] = { WEAR_BODY, WEAR_HEAD, WEAR_FOOTS, WEAR_WRIST, WEAR_WEAPON, WEAR_NECK, WEAR_EAR, WEAR_SHIELD };
  22. static std::vector <BYTE> vec_slots (abSlot, abSlot + _countof(abSlot));
  23. pBuff = M2_NEW CBuffOnAttributes(this, bType, &vec_slots);
  24. }
  25. break;
  26. case POINT_COSTUME_ATTR_BONUS:
  27. {
  28. static BYTE abSlot[] = { WEAR_COSTUME_BODY, WEAR_COSTUME_HAIR };
  29. static std::vector <BYTE> vec_slots (abSlot, abSlot + _countof(abSlot));
  30. pBuff = M2_NEW CBuffOnAttributes(this, bType, &vec_slots);
  31. }
  32. break;
  33. default:
  34. break;
  35. }
  36. m_map_buff_on_attrs.insert(TMapBuffOnAttrs::value_type(bType, pBuff));
  37.  
  38. }
  39. else
  40. pBuff = it->second;
  41.  
  42. pBuff->On(bNewValue);
  43. }
  44. else
  45. {
  46. if (m_map_buff_on_attrs.end() == it)
  47. return;
  48. else
  49. it->second->ChangeBuffValue(bNewValue);
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement