How to find MovementFlags? menu

User Tag List

Results 1 to 4 of 4
  1. #1
    xkyii's Avatar Member
    Reputation
    1
    Join Date
    Sep 2019
    Posts
    12
    Thanks G/R
    5/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    How to find MovementFlags?

    here enum in mangos:
    Code:
    enum MovementFlags
    {
        MOVEFLAG_NONE               = 0x00000000,
        MOVEFLAG_FORWARD            = 0x00000001,
        MOVEFLAG_BACKWARD           = 0x00000002,
        MOVEFLAG_STRAFE_LEFT        = 0x00000004,
        MOVEFLAG_STRAFE_RIGHT       = 0x00000008,
        MOVEFLAG_TURN_LEFT          = 0x00000010,
        MOVEFLAG_TURN_RIGHT         = 0x00000020,
        MOVEFLAG_PITCH_UP           = 0x00000040,
        MOVEFLAG_PITCH_DOWN         = 0x00000080,
        MOVEFLAG_WALK_MODE          = 0x00000100,   
    
        MOVEFLAG_LEVITATING         = 0x00000400,
        MOVEFLAG_FLYING             = 0x00000800,    
        MOVEFLAG_FALLING            = 0x00002000,
        MOVEFLAG_FALLINGFAR         = 0x00004000,
        MOVEFLAG_SWIMMING           = 0x00200000,    
        MOVEFLAG_SPLINE_ENABLED     = 0x00400000,  
        MOVEFLAG_CAN_FLY            = 0x00800000, 
        MOVEFLAG_FLYING_OLD         = 0x01000000, 
    
        MOVEFLAG_ONTRANSPORT        = 0x02000000, 
        MOVEFLAG_SPLINE_ELEVATION   = 0x04000000,  
        MOVEFLAG_ROOT               = 0x08000000,  
        MOVEFLAG_WATERWALKING       = 0x10000000,  
        MOVEFLAG_SAFE_FALL          = 0x20000000,   
        MOVEFLAG_HOVER              = 0x40000000,
    
        MOVEFLAG_MASK_MOVING_FORWARD = MOVEFLAG_FORWARD | MOVEFLAG_STRAFE_LEFT | MOVEFLAG_STRAFE_RIGHT | MOVEFLAG_FALLING,
    };
    and asm code in Script_IsSwimming(1.13.2.32887):
    Code:
    mov     rax, [rax+198h]   ; rax: unit_ptr base
    test    dword ptr [rax+58h], 100000h ; should be MOVEFLAG_SWIMMING?
    jz      short loc_7FF7D7E6F554
    MOVEFLAG_SWIMMING is 0x100000 in Script_IsSwimming, and 0x00200000 in mangos. That is confuse me.
    How to find the MovementFlags correctly?

    How to find MovementFlags?
  2. #2
    counted's Avatar Contributor Authenticator enabled
    Reputation
    203
    Join Date
    Mar 2008
    Posts
    183
    Thanks G/R
    11/108
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    I wrote a small code segment that displays the movement flags uint in bit format and did shit in the game and documented which bit meant what.

    Here is what that resulted in
    Code:
     public enum eCGMovementFlags : UInt32
            {
                NONE = 0x00000000,
                FORWARD = 0x00000001,                   // 0000 0000 0000 0001
                BACKWARD = 0x00000002,                  // 0000 0000 0000 0010
                STRAFE_LEFT = 0x00000004,               // 0000 0000 0000 0100
                STRAFE_RIGHT = 0x00000008,              // 0000 0000 0000 1000
                ROTATE_LEFT = 0x00000010,               // 0000 0000 0001 0000
                ROTATE_RIGHT = 0x00000020,              // 0000 0000 0010 0000
                PITCH_UP = 0x00000040,                  // 0000 0000 0100 0000
                PITCH_DOWN = 0x00000080,                // 0000 0000 1000 0000
                WALK = 0x00000100,                      // 0000 0001 0000 0000                 
                ONTRANSPORT = 0x00000200,               // 0000 0010 0000 0000                 Used for flying on some creatures
                IMMOBILIZED = 0x00000400,               // 0000 0100 0000 0000
                JUMPING = 0x00000800,                   // 0000 1000 0000 0000
                FALLING = 0x00001000,                   // 0001 0000 0000 0000
                ROOTED = 0x00002000,                    // 0010 0000 0000 0000
                ZONEING_IN = 0x00004000,                // 0100 0000 0000 0000
                UNKNOWN1 = 0x00008000,                  // 1000 0000 0000 0000                                                            
                FLIGHTPATH = 0x00010000,                // 0000 0000 0000 0001                Next ushort
                UNKNOWN2 = 0x00020000,                  // 0000 0000 0000 0010
                UNKNOWN3 = 0x00040000,                  // 0000 0000 0000 0100
                UNKNOWN4 = 0x00080000,                  // 0000 0000 0000 1000
                SWIMMING = 0x00100000,                  // 0000 0000 0001 0000
                FLY_UP = 0x00200000,                    // 0000 0000 0010 0000
                FLY_DOWN = 0x00400000,                  // 0000 0000 0100 0000
                CANFLY = 0x00800000,                    // 0000 0000 1000 0000			      On Flying mount
                FLYING = 0x01000000,                    // 0000 0001 0000 0000                Actual flying mode
                UNKNOWn5 = 0x02000000,                  // 0000 0010 0000 0000                  
                WATERWALKING = 0x04000000,              // 0000 0100 0000 0000                  
                KITE = 0x08000000,                      // 0000 1000 0000 0000                  
                HOVERMAYBE = 0x10000000,                // 0001 0000 0000 0000                prevent unit from falling through water
                SAFE_FALL = 0x20000000,                 // 0010 0000 0000 0000                active rogue safe fall spell (passive)
                ZONEDOUT = 0x40000000,                  // 0100 0000 0000 0000
                UNKNOWN8 = 0x80000000,                  // 1000 0000 0000 0000 
                IS_MOVING_3D = ( FORWARD | BACKWARD | STRAFE_LEFT | STRAFE_RIGHT | PITCH_UP | PITCH_DOWN | JUMPING | FALLING | FLY_UP | FLY_DOWN | ROTATE_LEFT | ROTATE_RIGHT ),
                IS_MOVING_2D = ( FORWARD | BACKWARD | STRAFE_LEFT | STRAFE_RIGHT ),
                IS_ROTATING = ROTATE_LEFT | ROTATE_RIGHT,
            };

  3. Thanks xkyii (1 members gave Thanks to counted for this useful post)
  4. #3
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1511
    Join Date
    May 2008
    Posts
    2,432
    Thanks G/R
    81/333
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Mangos is for much older clients. Trinity is a better reference for 8.3/1.13. TrinityCore/UnitDefines.h at master . TrinityCore/TrinityCore . GitHub

    Code:
    enum MovementFlags : uint32
    {
        MOVEMENTFLAG_NONE                  = 0x00000000,
        MOVEMENTFLAG_FORWARD               = 0x00000001,
        MOVEMENTFLAG_BACKWARD              = 0x00000002,
        MOVEMENTFLAG_STRAFE_LEFT           = 0x00000004,
        MOVEMENTFLAG_STRAFE_RIGHT          = 0x00000008,
        MOVEMENTFLAG_LEFT                  = 0x00000010,
        MOVEMENTFLAG_RIGHT                 = 0x00000020,
        MOVEMENTFLAG_PITCH_UP              = 0x00000040,
        MOVEMENTFLAG_PITCH_DOWN            = 0x00000080,
        MOVEMENTFLAG_WALKING               = 0x00000100,               // Walking
        MOVEMENTFLAG_DISABLE_GRAVITY       = 0x00000200,               // Former MOVEMENTFLAG_LEVITATING. This is used when walking is not possible.
        MOVEMENTFLAG_ROOT                  = 0x00000400,               // Must not be set along with MOVEMENTFLAG_MASK_MOVING
        MOVEMENTFLAG_FALLING               = 0x00000800,               // damage dealt on that type of falling
        MOVEMENTFLAG_FALLING_FAR           = 0x00001000,
        MOVEMENTFLAG_PENDING_STOP          = 0x00002000,
        MOVEMENTFLAG_PENDING_STRAFE_STOP   = 0x00004000,
        MOVEMENTFLAG_PENDING_FORWARD       = 0x00008000,
        MOVEMENTFLAG_PENDING_BACKWARD      = 0x00010000,
        MOVEMENTFLAG_PENDING_STRAFE_LEFT   = 0x00020000,
        MOVEMENTFLAG_PENDING_STRAFE_RIGHT  = 0x00040000,
        MOVEMENTFLAG_PENDING_ROOT          = 0x00080000,
        MOVEMENTFLAG_SWIMMING              = 0x00100000,               // appears with fly flag also
        MOVEMENTFLAG_ASCENDING             = 0x00200000,               // press "space" when flying
        MOVEMENTFLAG_DESCENDING            = 0x00400000,
        MOVEMENTFLAG_CAN_FLY               = 0x00800000,               // Appears when unit can fly AND also walk
        MOVEMENTFLAG_FLYING                = 0x01000000,               // unit is actually flying. pretty sure this is only used for players. creatures use disable_gravity
        MOVEMENTFLAG_SPLINE_ELEVATION      = 0x02000000,               // used for flight paths
        MOVEMENTFLAG_WATERWALKING          = 0x04000000,               // prevent unit from falling through water
        MOVEMENTFLAG_FALLING_SLOW          = 0x08000000,               // active rogue safe fall spell (passive)
        MOVEMENTFLAG_HOVER                 = 0x10000000,               // hover, cannot jump
        MOVEMENTFLAG_DISABLE_COLLISION     = 0x20000000,
    
        MOVEMENTFLAG_MASK_MOVING =
            MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_BACKWARD | MOVEMENTFLAG_STRAFE_LEFT | MOVEMENTFLAG_STRAFE_RIGHT |
            MOVEMENTFLAG_FALLING | MOVEMENTFLAG_ASCENDING | MOVEMENTFLAG_DESCENDING,
    
        MOVEMENTFLAG_MASK_TURNING =
            MOVEMENTFLAG_LEFT | MOVEMENTFLAG_RIGHT | MOVEMENTFLAG_PITCH_UP | MOVEMENTFLAG_PITCH_DOWN,
    
        MOVEMENTFLAG_MASK_MOVING_FLY =
            MOVEMENTFLAG_FLYING | MOVEMENTFLAG_ASCENDING | MOVEMENTFLAG_DESCENDING,
    
        // Movement flags allowed for creature in CreateObject - we need to keep all other enabled serverside
        // to properly calculate all movement
        MOVEMENTFLAG_MASK_CREATURE_ALLOWED =
            MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_DISABLE_GRAVITY | MOVEMENTFLAG_ROOT | MOVEMENTFLAG_SWIMMING |
            MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_WATERWALKING | MOVEMENTFLAG_FALLING_SLOW | MOVEMENTFLAG_HOVER | MOVEMENTFLAG_DISABLE_COLLISION,
    
        /// @todo if needed: add more flags to this masks that are exclusive to players
        MOVEMENTFLAG_MASK_PLAYER_ONLY =
            MOVEMENTFLAG_FLYING,
    
        /// Movement flags that have change status opcodes associated for players
        MOVEMENTFLAG_MASK_HAS_PLAYER_STATUS_OPCODE = MOVEMENTFLAG_DISABLE_GRAVITY | MOVEMENTFLAG_ROOT |
            MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_WATERWALKING | MOVEMENTFLAG_FALLING_SLOW | MOVEMENTFLAG_HOVER | MOVEMENTFLAG_DISABLE_COLLISION
    };

  5. Thanks xkyii (1 members gave Thanks to Jadd for this useful post)
  6. #4
    xkyii's Avatar Member
    Reputation
    1
    Join Date
    Sep 2019
    Posts
    12
    Thanks G/R
    5/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for all!

Similar Threads

  1. How to find WoW Memory Offset?
    By pegaa in forum World of Warcraft General
    Replies: 0
    Last Post: 08-03-2007, 12:02 AM
  2. How To Find Item ID's?
    By Finalwish in forum WoW ME Questions and Requests
    Replies: 1
    Last Post: 07-25-2007, 08:50 PM
  3. How to find a bot who work...
    By tamipop in forum World of Warcraft General
    Replies: 4
    Last Post: 02-19-2007, 08:14 PM
  4. How To: Find put ur IP address by clicking on an icon
    By ttttllllrrrr in forum Community Chat
    Replies: 1
    Last Post: 01-27-2007, 08:47 PM
  5. How to find a get a rogue stealthed -- Warlock only
    By koalaz2004 in forum World of Warcraft Exploits
    Replies: 5
    Last Post: 08-26-2006, 10:53 AM
All times are GMT -5. The time now is 10:15 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search