Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DWORD CHARACTER::GetMotionMode() const
- {
- DWORD dwMode = MOTION_MODE_GENERAL;
- if (IsPolymorphed())
- return dwMode;
- LPITEM pkItem;
- if ((pkItem = GetWear(WEAR_WEAPON)))
- {
- switch (pkItem->GetProto()->bSubType)
- {
- case WEAPON_SWORD:
- dwMode = MOTION_MODE_ONEHAND_SWORD;
- break;
- case WEAPON_TWO_HANDED:
- dwMode = MOTION_MODE_TWOHAND_SWORD;
- break;
- case WEAPON_DAGGER:
- dwMode = MOTION_MODE_DUALHAND_SWORD;
- break;
- case WEAPON_BOW:
- dwMode = MOTION_MODE_BOW;
- break;
- case WEAPON_BELL:
- dwMode = MOTION_MODE_BELL;
- break;
- case WEAPON_FAN:
- dwMode = MOTION_MODE_FAN;
- break;
- }
- }
- return dwMode;
- }
- float CHARACTER::GetMoveMotionSpeed() const
- {
- DWORD dwMode = GetMotionMode();
- const CMotion * pkMotion = NULL;
- if (!GetMountVnum())
- pkMotion = CMotionManager::instance().GetMotion(GetRaceNum(), MAKE_MOTION_KEY(dwMode, (IsWalking() && IsPC()) ? MOTION_WALK : MOTION_RUN));
- else
- {
- pkMotion = CMotionManager::instance().GetMotion(GetMountVnum(), MAKE_MOTION_KEY(MOTION_MODE_GENERAL, (IsWalking() && IsPC()) ? MOTION_WALK : MOTION_RUN));
- if (!pkMotion)
- pkMotion = CMotionManager::instance().GetMotion(GetRaceNum(), MAKE_MOTION_KEY(MOTION_MODE_HORSE, (IsWalking() && IsPC()) ? MOTION_WALK : MOTION_RUN));
- }
- if (pkMotion)
- return -pkMotion->GetAccumVector().y / pkMotion->GetDuration();
- else
- {
- sys_err("cannot find motion (name %s race %d mode %d)", GetName(), GetRaceNum(), dwMode);
- return 300.0f;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement