DB/Vehicle

From wowdev
Jump to: navigation, search

≥ 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