Advertisement
Guest User

Untitled

a guest
Feb 2nd, 2020
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. DWORD CHARACTER::GetMotionMode() const
  2. {
  3. DWORD dwMode = MOTION_MODE_GENERAL;
  4.  
  5. if (IsPolymorphed())
  6. return dwMode;
  7.  
  8. LPITEM pkItem;
  9.  
  10. if ((pkItem = GetWear(WEAR_WEAPON)))
  11. {
  12. switch (pkItem->GetProto()->bSubType)
  13. {
  14. case WEAPON_SWORD:
  15. dwMode = MOTION_MODE_ONEHAND_SWORD;
  16. break;
  17.  
  18. case WEAPON_TWO_HANDED:
  19. dwMode = MOTION_MODE_TWOHAND_SWORD;
  20. break;
  21.  
  22. case WEAPON_DAGGER:
  23. dwMode = MOTION_MODE_DUALHAND_SWORD;
  24. break;
  25.  
  26. case WEAPON_BOW:
  27. dwMode = MOTION_MODE_BOW;
  28. break;
  29.  
  30. case WEAPON_BELL:
  31. dwMode = MOTION_MODE_BELL;
  32. break;
  33.  
  34. case WEAPON_FAN:
  35. dwMode = MOTION_MODE_FAN;
  36. break;
  37. }
  38. }
  39. return dwMode;
  40. }
  41.  
  42. float CHARACTER::GetMoveMotionSpeed() const
  43. {
  44. DWORD dwMode = GetMotionMode();
  45.  
  46. const CMotion * pkMotion = NULL;
  47.  
  48. if (!GetMountVnum())
  49. pkMotion = CMotionManager::instance().GetMotion(GetRaceNum(), MAKE_MOTION_KEY(dwMode, (IsWalking() && IsPC()) ? MOTION_WALK : MOTION_RUN));
  50. else
  51. {
  52. pkMotion = CMotionManager::instance().GetMotion(GetMountVnum(), MAKE_MOTION_KEY(MOTION_MODE_GENERAL, (IsWalking() && IsPC()) ? MOTION_WALK : MOTION_RUN));
  53.  
  54. if (!pkMotion)
  55. pkMotion = CMotionManager::instance().GetMotion(GetRaceNum(), MAKE_MOTION_KEY(MOTION_MODE_HORSE, (IsWalking() && IsPC()) ? MOTION_WALK : MOTION_RUN));
  56. }
  57.  
  58. if (pkMotion)
  59. return -pkMotion->GetAccumVector().y / pkMotion->GetDuration();
  60. else
  61. {
  62. sys_err("cannot find motion (name %s race %d mode %d)", GetName(), GetRaceNum(), dwMode);
  63. return 300.0f;
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement