DB/Vehicle

From wowdev
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

≥ Wrath

Structure

struct VehicleEntry
{
    uint32  m_ID;                                           // 0
    uint32  m_flags;                                        // 1
    float   m_turnSpeed;                                    // 2
    float   m_pitchSpeed;                                   // 3
    float   m_pitchMin;                                     // 4
    float   m_pitchMax;                                     // 5
    uint32  m_seatID[8];                                    // 6-13
    float   m_mouseLookOffsetPitch;                         // 14
    float   m_cameraFadeDistScalarMin;                      // 15
    float   m_cameraFadeDistScalarMax;                      // 16
    float   m_cameraPitchOffset;                            // 17
    //int     m_powerType[3];                               //       removed in 3.1
    //int     m_powerToken[3];                              //       removed in 3.1
    float   m_facingLimitRight;                             // 18
    float   m_facingLimitLeft;                              // 19
    float   m_msslTrgtTurnLingering;                        // 20
    float   m_msslTrgtPitchLingering;                       // 21
    float   m_msslTrgtMouseLingering;                       // 22
    float   m_msslTrgtEndOpacity;                           // 23
    float   m_msslTrgtArcSpeed;                             // 24
    float   m_msslTrgtArcRepeat;                            // 25
    float   m_msslTrgtArcWidth;                             // 26
    float   m_msslTrgtImpactRadius[2];                      // 27-28
    char*   m_msslTrgtArcTexture;                           // 29
    char*   m_msslTrgtImpactTexture;                        // 30
    char*   m_msslTrgtImpactModel[2];                       // 31-32
    float   m_cameraYawOffset;                              // 33
    uint32  m_uiLocomotionType;                             // 34
    float   m_msslTrgtImpactTexRadius;                      // 35
    uint32  m_uiSeatIndicatorType;                          // 36
    uint32  PowerDisplay[3];                                // 37-39 3.1+: power type and color (0 default, -1 do not use)
};
struct VehicleEntry // sizeof(0xA0)
{
   m_ID; // +0x0, size 0x4, type 0
   m_flags; // +0x4, size 0x4, type 0
   m_turnSpeed; // +0x8, size 0x4, type 3
   m_pitchSpeed; // +0xC, size 0x4, type 3
   m_pitchMin; // +0x10, size 0x4, type 3
   m_pitchMax; // +0x14, size 0x4, type 3
   m_seatID; // +0x18, size 0x20, type 0
   m_mouseLookOffsetPitch; // +0x38, size 0x4, type 3
   m_cameraFadeDistScalarMin; // +0x3C, size 0x4, type 3
   m_cameraFadeDistScalarMax; // +0x40, size 0x4, type 3
   m_cameraPitchOffset; // +0x44, size 0x4, type 3
   m_facingLimitRight; // +0x48, size 0x4, type 3
   m_facingLimitLeft; // +0x4C, size 0x4, type 3
   m_msslTrgtTurnLingering; // +0x50, size 0x4, type 3
   m_msslTrgtPitchLingering; // +0x54, size 0x4, type 3
   m_msslTrgtMouseLingering; // +0x58, size 0x4, type 3
   m_msslTrgtEndOpacity; // +0x5C, size 0x4, type 3
   m_msslTrgtArcSpeed; // +0x60, size 0x4, type 3
   m_msslTrgtArcRepeat; // +0x64, size 0x4, type 3
   m_msslTrgtArcWidth; // +0x68, size 0x4, type 3
   m_msslTrgtImpactRadius; // +0x6C, size 0x8, type 3
   m_msslTrgtArcTexture; // +0x74, size 0x4, type 2
   m_msslTrgtImpactTexture; // +0x78, size 0x4, type 2
   m_msslTrgtImpactModel; // +0x7C, size 0x8, type 2
   m_cameraYawOffset; // +0x84, size 0x4, type 3
   m_uiLocomotionType; // +0x88, size 0x4, type 0
   m_msslTrgtImpactTexRadius; // +0x8C, size 0x4, type 3
   m_vehicleUIIndicatorID; // +0x90, size 0x4, type 0
   m_powerDisplayID; // +0x94, size 0xC, type 0
};

6.0.1.18179

