-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Player set/get cannotMove #2553
Changes from 5 commits
a3f091b
30d33c3
e7cb0ba
7af516a
507b871
6080fad
15cc06f
ec1be5f
d4e874e
1823e63
dee988c
c77efb5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -408,6 +408,14 @@ class Creature : virtual public Thing | |||||
void setUseDefense(bool useDefense) { | ||||||
canUseDefense = useDefense; | ||||||
} | ||||||
void setCanMove(bool move) | ||||||
{ | ||||||
rookgaard marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
canMove = move; | ||||||
cancelNextWalk = true; | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. if we set canMove to true, do we still cancelNextWalk? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I too was wondering about cancelNextWalk always being set to true in this function. What is the reason for the code not being this or similar
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm still curious about this. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. My guess is to fix desync issues mid-action, this is called to toggle the states, but no matter which direction it toggles to, you dont want to give the user half a sqm headstart as it may create odd client behavior. So even if you just got permission to walk, the character pos gets a cancel byte one last time to set the timings straight. (I might be wrong though). There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @Znote but if player is already movement blocked then he cannot walk, so what desynchro? |
||||||
} | ||||||
bool getCanMove() const { | ||||||
return canMove; | ||||||
} | ||||||
|
||||||
//creature script events | ||||||
bool registerCreatureEvent(const std::string& name); | ||||||
|
@@ -526,6 +534,7 @@ class Creature : virtual public Thing | |||||
bool forceUpdateFollowPath = false; | ||||||
bool hiddenHealth = false; | ||||||
bool canUseDefense = true; | ||||||
bool canMove = true; | ||||||
|
||||||
//creature script events | ||||||
bool hasEventRegistered(CreatureEventType_t event) const { | ||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same with sendCancelWalk