-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Player set/get cannotMove #2553
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
Changes from 3 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 setNoMove(bool canNotMove) | ||||||
| { | ||||||
|
rookgaard marked this conversation as resolved.
Outdated
|
||||||
| cannotMove = canNotMove; | ||||||
| cancelNextWalk = true; | ||||||
|
Member
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?
Contributor
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
Member
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.
Member
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).
Member
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 canNotMove() const { | ||||||
| return cannotMove; | ||||||
| } | ||||||
|
|
||||||
| //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 cannotMove = false; | ||||||
|
|
||||||
| //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.
canNotMoveisn't correct,cannotis a single word.by the way, I can't find
cannotMovein creature.h like you said is there.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.
I meant field
bool cannotMove = false;Anyway, I've changed again function naming. How would you rate changes now?