struct VehicleRec {
  uint32_t m_ID;
  uint32_t m_flags;
  uint32_t m_flagsB;
  float m_turnSpeed;
  float m_pitchSpeed;
  float m_pitchMin;
  float m_pitchMax;
  foreign_key<uint32_t, &VehicleSeatRec::m_ID> m_seatID[8];
  float m_mouseLookOffsetPitch;
  float m_cameraFadeDistScalarMin;
  float m_cameraFadeDistScalarMax;
  float m_cameraPitchOffset;
  float m_facingLimitRight;
  float m_facingLimitLeft;
  float m_msslTrgtTurnLingering;
  float m_msslTrgtPitchLingering;
  float m_msslTrgtMouseLingering;
  float m_msslTrgtEndOpacity;
  float m_msslTrgtArcSpeed;
  float m_msslTrgtArcRepeat;
  float m_msslTrgtArcWidth;
  float m_msslTrgtImpactRadius[2];
  stringref m_msslTrgtArcTexture;
  stringref m_msslTrgtImpactTexture;
  stringref m_msslTrgtImpactModel[2];
  float m_cameraYawOffset;
  uint32_t m_uiLocomotionType;
  float m_msslTrgtImpactTexRadius;
  uint32_t m_vehicleUIIndicatorID;
  uint32_t m_powerDisplayID[3];
};

enum POWER_TYPE

   POWER_STEAM                                  = 61,
   POWER_PYRITE                                 = 41,
   POWER_HEAT                                   = 101,
   POWER_OOZE                                   = 121,
   POWER_BLOOD                                  = 141,
   POWER_WRATH                                  = 142,
   POWER_ARCANE_ENERGY                          = 143,
   POWER_LIFE_ENERGY                            = 144,
   POWER_SUN_ENERGY                             = 145,
   POWER_SWING_VELOCITY                         = 146,
   POWER_SHADOWFLAME_ENERGY                     = 147,
   POWER_BLUE_POWER                             = 148,
   POWER_PURPLE_POWER                           = 149,
   POWER_GREEN_POWER                            = 150,
   POWER_ORANGE_POWER                           = 151,
   POWER_ENERGY_2                               = 153,
   POWER_ARCANEENERGY                           = 161,
   POWER_WIND_POWER_1                           = 162,
   POWER_WIND_POWER_2                           = 163,
   POWER_WIND_POWER_3                           = 164,
   POWER_FUEL                                   = 165,
   POWER_SUN_POWER                              = 166,
   POWER_TWILIGHT_ENERGY                        = 169,
   POWER_VENOM                                  = 174,
   POWER_ORANGE_POWER_2                         = 176,
   POWER_CONSUMING_FLAME                        = 177,
   POWER_PYROCLASTIC_FRENZY                     = 178,
   POWER_FLASHFIRE                              = 179,

enum VEHICLE_FLAGS

   VEHICLE_FLAG_NO_STRAFE                       = 0x00000001,           // Sets MOVEFLAG2_NO_STRAFE
   VEHICLE_FLAG_NO_JUMPING                      = 0x00000002,           // Sets MOVEFLAG2_NO_JUMPING
   VEHICLE_FLAG_FULLSPEEDTURNING                = 0x00000004,           // Sets MOVEFLAG2_FULLSPEEDTURNING
   VEHICLE_FLAG_ALLOW_PITCHING                  = 0x00000010,           // Sets MOVEFLAG2_ALLOW_PITCHING
   VEHICLE_FLAG_FULLSPEEDPITCHING               = 0x00000020,           // Sets MOVEFLAG2_FULLSPEEDPITCHING
   VEHICLE_FLAG_CUSTOM_PITCH                    = 0x00000040,           // If set use pitchMin and pitchMax from DBC, otherwise pitchMin = -pi/2, pitchMax = pi/2
   VEHICLE_FLAG_ADJUST_AIM_ANGLE                = 0x00000400,           // Lua_IsVehicleAimAngleAdjustable
   VEHICLE_FLAG_ADJUST_AIM_POWER                = 0x00000800,           // Lua_IsVehicleAimPowerAdjustable
   VEHICLE_FLAG_FIXED_POSITION                  = 0x00200000            // Used for cannons, when they should be rooted; At least as of 8.2.5 does not actually root anything, but enforces values of FacingLimitRight/Left