Advertisement
Guest User

Untitled

a guest
Oct 20th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. void Creature::onWalk()
  2. {
  3.  
  4. if (getWalkDelay() <= 0) {
  5.  
  6. Direction dir;
  7. uint32_t flags = FLAG_IGNOREFIELDDAMAGE;
  8. if (getNextStep(dir, flags)) {
  9. ReturnValue ret = !noMove ? g_game.internalMoveCreature(this, dir, flags) : RETURNVALUE_NOTPOSSIBLE;
  10. if (ret != RETURNVALUE_NOERROR) {
  11. if (Player* player = getPlayer()) {
  12. player->sendCancelMessage(ret);
  13. player->sendCancelWalk();
  14. }
  15. else if(Monster* monster = getMonster()) {
  16. cancelNextWalk = true;
  17. }
  18.  
  19. forceUpdateFollowPath = true;
  20. }
  21. }
  22. else {
  23. if (listWalkDir.empty()) {
  24. onWalkComplete();
  25. }
  26.  
  27. stopEventWalk();
  28. }
  29. }
  30.  
  31. if (cancelNextWalk) {
  32. listWalkDir.clear();
  33. onWalkAborted();
  34. cancelNextWalk = false;
  35. }
  36.  
  37. if (eventWalk != 0) {
  38. eventWalk = 0;
  39. addEventWalk();
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement