https://wowdev.wiki/api.php?action=feedcontributions&user=%D0%A1%D0%BC%D0%B5%D1%80%D0%B4%D0%BE%D0%BA%D1%80%D1%8B%D0%BB&feedformat=atom
wowdev - User contributions [en]
2024-03-29T13:32:40Z
User contributions
MediaWiki 1.39.7
https://wowdev.wiki/index.php?title=DB/SpellVisualKitEffect&diff=29564
DB/SpellVisualKitEffect
2020-04-12T00:51:59Z
<p>Смердокрыл: </p>
<hr />
<div>{{Template:Sandbox/VersionRange|min_expansionlevel=7}}<br />
<br />
==7.1.0.22996==<br />
KitIDs are duplicated in order to provide details on another component of the spell.<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180" | Field <br />
! width="80" | Type <br />
! width="500" | Notes<br />
|- style="background:#E0E0E0;"<br />
| 1 || ID || Integer || <br />
|-<br />
| 2 || [[DB/SpellVisual|KitID]] || iRefID || precastKit, castKit, impactKit, stateKit, etc<br />
|- style="background:#E0E0E0;"<br />
| 3 || Classification || Integer || 2 for SpellVisualKitModelAttach, 4 for SoundEntries, 5 for SpellVisualAnim, 11 for EdgeGlowEffect<br />
|-<br />
| 4 || KitClassificationID || Integer || ID in respective Classification Table<br />
|}<br />
<br />
==8.3.0.33941==<br />
Further research desperately needed<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180" | Field <br />
! width="80" | Type <br />
! width="500" | Notes<br />
|- style="background:#E0E0E0;"<br />
| 1 || ID || Integer || <br />
|-<br />
| 2 || EffectType || Integer || 6 - definitely cast animation (possibly oneshot anim). 2 also possibly cast-related<br />
|- style="background:#E0E0E0;"<br />
| 3 || Effect || iRefID || 6 => SpellVisualAnim<br />
|-<br />
| 4 || [[DB/SpellVisualKit|ParentSpellVisualKitID]] || iRefID ||<br />
|}<br />
<br />
[[Category:DBC]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/SpellVisualEvent&diff=29563
DB/SpellVisualEvent
2020-04-12T00:46:26Z
<p>Смердокрыл: Created page with "{{Template:Sandbox/VersionRange|min_expansionlevel=8}} ==8.3.0.33941== Seems to be about timing spell visuals (anims, etc.) {| style="background:#FCFCFC; color:black" |- ! w..."</p>
<hr />
<div>{{Template:Sandbox/VersionRange|min_expansionlevel=8}}<br />
<br />
==8.3.0.33941==<br />
Seems to be about timing spell visuals (anims, etc.)<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180" | Field <br />
! width="80" | Type <br />
! width="500" | Notes<br />
|- style="background:#E0E0E0;"<br />
| 1 || ID || Integer || <br />
|-<br />
| 2 || StartEvent || Integer || Might be the actual number of seconds<br />
|- style="background:#E0E0E0;"<br />
| 3 || EndEvent || Integer || <br />
|-<br />
| 4 || StartMinOffsetMs || Integer || Additional accuracy for the fields above? Allowable delays?<br />
|- style="background:#E0E0E0;"<br />
| 5 || StartMaxOffsetMs || Integer || <br />
|-<br />
| 6 || EndMinOffsetMs || Integer || <br />
|- style="background:#E0E0E0;"<br />
| 7 || EndMaxOffsetMs || Integer || <br />
|-<br />
| 8 || TargetType || Integer || 1 = Caster<br />
|- style="background:#E0E0E0;"<br />
| 9 || [[DB/SpellVisualKit|SpellVisualKitID]] || iRefID ||<br />
|-<br />
| 10 || [[DB/SpellVisual|SpellVisualID]] || iRefID ||<br />
|}<br />
<br />
[[Category:DBC]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/VehicleSeat&diff=28502
DB/VehicleSeat
2019-12-23T13:25:08Z
<p>Смердокрыл: New Vehicle seat flag B</p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=3}}<br />
<br />
== Structure ==<br />
<br />
struct VehicleSeatEntry // sizeof(0x100)<br />
{<br />
m_ID; // +0x0, size 0x4, type 0 // 0<br />
m_flags; // +0x4, size 0x4, type 0 // 1<br />
m_attachmentID; // +0x8, size 0x4, type 0 // 2<br />
m_attachmentOffsetX; // +0xC, size 0x4, type 3 // 3<br />
m_attachmentOffsetY; // +0x10, size 0x4, type 3 // 4<br />
m_attachmentOffsetZ; // +0x14, size 0x4, type 3 // 5<br />
m_enterPreDelay; // +0x18, size 0x4, type 3 // 6<br />
m_enterSpeed; // +0x1C, size 0x4, type 3 // 7<br />
m_enterGravity; // +0x20, size 0x4, type 3 // 8<br />
m_enterMinDuration; // +0x24, size 0x4, type 3 // 9<br />
m_enterMaxDuration; // +0x28, size 0x4, type 3 // 10<br />
m_enterMinArcHeight; // +0x2C, size 0x4, type 3 // 11<br />
m_enterMaxArcHeight; // +0x30, size 0x4, type 3 // 12<br />
m_enterAnimStart; // +0x34, size 0x4, type 0 // 13<br />
m_enterAnimLoop; // +0x38, size 0x4, type 0 // 14<br />
m_rideAnimStart; // +0x3C, size 0x4, type 0 // 15<br />
m_rideAnimLoop; // +0x40, size 0x4, type 0 // 16<br />
m_rideUpperAnimStart; // +0x44, size 0x4, type 0 // 17<br />
m_rideUpperAnimLoop; // +0x48, size 0x4, type 0 // 18<br />
m_exitPreDelay; // +0x4C, size 0x4, type 3 // 19<br />
m_exitSpeed; // +0x50, size 0x4, type 3 // 20<br />
m_exitGravity; // +0x54, size 0x4, type 3 // 21<br />
m_exitMinDuration; // +0x58, size 0x4, type 3 // 22<br />
m_exitMaxDuration; // +0x5C, size 0x4, type 3 // 23<br />
m_exitMinArcHeight; // +0x60, size 0x4, type 3 // 24<br />
m_exitMaxArcHeight; // +0x64, size 0x4, type 3 // 25<br />
m_exitAnimStart; // +0x68, size 0x4, type 0 // 26<br />
m_exitAnimLoop; // +0x6C, size 0x4, type 0 // 27<br />
m_exitAnimEnd; // +0x70, size 0x4, type 0 // 28<br />
m_passengerYaw; // +0x74, size 0x4, type 3 // 29<br />
m_passengerPitch; // +0x78, size 0x4, type 3 // 30<br />
m_passengerRoll; // +0x7C, size 0x4, type 3 // 31<br />
m_passengerAttachmentID; // +0x80, size 0x4, type 0 // 32<br />
m_vehicleEnterAnim; // +0x84, size 0x4, type 0 // 33<br />
m_vehicleExitAnim; // +0x88, size 0x4, type 0 // 34<br />
m_vehicleRideAnimLoop; // +0x8C, size 0x4, type 0 // 35<br />
m_vehicleEnterAnimBone; // +0x90, size 0x4, type 0 // 36<br />
m_vehicleExitAnimBone; // +0x94, size 0x4, type 0 // 37<br />
m_vehicleRideAnimLoopBone; // +0x98, size 0x4, type 0 // 38<br />
m_vehicleEnterAnimDelay; // +0x9C, size 0x4, type 3 // 39<br />
m_vehicleExitAnimDelay; // +0xA0, size 0x4, type 3 // 40<br />
m_vehicleAbilityDisplay; // +0xA4, size 0x4, type 0 // 41<br />
m_enterUISoundID; // +0xA8, size 0x4, type 0 // 42<br />
m_exitUISoundID; // +0xAC, size 0x4, type 0 // 43<br />
m_uiSkin; // +0xB0, size 0x4, type 0 // 44<br />
m_flagsB; // +0xB4, size 0x4, type 0 // 45<br />
m_cameraEnteringDelay; // +0xB8, size 0x4, type 3 // 46 -- here and below: added in 3.1<br />
m_cameraEnteringDuration; // +0xBC, size 0x4, type 3 // 47<br />
m_cameraExitingDelay; // +0xC0, size 0x4, type 3 // 48<br />
m_cameraExitingDuration; // +0xC4, size 0x4, type 3 // 49<br />
m_cameraOffsetX; // +0xC8, size 0x4, type 3 // 50<br />
m_cameraOffsetY; // +0xCC, size 0x4, type 3 // 51<br />
m_cameraOffsetZ; // +0xD0, size 0x4, type 3 // 52<br />
m_cameraPosChaseRate; // +0xD4, size 0x4, type 3 // 53<br />
m_cameraFacingChaseRate; // +0xD8, size 0x4, type 3 // 54<br />
m_cameraEnteringZoom; // +0xDC, size 0x4, type 3 // 55<br />
m_cameraSeatZoomMin; // +0xE0, size 0x4, type 3 // 56<br />
m_cameraSeatZoomMax; // +0xE4, size 0x4, type 3 // 57<br />
m_enterAnimKitID; // +0xE8, size 0x4, type 0 // 58 -- here and below: added after 3.3.5a<br />
m_rideAnimKitID; // +0xEC, size 0x4, type 0 // 59<br />
m_exitAnimKitID; // +0xF0, size 0x4, type 0 // 60<br />
m_vehicleEnterAnimKitID; // +0xF4, size 0x4, type 0 // 61<br />
m_vehicleRideAnimKitID; // +0xF8, size 0x4, type 0 // 62<br />
m_vehicleExitAnimKitID; // +0xFC, size 0x4, type 0 // 63<br />
<br />
bool IsUsable() const { return m_flags & 0x2000000; }<br />
};<br />
<br />
==6.0.1.18179==<br />
struct VehicleSeatRec {<br />
uint32_t m_ID;<br />
uint32_t m_flags;<br />
uint32_t m_attachmentID; // apparently not directly the attachmentID, but mapped via g_vehicleGeoComponentLinks[] dd 14h, 22h, 13h, 15h, 16h, 11h, 17h, 18h, 19h, 0Fh, 10h, 25h, 26h, 27h, 28h, 29h, 2Ah, 2Bh, 2Ch, 2Dh, 2Eh, 0, 2Fh, 30h, 6, 5?<br />
float m_attachmentOffset[3];<br />
float m_enterPreDelay;<br />
float m_enterSpeed;<br />
float m_enterGravity;<br />
float m_enterMinDuration;<br />
float m_enterMaxDuration;<br />
float m_enterMinArcHeight;<br />
float m_enterMaxArcHeight;<br />
uint32_t m_enterAnimStart;<br />
uint32_t m_enterAnimLoop;<br />
uint32_t m_rideAnimStart;<br />
uint32_t m_rideAnimLoop;<br />
uint32_t m_rideUpperAnimStart;<br />
uint32_t m_rideUpperAnimLoop;<br />
float m_exitPreDelay;<br />
float m_exitSpeed;<br />
float m_exitGravity;<br />
float m_exitMinDuration;<br />
float m_exitMaxDuration;<br />
float m_exitMinArcHeight;<br />
float m_exitMaxArcHeight;<br />
uint32_t m_exitAnimStart;<br />
uint32_t m_exitAnimLoop;<br />
uint32_t m_exitAnimEnd;<br />
float m_passengerYaw;<br />
float m_passengerPitch;<br />
float m_passengerRoll;<br />
uint32_t m_passengerAttachmentID;<br />
uint32_t m_vehicleEnterAnim;<br />
uint32_t m_vehicleExitAnim;<br />
uint32_t m_vehicleRideAnimLoop;<br />
uint32_t m_vehicleEnterAnimBone;<br />
uint32_t m_vehicleExitAnimBone;<br />
uint32_t m_vehicleRideAnimLoopBone;<br />
float m_vehicleEnterAnimDelay;<br />
float m_vehicleExitAnimDelay;<br />
uint32_t m_vehicleAbilityDisplay;<br />
uint32_t m_enterUISoundID;<br />
uint32_t m_exitUISoundID;<br />
uint32_t m_flagsB;<br />
float m_cameraEnteringDelay;<br />
float m_cameraEnteringDuration;<br />
float m_cameraExitingDelay;<br />
float m_cameraExitingDuration;<br />
float m_cameraOffset[3];<br />
float m_cameraPosChaseRate;<br />
float m_cameraFacingChaseRate;<br />
float m_cameraEnteringZoom;<br />
float m_cameraSeatZoomMin;<br />
float m_cameraSeatZoomMax;<br />
uint32_t m_enterAnimKitID;<br />
uint32_t m_rideAnimKitID;<br />
uint32_t m_exitAnimKitID;<br />
uint32_t m_vehicleEnterAnimKitID;<br />
uint32_t m_vehicleRideAnimKitID;<br />
uint32_t m_vehicleExitAnimKitID;<br />
uint32_t m_cameraModeID;<br />
uint32_t m_flagsC;<br />
uint32_t m_uiSkinFileDataID;<br />
};<br />
<br />
==enum VEHICLE_SEAT_FLAGS==<br />
<br />
VEHICLE_SEAT_FLAG_HAS_LOWER_ANIM_FOR_ENTER = 0x00000001,<br />
VEHICLE_SEAT_FLAG_HAS_LOWER_ANIM_FOR_RIDE = 0x00000002,<br />
VEHICLE_SEAT_FLAG_UNK3 = 0x00000004,<br />
VEHICLE_SEAT_FLAG_SHOULD_USE_VEH_SEAT_EXIT_ANIM_ON_VOLUNTARY_EXIT = 0x00000008,<br />
VEHICLE_SEAT_FLAG_UNK5 = 0x00000010,<br />
VEHICLE_SEAT_FLAG_UNK6 = 0x00000020,<br />
VEHICLE_SEAT_FLAG_UNK7 = 0x00000040,<br />
VEHICLE_SEAT_FLAG_UNK8 = 0x00000080,<br />
VEHICLE_SEAT_FLAG_UNK9 = 0x00000100,<br />
VEHICLE_SEAT_FLAG_HIDE_PASSENGER = 0x00000200, // Passenger is hidden<br />
VEHICLE_SEAT_FLAG_ALLOW_TURNING = 0x00000400, // needed for CGCamera__SyncFreeLookFacing<br />
VEHICLE_SEAT_FLAG_CAN_CONTROL = 0x00000800, // Lua_UnitInVehicleControlSeat<br />
VEHICLE_SEAT_FLAG_CAN_CAST_MOUNT_SPELL = 0x00001000, // Can cast spells with SPELL_AURA_MOUNTED from seat (possibly 4.x only, 0 seats on 3.3.5a)<br />
VEHICLE_SEAT_FLAG_UNCONTROLLED = 0x00002000, // can override !& VEHICLE_SEAT_FLAG_CAN_ENTER_OR_EXIT<br />
VEHICLE_SEAT_FLAG_CAN_ATTACK = 0x00004000, // Can attack, cast spells and use items from vehicle<br />
VEHICLE_SEAT_FLAG_SHOULD_USE_VEH_SEAT_EXIT_ANIM_ON_FORCED_EXIT = 0x00008000,<br />
VEHICLE_SEAT_FLAG_UNK17 = 0x00010000,<br />
VEHICLE_SEAT_FLAG_UNK18 = 0x00020000, // Needs research and support (28 vehicles): Allow entering vehicles while keeping specific permanent(?) auras that impose visuals (states like beeing under freeze/stun mechanic, emote state animations).<br />
VEHICLE_SEAT_FLAG_HAS_VEH_EXIT_ANIM_VOLUNTARY_EXIT = 0x00040000,<br />
VEHICLE_SEAT_FLAG_HAS_VEH_EXIT_ANIM_FORCED_EXIT = 0x00080000,<br />
VEHICLE_SEAT_FLAG_PASSENGER_NOT_SELECTABLE = 0x00100000,<br />
VEHICLE_SEAT_FLAG_UNK22 = 0x00200000,<br />
VEHICLE_SEAT_FLAG_REC_HAS_VEHICLE_ENTER_ANIM = 0x00400000,<br />
VEHICLE_SEAT_FLAG_IS_USING_VEHICLE_CONTROLS = 0x00800000, // Lua_IsUsingVehicleControls<br />
VEHICLE_SEAT_FLAG_ENABLE_VEHICLE_ZOOM = 0x01000000,<br />
VEHICLE_SEAT_FLAG_CAN_ENTER_OR_EXIT = 0x02000000, // Lua_CanExitVehicle - can enter and exit at free will<br />
VEHICLE_SEAT_FLAG_CAN_SWITCH = 0x04000000, // Lua_CanSwitchVehicleSeats<br />
VEHICLE_SEAT_FLAG_HAS_START_WARITING_FOR_VEH_TRANSITION_ANIM_ENTER = 0x08000000,<br />
VEHICLE_SEAT_FLAG_HAS_START_WARITING_FOR_VEH_TRANSITION_ANIM_EXIT = 0x10000000,<br />
VEHICLE_SEAT_FLAG_CAN_CAST = 0x20000000, // Lua_UnitHasVehicleUI<br />
VEHICLE_SEAT_FLAG_UNK2 = 0x40000000, // checked in conjunction with 0x800 in CastSpell2<br />
VEHICLE_SEAT_FLAG_ALLOWS_INTERACTION = 0x80000000<br />
<br />
==enum VEHICLE_SEAT_FLAGS_B==<br />
<br />
VEHICLE_SEAT_FLAG_B_NONE = 0x00000000,<br />
VEHICLE_SEAT_FLAG_B_USABLE_FORCED = 0x00000002,<br />
VEHICLE_SEAT_FLAG_B_TARGETS_IN_RAIDUI = 0x00000008, // Lua_UnitTargetsVehicleInRaidUI<br />
VEHICLE_SEAT_FLAG_B_EJECTABLE = 0x00000020, // ejectable<br />
VEHICLE_SEAT_FLAG_B_USABLE_FORCED_2 = 0x00000040,<br />
VEHICLE_SEAT_FLAG_B_USABLE_FORCED_3 = 0x00000100,<br />
VEHICLE_SEAT_FLAG_B_UNK7 = 0x00010000, // Passenger forced to repeat all vehicle animations<br />
VEHICLE_SEAT_FLAG_B_KEEP_PET = 0x00020000,<br />
VEHICLE_SEAT_FLAG_B_USABLE_FORCED_4 = 0x02000000,<br />
VEHICLE_SEAT_FLAG_B_CAN_SWITCH = 0x04000000,<br />
VEHICLE_SEAT_FLAG_B_VEHICLE_PLAYERFRAME_UI = 0x80000000 // Lua_UnitHasVehiclePlayerFrameUI - actually checked for flagsb &~ 0x80000000<br />
<br />
==enum VEHICLE_SEAT_FLAGS_C==<br />
<br />
VEHICLE_SEAT_FLAG_C_HIDE_PET_FRAME = 0x00000200, // Script_UnitInVehicleHidesPetFrame<br />
[[Category:DBC]]<br />
[[Category:DBC_WotLK]]<br />
[[Category:DBC_WoD]]<br />
[[Category:6.0.1.18179]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/Vehicle&diff=28501
DB/Vehicle
2019-12-23T13:23:52Z
<p>Смердокрыл: Corrected flag 0x00200000 description</p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=3}}<br />
<br />
== Structure ==<br />
<br />
struct VehicleEntry<br />
{<br />
uint32 m_ID; // 0<br />
uint32 m_flags; // 1<br />
float m_turnSpeed; // 2<br />
float m_pitchSpeed; // 3<br />
float m_pitchMin; // 4<br />
float m_pitchMax; // 5<br />
uint32 m_seatID[8]; // 6-13<br />
float m_mouseLookOffsetPitch; // 14<br />
float m_cameraFadeDistScalarMin; // 15<br />
float m_cameraFadeDistScalarMax; // 16<br />
float m_cameraPitchOffset; // 17<br />
//int m_powerType[3]; // removed in 3.1<br />
//int m_powerToken[3]; // removed in 3.1<br />
float m_facingLimitRight; // 18<br />
float m_facingLimitLeft; // 19<br />
float m_msslTrgtTurnLingering; // 20<br />
float m_msslTrgtPitchLingering; // 21<br />
float m_msslTrgtMouseLingering; // 22<br />
float m_msslTrgtEndOpacity; // 23<br />
float m_msslTrgtArcSpeed; // 24<br />
float m_msslTrgtArcRepeat; // 25<br />
float m_msslTrgtArcWidth; // 26<br />
float m_msslTrgtImpactRadius[2]; // 27-28<br />
char* m_msslTrgtArcTexture; // 29<br />
char* m_msslTrgtImpactTexture; // 30<br />
char* m_msslTrgtImpactModel[2]; // 31-32<br />
float m_cameraYawOffset; // 33<br />
uint32 m_uiLocomotionType; // 34<br />
float m_msslTrgtImpactTexRadius; // 35<br />
uint32 m_uiSeatIndicatorType; // 36<br />
uint32 [[PowerDisplay.dbc|PowerDisplay]][3]; // 37-39 3.1+: power type and color (0 default, -1 do not use)<br />
};<br />
<br />
struct VehicleEntry // sizeof(0xA0)<br />
{<br />
m_ID; // +0x0, size 0x4, type 0<br />
m_flags; // +0x4, size 0x4, type 0<br />
m_turnSpeed; // +0x8, size 0x4, type 3<br />
m_pitchSpeed; // +0xC, size 0x4, type 3<br />
m_pitchMin; // +0x10, size 0x4, type 3<br />
m_pitchMax; // +0x14, size 0x4, type 3<br />
m_seatID; // +0x18, size 0x20, type 0<br />
m_mouseLookOffsetPitch; // +0x38, size 0x4, type 3<br />
m_cameraFadeDistScalarMin; // +0x3C, size 0x4, type 3<br />
m_cameraFadeDistScalarMax; // +0x40, size 0x4, type 3<br />
m_cameraPitchOffset; // +0x44, size 0x4, type 3<br />
m_facingLimitRight; // +0x48, size 0x4, type 3<br />
m_facingLimitLeft; // +0x4C, size 0x4, type 3<br />
m_msslTrgtTurnLingering; // +0x50, size 0x4, type 3<br />
m_msslTrgtPitchLingering; // +0x54, size 0x4, type 3<br />
m_msslTrgtMouseLingering; // +0x58, size 0x4, type 3<br />
m_msslTrgtEndOpacity; // +0x5C, size 0x4, type 3<br />
m_msslTrgtArcSpeed; // +0x60, size 0x4, type 3<br />
m_msslTrgtArcRepeat; // +0x64, size 0x4, type 3<br />
m_msslTrgtArcWidth; // +0x68, size 0x4, type 3<br />
m_msslTrgtImpactRadius; // +0x6C, size 0x8, type 3<br />
m_msslTrgtArcTexture; // +0x74, size 0x4, type 2<br />
m_msslTrgtImpactTexture; // +0x78, size 0x4, type 2<br />
m_msslTrgtImpactModel; // +0x7C, size 0x8, type 2<br />
m_cameraYawOffset; // +0x84, size 0x4, type 3<br />
m_uiLocomotionType; // +0x88, size 0x4, type 0<br />
m_msslTrgtImpactTexRadius; // +0x8C, size 0x4, type 3<br />
m_vehicleUIIndicatorID; // +0x90, size 0x4, type 0<br />
m_powerDisplayID; // +0x94, size 0xC, type 0<br />
};<br />
<br />
==6.0.1.18179==<br />
struct VehicleRec {<br />
uint32_t m_ID;<br />
uint32_t m_flags;<br />
uint32_t m_flagsB;<br />
float m_turnSpeed;<br />
float m_pitchSpeed;<br />
float m_pitchMin;<br />
float m_pitchMax;<br />
{{Template:Type/foreign_key|table=VehicleSeat}} m_seatID[8];<br />
float m_mouseLookOffsetPitch;<br />
float m_cameraFadeDistScalarMin;<br />
float m_cameraFadeDistScalarMax;<br />
float m_cameraPitchOffset;<br />
float m_facingLimitRight;<br />
float m_facingLimitLeft;<br />
float m_msslTrgtTurnLingering;<br />
float m_msslTrgtPitchLingering;<br />
float m_msslTrgtMouseLingering;<br />
float m_msslTrgtEndOpacity;<br />
float m_msslTrgtArcSpeed;<br />
float m_msslTrgtArcRepeat;<br />
float m_msslTrgtArcWidth;<br />
float m_msslTrgtImpactRadius[2];<br />
{{Template:Type|stringref}} m_msslTrgtArcTexture;<br />
{{Template:Type|stringref}} m_msslTrgtImpactTexture;<br />
{{Template:Type|stringref}} m_msslTrgtImpactModel[2];<br />
float m_cameraYawOffset;<br />
uint32_t m_uiLocomotionType;<br />
float m_msslTrgtImpactTexRadius;<br />
uint32_t m_vehicleUIIndicatorID;<br />
uint32_t m_powerDisplayID[3];<br />
};<br />
<br />
==enum POWER_TYPE==<br />
<br />
POWER_STEAM = 61,<br />
POWER_PYRITE = 41,<br />
POWER_HEAT = 101,<br />
POWER_OOZE = 121,<br />
POWER_BLOOD = 141,<br />
POWER_WRATH = 142,<br />
POWER_ARCANE_ENERGY = 143,<br />
POWER_LIFE_ENERGY = 144,<br />
POWER_SUN_ENERGY = 145,<br />
POWER_SWING_VELOCITY = 146,<br />
POWER_SHADOWFLAME_ENERGY = 147,<br />
POWER_BLUE_POWER = 148,<br />
POWER_PURPLE_POWER = 149,<br />
POWER_GREEN_POWER = 150,<br />
POWER_ORANGE_POWER = 151,<br />
POWER_ENERGY_2 = 153,<br />
POWER_ARCANEENERGY = 161,<br />
POWER_WIND_POWER_1 = 162,<br />
POWER_WIND_POWER_2 = 163,<br />
POWER_WIND_POWER_3 = 164,<br />
POWER_FUEL = 165,<br />
POWER_SUN_POWER = 166,<br />
POWER_TWILIGHT_ENERGY = 169,<br />
POWER_VENOM = 174,<br />
POWER_ORANGE_POWER_2 = 176,<br />
POWER_CONSUMING_FLAME = 177,<br />
POWER_PYROCLASTIC_FRENZY = 178,<br />
POWER_FLASHFIRE = 179,<br />
<br />
==enum VEHICLE_FLAGS==<br />
<br />
VEHICLE_FLAG_NO_STRAFE = 0x00000001, // Sets MOVEFLAG2_NO_STRAFE<br />
VEHICLE_FLAG_NO_JUMPING = 0x00000002, // Sets MOVEFLAG2_NO_JUMPING<br />
VEHICLE_FLAG_FULLSPEEDTURNING = 0x00000004, // Sets MOVEFLAG2_FULLSPEEDTURNING<br />
VEHICLE_FLAG_ALLOW_PITCHING = 0x00000010, // Sets MOVEFLAG2_ALLOW_PITCHING<br />
VEHICLE_FLAG_FULLSPEEDPITCHING = 0x00000020, // Sets MOVEFLAG2_FULLSPEEDPITCHING<br />
VEHICLE_FLAG_CUSTOM_PITCH = 0x00000040, // If set use pitchMin and pitchMax from DBC, otherwise pitchMin = -pi/2, pitchMax = pi/2<br />
VEHICLE_FLAG_ADJUST_AIM_ANGLE = 0x00000400, // Lua_IsVehicleAimAngleAdjustable<br />
VEHICLE_FLAG_ADJUST_AIM_POWER = 0x00000800, // Lua_IsVehicleAimPowerAdjustable<br />
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<br />
<br />
[[Category:DBC]]<br />
[[Category:DBC_WotLK]]<br />
[[Category:DBC_Cataclysm]]<br />
[[Category:DBC_WoD]]<br />
[[Category:6.0.1.18179]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=Spell.dbc/Attributes&diff=28249
Spell.dbc/Attributes
2019-11-22T00:50:09Z
<p>Смердокрыл: </p>
<hr />
<div>==enum SpellAttr0==<br />
SPELL_ATTR0_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR0_REQ_AMMO = 0x00000002, // 1 on next ranged<br />
SPELL_ATTR0_ON_NEXT_SWING = 0x00000004, // 2<br />
SPELL_ATTR0_IS_REPLENISHMENT = 0x00000008, // 3 not set in 3.0.3<br />
SPELL_ATTR0_ABILITY = 0x00000010, // 4 client puts 'ability' instead of 'spell' in game strings for these spells<br />
SPELL_ATTR0_TRADESPELL = 0x00000020, // 5 trade spells (recipes), will be added by client to a sublist of profession spell<br />
SPELL_ATTR0_PASSIVE = 0x00000040, // 6 Passive spell<br />
SPELL_ATTR0_HIDDEN_CLIENTSIDE = 0x00000080, // 7 Spells with this attribute are not visible in spellbook or aura bar<br />
SPELL_ATTR0_HIDE_IN_COMBAT_LOG = 0x00000100, // 8 This attribite controls whether spell appears in combat logs<br />
SPELL_ATTR0_TARGET_MAINHAND_ITEM = 0x00000200, // 9 Client automatically selects item from mainhand slot as a cast target<br />
SPELL_ATTR0_ON_NEXT_SWING_2 = 0x00000400, // 10<br />
SPELL_ATTR0_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR0_DAYTIME_ONLY = 0x00001000, // 12 only useable at daytime, not set in 2.4.2<br />
SPELL_ATTR0_NIGHT_ONLY = 0x00002000, // 13 only useable at night, not set in 2.4.2<br />
SPELL_ATTR0_INDOORS_ONLY = 0x00004000, // 14 only useable indoors, not set in 2.4.2<br />
SPELL_ATTR0_OUTDOORS_ONLY = 0x00008000, // 15 Only useable outdoors.<br />
SPELL_ATTR0_NOT_SHAPESHIFT = 0x00010000, // 16 Not while shapeshifted<br />
SPELL_ATTR0_ONLY_STEALTHED = 0x00020000, // 17 Must be in stealth<br />
SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE = 0x00040000, // 18 client won't hide unit weapons in sheath on cast/channel<br />
SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION = 0x00080000, // 19 spelldamage depends on caster level<br />
SPELL_ATTR0_STOP_ATTACK_TARGET = 0x00100000, // 20 Stop attack after use this spell (and not begin attack if use)<br />
SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK = 0x00200000, // 21 Cannot be dodged/parried/blocked<br />
SPELL_ATTR0_CAST_TRACK_TARGET = 0x00400000, // 22 Client automatically forces player to face target when casting<br />
SPELL_ATTR0_CASTABLE_WHILE_DEAD = 0x00800000, // 23 castable while dead?<br />
SPELL_ATTR0_CASTABLE_WHILE_MOUNTED = 0x01000000, // 24 castable while mounted<br />
SPELL_ATTR0_DISABLED_WHILE_ACTIVE = 0x02000000, // 25 Activate and start cooldown after aura fade or remove summoned creature or go<br />
SPELL_ATTR0_NEGATIVE_1 = 0x04000000, // 26 Many negative spells have this attr<br />
SPELL_ATTR0_CASTABLE_WHILE_SITTING = 0x08000000, // 27 castable while sitting<br />
SPELL_ATTR0_CANT_USED_IN_COMBAT = 0x10000000, // 28 Cannot be used in combat<br />
SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY = 0x20000000, // 29 unaffected by invulnerability (hmm possible not...)<br />
SPELL_ATTR0_HEARTBEAT_RESIST_CHECK = 0x40000000, // 30 random chance the effect will end TODO: implement core support<br />
SPELL_ATTR0_CANT_CANCEL = 0x80000000 // 31 positive aura can't be canceled<br />
<br />
==enum SpellAttr1==<br />
SPELL_ATTR1_DISMISS_PET = 0x00000001, // 0 for spells without this flag client doesn't allow to summon pet if caster has a pet<br />
SPELL_ATTR1_DRAIN_ALL_POWER = 0x00000002, // 1 use all power (Only paladin Lay of Hands and Bunyanize)<br />
SPELL_ATTR1_CHANNELED_1 = 0x00000004, // 2 clientside checked? cancelable?<br />
SPELL_ATTR1_CANT_BE_REDIRECTED = 0x00000008, // 3<br />
SPELL_ATTR1_UNK4 = 0x00000010, // 4 stealth and whirlwind<br />
SPELL_ATTR1_NOT_BREAK_STEALTH = 0x00000020, // 5 Not break stealth<br />
SPELL_ATTR1_CHANNELED_2 = 0x00000040, // 6<br />
SPELL_ATTR1_CANT_BE_REFLECTED = 0x00000080, // 7<br />
SPELL_ATTR1_CANT_TARGET_IN_COMBAT = 0x00000100, // 8 can target only out of combat units<br />
SPELL_ATTR1_MELEE_COMBAT_START = 0x00000200, // 9 player starts melee combat after this spell is cast<br />
SPELL_ATTR1_NO_THREAT = 0x00000400, // 10 no generates threat on cast 100% (old NO_INITIAL_AGGRO)<br />
SPELL_ATTR1_UNK11 = 0x00000800, // 11 aura<br />
SPELL_ATTR1_IS_PICKPOCKET = 0x00001000, // 12 Pickpocket<br />
SPELL_ATTR1_FARSIGHT = 0x00002000, // 13 Client removes farsight on aura loss<br />
SPELL_ATTR1_CHANNEL_TRACK_TARGET = 0x00004000, // 14 Client automatically forces player to face target when channeling<br />
SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY = 0x00008000, // 15 remove auras on immunity<br />
SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE = 0x00010000, // 16 on immuniy<br />
SPELL_ATTR1_UNAUTOCASTABLE_BY_PET = 0x00020000, // 17<br />
SPELL_ATTR1_UNK18 = 0x00040000, // 18 stun, polymorph, daze, hex<br />
SPELL_ATTR1_CANT_TARGET_SELF = 0x00080000, // 19<br />
SPELL_ATTR1_REQ_COMBO_POINTS1 = 0x00100000, // 20 Req combo points on target<br />
SPELL_ATTR1_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR1_REQ_COMBO_POINTS2 = 0x00400000, // 22 Req combo points on target<br />
SPELL_ATTR1_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR1_IS_FISHING = 0x01000000, // 24 only fishing spells<br />
SPELL_ATTR1_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR1_UNK26 = 0x04000000, // 26 works correctly with [target=focus] and [target=mouseover] macros?<br />
SPELL_ATTR1_UNK27 = 0x08000000, // 27 melee spell?<br />
SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR = 0x10000000, // 28 client doesn't display these spells in aura bar<br />
SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME = 0x20000000, // 29 spell name is displayed in cast bar instead of 'channeling' text<br />
SPELL_ATTR1_ENABLE_AT_DODGE = 0x40000000, // 30 Overpower<br />
SPELL_ATTR1_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr2==<br />
SPELL_ATTR2_CAN_TARGET_DEAD = 0x00000001, // 0 can target dead unit or corpse<br />
SPELL_ATTR2_UNK1 = 0x00000002, // 1 vanish, shadowform, Ghost Wolf and other<br />
SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS = 0x00000004, // 2 26368 4.0.1 dbc change<br />
SPELL_ATTR2_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR2_DISPLAY_IN_STANCE_BAR = 0x00000010, // 4 client displays icon in stance bar when learned, even if not shapeshift<br />
SPELL_ATTR2_AUTOREPEAT_FLAG = 0x00000020, // 5<br />
SPELL_ATTR2_CANT_TARGET_TAPPED = 0x00000040, // 6 target must be tapped by caster<br />
SPELL_ATTR2_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR2_UNK8 = 0x00000100, // 8 not set in 3.0.3<br />
SPELL_ATTR2_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR2_UNK10 = 0x00000400, // 10 related to tame<br />
SPELL_ATTR2_HEALTH_FUNNEL = 0x00000800, // 11<br />
SPELL_ATTR2_UNK12 = 0x00001000, // 12 Cleave, Heart Strike, Maul, Sunder Armor, Swipe<br />
SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA = 0x00002000, // 13 Items enchanted by spells with this flag preserve the enchant to arenas<br />
SPELL_ATTR2_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR2_UNK15 = 0x00008000, // 15 not set in 3.0.3<br />
SPELL_ATTR2_TAME_BEAST = 0x00010000, // 16<br />
SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS = 0x00020000, // 17 don't reset timers for melee autoattacks (swings) or ranged autoattacks (autoshoots)<br />
SPELL_ATTR2_REQ_DEAD_PET = 0x00040000, // 18 Only Revive pet and Heart of the Pheonix<br />
SPELL_ATTR2_NOT_NEED_SHAPESHIFT = 0x00080000, // 19 does not necessarly need shapeshift<br />
SPELL_ATTR2_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR2_DAMAGE_REDUCED_SHIELD = 0x00200000, // 21 for ice blocks, pala immunity buffs, priest absorb shields, but used also for other spells -> not sure!<br />
SPELL_ATTR2_UNK22 = 0x00400000, // 22 Ambush, Backstab, Cheap Shot, Death Grip, Garrote, Judgements, Mutilate, Pounce, Ravage, Shiv, Shred<br />
SPELL_ATTR2_IS_ARCANE_CONCENTRATION = 0x00800000, // 23 Only mage Arcane Concentration have this flag<br />
SPELL_ATTR2_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR2_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE = 0x04000000, // 26 unaffected by school immunity<br />
SPELL_ATTR2_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR2_IGNORE_ITEM_CHECK = 0x10000000, // 28 Spell is cast without checking item requirements (charges/reagents/totem)<br />
SPELL_ATTR2_CANT_CRIT = 0x20000000, // 29 Spell can't crit<br />
SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC = 0x40000000, // 30 spell can trigger even if triggered<br />
SPELL_ATTR2_FOOD_BUFF = 0x80000000 // 31 Food or Drink Buff (like Well Fed)<br />
<br />
==enum SpellAttr3==<br />
SPELL_ATTR3_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR3_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR3_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR3_BLOCKABLE_SPELL = 0x00000008, // 3 Only dmg class melee in 3.1.3<br />
SPELL_ATTR3_IGNORE_RESURRECTION_TIMER = 0x00000010, // 4 you don't have to wait to be resurrected with these spells<br />
SPELL_ATTR3_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR3_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR3_STACK_FOR_DIFF_CASTERS = 0x00000080, // 7 separate stack for every caster<br />
SPELL_ATTR3_ONLY_TARGET_PLAYERS = 0x00000100, // 8 can only target players<br />
SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 = 0x00000200, // 9 triggered from effect?<br />
SPELL_ATTR3_MAIN_HAND = 0x00000400, // 10 Main hand weapon required<br />
SPELL_ATTR3_BATTLEGROUND = 0x00000800, // 11 Can only be cast in battleground<br />
SPELL_ATTR3_ONLY_TARGET_GHOSTS = 0x00001000, // 12<br />
SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR = 0x00002000, // 13 Clientside attribute - will not display channeling bar<br />
SPELL_ATTR3_IS_HONORLESS_TARGET = 0x00004000, // 14 "Honorless Target" only this spells have this flag<br />
SPELL_ATTR3_UNK15 = 0x00008000, // 15 Auto Shoot, Shoot, Throw, - this is autoshot flag<br />
SPELL_ATTR3_CANT_TRIGGER_PROC = 0x00010000, // 16 confirmed with many patchnotes<br />
SPELL_ATTR3_NO_INITIAL_AGGRO = 0x00020000, // 17 Soothe Animal, 39758, Mind Soothe<br />
SPELL_ATTR3_IGNORE_HIT_RESULT = 0x00040000, // 18 Spell should always hit its target<br />
SPELL_ATTR3_DISABLE_PROC = 0x00080000, // 19 during aura proc no spells can trigger (20178, 20375)<br />
SPELL_ATTR3_DEATH_PERSISTENT = 0x00100000, // 20 Death persistent spells<br />
SPELL_ATTR3_UNK21 = 0x00200000, // 21 unused<br />
SPELL_ATTR3_REQ_WAND = 0x00400000, // 22 Req wand<br />
SPELL_ATTR3_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR3_REQ_OFFHAND = 0x01000000, // 24 Req offhand weapon<br />
SPELL_ATTR3_TREAT_AS_PERIODIC = 0x02000000, // 25 Makes the spell appear as periodic in client combat logs - used by spells that trigger another spell on each tick<br />
SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED = 0x04000000, // 26 auras with this attribute can proc from triggered spell casts with SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 (67736 + 52999)<br />
SPELL_ATTR3_DRAIN_SOUL = 0x08000000, // 27 only drain soul has this flag<br />
SPELL_ATTR3_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR3_NO_DONE_BONUS = 0x20000000, // 29 Ignore caster spellpower and done damage mods? client doesn't apply spellmods for those spells<br />
SPELL_ATTR3_DONT_DISPLAY_RANGE = 0x40000000, // 30 client doesn't display range in tooltip for those spells<br />
SPELL_ATTR3_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr4==<br />
SPELL_ATTR4_IGNORE_RESISTANCES = 0x00000001, // 0 spells with this attribute will completely ignore the target's resistance (these spells can't be resisted)<br />
SPELL_ATTR4_PROC_ONLY_ON_CASTER = 0x00000002, // 1 proc only on effects with TARGET_UNIT_CASTER?<br />
SPELL_ATTR4_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR4_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR4_UNK4 = 0x00000010, // 4 This will no longer cause guards to attack on use??<br />
SPELL_ATTR4_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR4_NOT_STEALABLE = 0x00000040, // 6 although such auras might be dispellable, they cannot be stolen<br />
SPELL_ATTR4_CAN_CAST_WHILE_CASTING = 0x00000080, // 7 Can be cast while another cast is in progress - see CanCastWhileCasting(SpellRec const*,CGUnit_C *,int &)<br />
SPELL_ATTR4_FIXED_DAMAGE = 0x00000100, // 8 Ignores resilience and any (except mechanic related) damage or % damage taken auras on target.<br />
SPELL_ATTR4_TRIGGER_ACTIVATE = 0x00000200, // 9 initially disabled / trigger activate from event (Execute, Riposte, Deep Freeze end other)<br />
SPELL_ATTR4_SPELL_VS_EXTEND_COST = 0x00000400, // 10 Rogue Shiv have this flag<br />
SPELL_ATTR4_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR4_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR4_COMBAT_LOG_NO_CASTER = 0x00002000, // 13 No caster object is sent to client combat log<br />
SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS = 0x00004000, // 14 doesn't break auras by damage from these spells<br />
SPELL_ATTR4_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR4_NOT_USABLE_IN_ARENA_OR_RATED_BG = 0x00010000, // 16 Cannot be used in both Arenas or Rated Battlegrounds<br />
SPELL_ATTR4_USABLE_IN_ARENA = 0x00020000, // 17<br />
SPELL_ATTR4_AREA_TARGET_CHAIN = 0x00040000, // 18 (NYI)hits area targets one after another instead of all at once<br />
SPELL_ATTR4_UNK19 = 0x00080000, // 19 proc dalayed, after damage or don't proc on absorb?<br />
SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER = 0x00100000, // 20 supersedes message "More powerful spell applied" for self casts.<br />
SPELL_ATTR4_UNK21 = 0x00200000, // 21 Pally aura, dk presence, dudu form, warrior stance, shadowform, hunter track<br />
SPELL_ATTR4_UNK22 = 0x00400000, // 22 Seal of Command (42058, 57770) and Gymer's Smash 55426<br />
SPELL_ATTR4_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR4_UNK24 = 0x01000000, // 24 some shoot spell<br />
SPELL_ATTR4_IS_PET_SCALING = 0x02000000, // 25 pet scaling auras<br />
SPELL_ATTR4_CAST_ONLY_IN_OUTLAND = 0x04000000, // 26 Can only be used in Outland.<br />
SPELL_ATTR4_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR4_UNK28 = 0x10000000, // 28 Aimed Shot<br />
SPELL_ATTR4_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR4_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR4_UNK31 = 0x80000000 // 31 Polymorph (chicken) 228 and Sonic Boom (38052, 38488)<br />
<br />
==enum SpellAttr5 ({{Template:Sandbox/VersionRange|min_expansionlevel=2}})==<br />
SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING = 0x00000001, // 0 available casting channel spell when moving<br />
SPELL_ATTR5_NO_REAGENT_WHILE_PREP = 0x00000002, // 1 not need reagents if UNIT_FLAG_PREPARATION<br />
SPELL_ATTR5_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR5_USABLE_WHILE_STUNNED = 0x00000008, // 3 usable while stunned<br />
SPELL_ATTR5_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR5_SINGLE_TARGET_SPELL = 0x00000020, // 5 Only one target can be apply at a time<br />
SPELL_ATTR5_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR5_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR5_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR5_START_PERIODIC_AT_APPLY = 0x00000200, // 9 begin periodic tick at aura apply<br />
SPELL_ATTR5_HIDE_DURATION = 0x00000400, // 10 do not send duration to client<br />
SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET = 0x00000800, // 11 (NYI) uses target's target as target if original target not valid (intervene for example)<br />
SPELL_ATTR5_UNK12 = 0x00001000, // 12 Cleave related?<br />
SPELL_ATTR5_HASTE_AFFECT_DURATION = 0x00002000, // 13 haste effects decrease duration of this<br />
SPELL_ATTR5_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR5_UNK15 = 0x00008000, // 15 Inflits on multiple targets?<br />
SPELL_ATTR5_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR5_USABLE_WHILE_FEARED = 0x00020000, // 17 usable while feared<br />
SPELL_ATTR5_USABLE_WHILE_CONFUSED = 0x00040000, // 18 usable while confused<br />
SPELL_ATTR5_DONT_TURN_DURING_CAST = 0x00080000, // 19 Blocks caster's turning when casting (client does not automatically turn caster's model to face UNIT_FIELD_TARGET)<br />
SPELL_ATTR5_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR5_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR5_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR5_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR5_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR5_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR5_UNK26 = 0x04000000, // 26 aoe related - Boulder, Cannon, Corpse Explosion, Fire Nova, Flames, Frost Bomb, Living Bomb, Seed of Corruption, Starfall, Thunder Clap, Volley<br />
SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST = 0x08000000, // 27 Auras with this attribute are not visible on units that are the caster<br />
SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST = 0x10000000, // 28 Auras with this attribute are not visible on units that are not the caster<br />
SPELL_ATTR5_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR5_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR5_UNK31 = 0x80000000 // 31 Forces all nearby enemies to focus attacks caster<br />
<br />
==enum SpellAttr6 ({{Template:Sandbox/VersionRange|min_expansionlevel=2}})==<br />
SPELL_ATTR6_DONT_DISPLAY_COOLDOWN = 0x00000001, // 0 client doesn't display cooldown in tooltip for these spells<br />
SPELL_ATTR6_ONLY_IN_ARENA = 0x00000002, // 1 only usable in arena<br />
SPELL_ATTR6_IGNORE_CASTER_AURAS = 0x00000004, // 2<br />
SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG = 0x00000008, // 3 skips checking UNIT_FLAG_IMMUNE_TO_PC and UNIT_FLAG_IMMUNE_TO_NPC flags on assist<br />
SPELL_ATTR6_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR6_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR6_USE_SPELL_CAST_EVENT = 0x00000040, // 6 Auras with this attribute trigger SPELL_CAST combat log event instead of SPELL_AURA_START (clientside attribute)<br />
SPELL_ATTR6_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED = 0x00000100, // 8<br />
SPELL_ATTR6_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS = 0x00000400, // 10 NYI!<br />
SPELL_ATTR6_NOT_IN_RAID_INSTANCE = 0x00000800, // 11 not usable in raid instance<br />
SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE = 0x00001000, // 12 castable while caster is on vehicle<br />
SPELL_ATTR6_CAN_TARGET_INVISIBLE = 0x00002000, // 13 ignore visibility requirement for spell target (phases, invisibility, etc.)<br />
SPELL_ATTR6_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR6_UNK15 = 0x00008000, // 15 only 54368, 67892<br />
SPELL_ATTR6_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR6_UNK17 = 0x00020000, // 17 Mount spell<br />
SPELL_ATTR6_CAST_BY_CHARMER = 0x00040000, // 18 client won't allow to cast these spells when unit is not possessed && charmer of caster will be original caster<br />
SPELL_ATTR6_UNK19 = 0x00080000, // 19 only 47488, 50782<br />
SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER = 0x00100000, // 20 Auras with this attribute are only visible to their caster (or pet's owner)<br />
SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS = 0x00200000, // 21 it's only client-side attribute<br />
SPELL_ATTR6_UNK22 = 0x00400000, // 22 only 72054<br />
SPELL_ATTR6_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR6_CAN_TARGET_UNTARGETABLE = 0x01000000, // 24<br />
SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT = 0x02000000, // 25 Exorcism, Flash of Light<br />
SPELL_ATTR6_UNK26 = 0x04000000, // 26 related to player castable positive buff<br />
SPELL_ATTR6_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR6_UNK28 = 0x10000000, // 28 Death Grip<br />
SPELL_ATTR6_NO_DONE_PCT_DAMAGE_MODS = 0x20000000, // 29 ignores done percent damage mods?<br />
SPELL_ATTR6_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS = 0x80000000 // 31 Spells with this attribute skip applying modifiers to category cooldowns<br />
<br />
==enum SpellAttr7 ({{Template:Sandbox/VersionRange|min_expansionlevel=3}})==<br />
SPELL_ATTR7_UNK0 = 0x00000001, // 0 Shaman's new spells (Call of the ...), Feign Death.<br />
SPELL_ATTR7_IGNORE_DURATION_MODS = 0x00000002, // 1 Duration is not affected by duration modifiers<br />
SPELL_ATTR7_REACTIVATE_AT_RESURRECT = 0x00000004, // 2 Paladin's auras and 65607 only.<br />
SPELL_ATTR7_IS_CHEAT_SPELL = 0x00000008, // 3 Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS<br />
SPELL_ATTR7_UNK4 = 0x00000010, // 4 Only 47883 (Soulstone Resurrection) and test spell.<br />
SPELL_ATTR7_SUMMON_TOTEM = 0x00000020, // 5 Only Shaman totems.<br />
SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE = 0x00000040, // 6 Does not cause spell pushback on damage<br />
SPELL_ATTR7_UNK7 = 0x00000080, // 7 66218 (Launch) spell.<br />
SPELL_ATTR7_HORDE_ONLY = 0x00000100, // 8 Teleports, mounts and other spells.<br />
SPELL_ATTR7_ALLIANCE_ONLY = 0x00000200, // 9 Teleports, mounts and other spells.<br />
SPELL_ATTR7_DISPEL_CHARGES = 0x00000400, // 10 Dispel and Spellsteal individual charges instead of whole aura.<br />
SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER = 0x00000800, // 11 Only non-player casts interrupt, though Feral Charge - Bear has it.<br />
SPELL_ATTR7_SILENCE_ONLY_NONPLAYER = 0x00001000, // 12 Not set in 3.2.2a.<br />
SPELL_ATTR7_UNK13 = 0x00002000, // 13 Not set in 3.2.2a.<br />
SPELL_ATTR7_UNK14 = 0x00004000, // 14 Only 52150 (Raise Dead - Pet) spell.<br />
SPELL_ATTR7_UNK15 = 0x00008000, // 15 Exorcism. Usable on players? 100% crit chance on undead and demons?<br />
SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER = 0x00010000, // 16 These spells can replenish a powertype, which is not the current powertype.<br />
SPELL_ATTR7_UNK17 = 0x00020000, // 17 Only 27965 (Suicide) spell.<br />
SPELL_ATTR7_HAS_CHARGE_EFFECT = 0x00040000, // 18 Only spells that have Charge among effects.<br />
SPELL_ATTR7_ZONE_TELEPORT = 0x00080000, // 19 Teleports to specific zones.<br />
SPELL_ATTR7_UNK20 = 0x00100000, // 20 Blink, Divine Shield, Ice Block<br />
SPELL_ATTR7_UNK21 = 0x00200000, // 21 Not set<br />
SPELL_ATTR7_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR7_UNK23 = 0x00800000, // 23 Motivate, Mutilate, Shattering Throw<br />
SPELL_ATTR7_UNK24 = 0x01000000, // 24 Motivate, Mutilate, Perform Speech, Shattering Throw<br />
SPELL_ATTR7_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR7_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR7_UNK27 = 0x08000000, // 27 Not set<br />
SPELL_ATTR7_CONSOLIDATED_RAID_BUFF = 0x10000000, // 28 May be collapsed in raid buff frame (clientside attribute)<br />
SPELL_ATTR7_UNK29 = 0x20000000, // 29 only 69028, 71237<br />
SPELL_ATTR7_UNK30 = 0x40000000, // 30 Burning Determination, Divine Sacrifice, Earth Shield, Prayer of Mending<br />
SPELL_ATTR7_CLIENT_INDICATOR = 0x80000000<br />
<br />
==enum SpellAttr8 ({{Template:Sandbox/VersionRange|min_expansionlevel=4}})==<br />
SPELL_ATTR8_CANT_MISS = 0x00000001, // 0<br />
SPELL_ATTR8_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR8_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR8_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR8_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR8_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR8_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR8_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR8_AFFECT_PARTY_AND_RAID = 0x00000100, // 8 Nearly all spells have "all party and raid" in description<br />
SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER = 0x00000200, // 9 Periodic auras with this flag keep old periodic timer when refreshing at close to one tick remaining (kind of anti DoT clipping)<br />
SPELL_ATTR8_NAME_CHANGED_DURING_TRANSFORM = 0x00000400, // 10 according to wowhead comments, name changes, title remains<br />
SPELL_ATTR8_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR8_AURA_SEND_AMOUNT = 0x00001000, // 12 Aura must have flag AFLAG_ANY_EFFECT_AMOUNT_SENT to send amount<br />
SPELL_ATTR8_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR8_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR8_WATER_MOUNT = 0x00008000, // 15 only one River Boat used in Thousand Needles<br />
SPELL_ATTR8_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR8_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR8_REMEMBER_SPELLS = 0x00040000, // 18 at some point in time, these auras remember spells and allow to cast them later<br />
SPELL_ATTR8_USE_COMBO_POINTS_ON_ANY_TARGET = 0x00080000, // 19 allows to consume combo points from dead targets<br />
SPELL_ATTR8_ARMOR_SPECIALIZATION = 0x00100000, // 20<br />
SPELL_ATTR8_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR8_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR8_BATTLE_RESURRECTION = 0x00800000, // 23 Used to limit the Amount of Resurrections in Boss Encounters<br />
SPELL_ATTR8_HEALING_SPELL = 0x01000000, // 24<br />
SPELL_ATTR8_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR8_RAID_MARKER = 0x04000000, // 26 probably spell no need learn to cast<br />
SPELL_ATTR8_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR8_NOT_IN_BG_OR_ARENA = 0x10000000, // 28 not allow to cast or deactivate currently active effect, not sure about Fast Track<br />
SPELL_ATTR8_MASTERY_SPECIALIZATION = 0x20000000, // 29<br />
SPELL_ATTR8_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR8_ATTACK_IGNORE_IMMUNE_TO_PC_FLAG = 0x80000000 // 31 Do not check UNIT_FLAG_IMMUNE_TO_PC in IsValidAttackTarget<br />
<br />
==enum SpellAttr9 ({{Template:Sandbox/VersionRange|min_expansionlevel=4}})==<br />
SPELL_ATTR9_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR9_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR9_RESTRICTED_FLIGHT_AREA = 0x00000004, // 2 Dalaran and Wintergrasp flight area auras have it<br />
SPELL_ATTR9_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR9_SPECIAL_DELAY_CALCULATION = 0x00000010, // 4<br />
SPELL_ATTR9_SUMMON_PLAYER_TOTEM = 0x00000020, // 5<br />
SPELL_ATTR9_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR9_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR9_AIMED_SHOT = 0x00000100, // 8<br />
SPELL_ATTR9_NOT_USABLE_IN_ARENA = 0x00000200, // 9 Cannot be used in arenas<br />
SPELL_ATTR9_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR9_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR9_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR9_SLAM = 0x00002000, // 13<br />
SPELL_ATTR9_USABLE_IN_RATED_BATTLEGROUNDS = 0x00004000, // 14 Can be used in Rated Battlegrounds<br />
SPELL_ATTR9_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR9_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR9_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR9_UNK18 = 0x00040000, // 18<br />
SPELL_ATTR9_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR9_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR9_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR9_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR9_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR9_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR9_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR9_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR9_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR9_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR9_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR9_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR9_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr10 ({{Template:Sandbox/VersionRange|min_expansionlevel=4}})==<br />
SPELL_ATTR10_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR10_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR10_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR10_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR10_WATER_SPOUT = 0x00000010, // 4<br />
SPELL_ATTR10_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR10_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR10_TELEPORT_PLAYER = 0x00000080, // 7 4 Teleport Player spells<br />
SPELL_ATTR10_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR10_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR10_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR10_HERB_GATHERING_MINING = 0x00000800, // 11 Only Herb Gathering and Mining<br />
SPELL_ATTR10_USE_SPELL_BASE_LEVEL_FOR_SCALING= 0x00001000, // 12<br />
SPELL_ATTR10_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR10_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR10_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR10_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR10_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR10_UNK18 = 0x00040000, // 18<br />
SPELL_ATTR10_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR10_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR10_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR10_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR10_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR10_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR10_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR10_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR10_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR10_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR10_MOUNT_IS_NOT_ACCOUNT_WIDE = 0x20000000, // 29 This mount is stored per-character<br />
SPELL_ATTR10_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR10_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr11 ({{Template:Sandbox/VersionRange|min_expansionlevel=5}})==<br />
SPELL_ATTR11_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR11_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR11_SCALES_WITH_ITEM_LEVEL = 0x00000004, // 2<br />
SPELL_ATTR11_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR11_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR11_ABSORB_ENVIRONMENTAL_DAMAGE = 0x00000020, // 5<br />
SPELL_ATTR11_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL = 0x00000080, // 7 Spell_C_GetSpellRank returns SpellLevels->MaxLevel * 5 instead of std::min(SpellLevels->MaxLevel, caster->Level) * 5<br />
SPELL_ATTR11_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR11_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR11_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR11_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR11_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR11_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR11_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR11_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR11_NOT_USABLE_IN_CHALLENGE_MODE = 0x00010000, // 16<br />
SPELL_ATTR11_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR11_UNK18 = 0x00040000, // 18<br />
SPELL_ATTR11_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR11_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR11_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR11_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR11_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR11_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR11_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR11_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR11_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR11_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR11_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR11_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR11_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr12 ({{Template:Sandbox/VersionRange|min_expansionlevel=5}})==<br />
SPELL_ATTR12_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR12_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR12_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR12_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR12_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR12_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR12_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR12_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR12_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR12_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR12_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR12_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR12_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR12_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR12_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR12_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR12_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR12_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR12_UNK18 = 0x00040000, // 18<br />
SPELL_ATTR12_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR12_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR12_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR12_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR12_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR12_IS_GARRISON_BUFF = 0x01000000, // 24<br />
SPELL_ATTR12_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR12_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR12_IS_READINESS_SPELL = 0x08000000, // 27<br />
SPELL_ATTR12_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR12_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR12_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR12_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr13 ({{Template:Sandbox/VersionRange|min_expansionlevel=5}})==<br />
SPELL_ATTR13_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR13_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR13_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR13_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR13_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR13_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR13_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR13_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR13_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR13_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR13_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR13_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR13_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR13_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR13_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR13_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR13_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR13_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT = 0x00040000, // 18<br />
SPELL_ATTR13_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR13_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR13_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR13_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR13_UNK23 = 0x00800000 // 23<br />
<br />
<br />
Extracted from Trinity Core Source (SharedDefines.h). 22 November 2019<br />
[[Category:Auxiliary]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=Spell.dbc/Attributes&diff=28248
Spell.dbc/Attributes
2019-11-22T00:48:54Z
<p>Смердокрыл: Fixed expansion ranges</p>
<hr />
<div>==enum SpellAttr0==<br />
SPELL_ATTR0_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR0_REQ_AMMO = 0x00000002, // 1 on next ranged<br />
SPELL_ATTR0_ON_NEXT_SWING = 0x00000004, // 2<br />
SPELL_ATTR0_IS_REPLENISHMENT = 0x00000008, // 3 not set in 3.0.3<br />
SPELL_ATTR0_ABILITY = 0x00000010, // 4 client puts 'ability' instead of 'spell' in game strings for these spells<br />
SPELL_ATTR0_TRADESPELL = 0x00000020, // 5 trade spells (recipes), will be added by client to a sublist of profession spell<br />
SPELL_ATTR0_PASSIVE = 0x00000040, // 6 Passive spell<br />
SPELL_ATTR0_HIDDEN_CLIENTSIDE = 0x00000080, // 7 Spells with this attribute are not visible in spellbook or aura bar<br />
SPELL_ATTR0_HIDE_IN_COMBAT_LOG = 0x00000100, // 8 This attribite controls whether spell appears in combat logs<br />
SPELL_ATTR0_TARGET_MAINHAND_ITEM = 0x00000200, // 9 Client automatically selects item from mainhand slot as a cast target<br />
SPELL_ATTR0_ON_NEXT_SWING_2 = 0x00000400, // 10<br />
SPELL_ATTR0_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR0_DAYTIME_ONLY = 0x00001000, // 12 only useable at daytime, not set in 2.4.2<br />
SPELL_ATTR0_NIGHT_ONLY = 0x00002000, // 13 only useable at night, not set in 2.4.2<br />
SPELL_ATTR0_INDOORS_ONLY = 0x00004000, // 14 only useable indoors, not set in 2.4.2<br />
SPELL_ATTR0_OUTDOORS_ONLY = 0x00008000, // 15 Only useable outdoors.<br />
SPELL_ATTR0_NOT_SHAPESHIFT = 0x00010000, // 16 Not while shapeshifted<br />
SPELL_ATTR0_ONLY_STEALTHED = 0x00020000, // 17 Must be in stealth<br />
SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE = 0x00040000, // 18 client won't hide unit weapons in sheath on cast/channel<br />
SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION = 0x00080000, // 19 spelldamage depends on caster level<br />
SPELL_ATTR0_STOP_ATTACK_TARGET = 0x00100000, // 20 Stop attack after use this spell (and not begin attack if use)<br />
SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK = 0x00200000, // 21 Cannot be dodged/parried/blocked<br />
SPELL_ATTR0_CAST_TRACK_TARGET = 0x00400000, // 22 Client automatically forces player to face target when casting<br />
SPELL_ATTR0_CASTABLE_WHILE_DEAD = 0x00800000, // 23 castable while dead?<br />
SPELL_ATTR0_CASTABLE_WHILE_MOUNTED = 0x01000000, // 24 castable while mounted<br />
SPELL_ATTR0_DISABLED_WHILE_ACTIVE = 0x02000000, // 25 Activate and start cooldown after aura fade or remove summoned creature or go<br />
SPELL_ATTR0_NEGATIVE_1 = 0x04000000, // 26 Many negative spells have this attr<br />
SPELL_ATTR0_CASTABLE_WHILE_SITTING = 0x08000000, // 27 castable while sitting<br />
SPELL_ATTR0_CANT_USED_IN_COMBAT = 0x10000000, // 28 Cannot be used in combat<br />
SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY = 0x20000000, // 29 unaffected by invulnerability (hmm possible not...)<br />
SPELL_ATTR0_HEARTBEAT_RESIST_CHECK = 0x40000000, // 30 random chance the effect will end TODO: implement core support<br />
SPELL_ATTR0_CANT_CANCEL = 0x80000000 // 31 positive aura can't be canceled<br />
<br />
==enum SpellAttr1==<br />
SPELL_ATTR1_DISMISS_PET = 0x00000001, // 0 for spells without this flag client doesn't allow to summon pet if caster has a pet<br />
SPELL_ATTR1_DRAIN_ALL_POWER = 0x00000002, // 1 use all power (Only paladin Lay of Hands and Bunyanize)<br />
SPELL_ATTR1_CHANNELED_1 = 0x00000004, // 2 clientside checked? cancelable?<br />
SPELL_ATTR1_CANT_BE_REDIRECTED = 0x00000008, // 3<br />
SPELL_ATTR1_UNK4 = 0x00000010, // 4 stealth and whirlwind<br />
SPELL_ATTR1_NOT_BREAK_STEALTH = 0x00000020, // 5 Not break stealth<br />
SPELL_ATTR1_CHANNELED_2 = 0x00000040, // 6<br />
SPELL_ATTR1_CANT_BE_REFLECTED = 0x00000080, // 7<br />
SPELL_ATTR1_CANT_TARGET_IN_COMBAT = 0x00000100, // 8 can target only out of combat units<br />
SPELL_ATTR1_MELEE_COMBAT_START = 0x00000200, // 9 player starts melee combat after this spell is cast<br />
SPELL_ATTR1_NO_THREAT = 0x00000400, // 10 no generates threat on cast 100% (old NO_INITIAL_AGGRO)<br />
SPELL_ATTR1_UNK11 = 0x00000800, // 11 aura<br />
SPELL_ATTR1_IS_PICKPOCKET = 0x00001000, // 12 Pickpocket<br />
SPELL_ATTR1_FARSIGHT = 0x00002000, // 13 Client removes farsight on aura loss<br />
SPELL_ATTR1_CHANNEL_TRACK_TARGET = 0x00004000, // 14 Client automatically forces player to face target when channeling<br />
SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY = 0x00008000, // 15 remove auras on immunity<br />
SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE = 0x00010000, // 16 on immuniy<br />
SPELL_ATTR1_UNAUTOCASTABLE_BY_PET = 0x00020000, // 17<br />
SPELL_ATTR1_UNK18 = 0x00040000, // 18 stun, polymorph, daze, hex<br />
SPELL_ATTR1_CANT_TARGET_SELF = 0x00080000, // 19<br />
SPELL_ATTR1_REQ_COMBO_POINTS1 = 0x00100000, // 20 Req combo points on target<br />
SPELL_ATTR1_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR1_REQ_COMBO_POINTS2 = 0x00400000, // 22 Req combo points on target<br />
SPELL_ATTR1_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR1_IS_FISHING = 0x01000000, // 24 only fishing spells<br />
SPELL_ATTR1_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR1_UNK26 = 0x04000000, // 26 works correctly with [target=focus] and [target=mouseover] macros?<br />
SPELL_ATTR1_UNK27 = 0x08000000, // 27 melee spell?<br />
SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR = 0x10000000, // 28 client doesn't display these spells in aura bar<br />
SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME = 0x20000000, // 29 spell name is displayed in cast bar instead of 'channeling' text<br />
SPELL_ATTR1_ENABLE_AT_DODGE = 0x40000000, // 30 Overpower<br />
SPELL_ATTR1_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr2==<br />
SPELL_ATTR2_CAN_TARGET_DEAD = 0x00000001, // 0 can target dead unit or corpse<br />
SPELL_ATTR2_UNK1 = 0x00000002, // 1 vanish, shadowform, Ghost Wolf and other<br />
SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS = 0x00000004, // 2 26368 4.0.1 dbc change<br />
SPELL_ATTR2_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR2_DISPLAY_IN_STANCE_BAR = 0x00000010, // 4 client displays icon in stance bar when learned, even if not shapeshift<br />
SPELL_ATTR2_AUTOREPEAT_FLAG = 0x00000020, // 5<br />
SPELL_ATTR2_CANT_TARGET_TAPPED = 0x00000040, // 6 target must be tapped by caster<br />
SPELL_ATTR2_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR2_UNK8 = 0x00000100, // 8 not set in 3.0.3<br />
SPELL_ATTR2_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR2_UNK10 = 0x00000400, // 10 related to tame<br />
SPELL_ATTR2_HEALTH_FUNNEL = 0x00000800, // 11<br />
SPELL_ATTR2_UNK12 = 0x00001000, // 12 Cleave, Heart Strike, Maul, Sunder Armor, Swipe<br />
SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA = 0x00002000, // 13 Items enchanted by spells with this flag preserve the enchant to arenas<br />
SPELL_ATTR2_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR2_UNK15 = 0x00008000, // 15 not set in 3.0.3<br />
SPELL_ATTR2_TAME_BEAST = 0x00010000, // 16<br />
SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS = 0x00020000, // 17 don't reset timers for melee autoattacks (swings) or ranged autoattacks (autoshoots)<br />
SPELL_ATTR2_REQ_DEAD_PET = 0x00040000, // 18 Only Revive pet and Heart of the Pheonix<br />
SPELL_ATTR2_NOT_NEED_SHAPESHIFT = 0x00080000, // 19 does not necessarly need shapeshift<br />
SPELL_ATTR2_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR2_DAMAGE_REDUCED_SHIELD = 0x00200000, // 21 for ice blocks, pala immunity buffs, priest absorb shields, but used also for other spells -> not sure!<br />
SPELL_ATTR2_UNK22 = 0x00400000, // 22 Ambush, Backstab, Cheap Shot, Death Grip, Garrote, Judgements, Mutilate, Pounce, Ravage, Shiv, Shred<br />
SPELL_ATTR2_IS_ARCANE_CONCENTRATION = 0x00800000, // 23 Only mage Arcane Concentration have this flag<br />
SPELL_ATTR2_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR2_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE = 0x04000000, // 26 unaffected by school immunity<br />
SPELL_ATTR2_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR2_IGNORE_ITEM_CHECK = 0x10000000, // 28 Spell is cast without checking item requirements (charges/reagents/totem)<br />
SPELL_ATTR2_CANT_CRIT = 0x20000000, // 29 Spell can't crit<br />
SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC = 0x40000000, // 30 spell can trigger even if triggered<br />
SPELL_ATTR2_FOOD_BUFF = 0x80000000 // 31 Food or Drink Buff (like Well Fed)<br />
<br />
==enum SpellAttr3==<br />
SPELL_ATTR3_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR3_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR3_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR3_BLOCKABLE_SPELL = 0x00000008, // 3 Only dmg class melee in 3.1.3<br />
SPELL_ATTR3_IGNORE_RESURRECTION_TIMER = 0x00000010, // 4 you don't have to wait to be resurrected with these spells<br />
SPELL_ATTR3_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR3_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR3_STACK_FOR_DIFF_CASTERS = 0x00000080, // 7 separate stack for every caster<br />
SPELL_ATTR3_ONLY_TARGET_PLAYERS = 0x00000100, // 8 can only target players<br />
SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 = 0x00000200, // 9 triggered from effect?<br />
SPELL_ATTR3_MAIN_HAND = 0x00000400, // 10 Main hand weapon required<br />
SPELL_ATTR3_BATTLEGROUND = 0x00000800, // 11 Can only be cast in battleground<br />
SPELL_ATTR3_ONLY_TARGET_GHOSTS = 0x00001000, // 12<br />
SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR = 0x00002000, // 13 Clientside attribute - will not display channeling bar<br />
SPELL_ATTR3_IS_HONORLESS_TARGET = 0x00004000, // 14 "Honorless Target" only this spells have this flag<br />
SPELL_ATTR3_UNK15 = 0x00008000, // 15 Auto Shoot, Shoot, Throw, - this is autoshot flag<br />
SPELL_ATTR3_CANT_TRIGGER_PROC = 0x00010000, // 16 confirmed with many patchnotes<br />
SPELL_ATTR3_NO_INITIAL_AGGRO = 0x00020000, // 17 Soothe Animal, 39758, Mind Soothe<br />
SPELL_ATTR3_IGNORE_HIT_RESULT = 0x00040000, // 18 Spell should always hit its target<br />
SPELL_ATTR3_DISABLE_PROC = 0x00080000, // 19 during aura proc no spells can trigger (20178, 20375)<br />
SPELL_ATTR3_DEATH_PERSISTENT = 0x00100000, // 20 Death persistent spells<br />
SPELL_ATTR3_UNK21 = 0x00200000, // 21 unused<br />
SPELL_ATTR3_REQ_WAND = 0x00400000, // 22 Req wand<br />
SPELL_ATTR3_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR3_REQ_OFFHAND = 0x01000000, // 24 Req offhand weapon<br />
SPELL_ATTR3_TREAT_AS_PERIODIC = 0x02000000, // 25 Makes the spell appear as periodic in client combat logs - used by spells that trigger another spell on each tick<br />
SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED = 0x04000000, // 26 auras with this attribute can proc from triggered spell casts with SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 (67736 + 52999)<br />
SPELL_ATTR3_DRAIN_SOUL = 0x08000000, // 27 only drain soul has this flag<br />
SPELL_ATTR3_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR3_NO_DONE_BONUS = 0x20000000, // 29 Ignore caster spellpower and done damage mods? client doesn't apply spellmods for those spells<br />
SPELL_ATTR3_DONT_DISPLAY_RANGE = 0x40000000, // 30 client doesn't display range in tooltip for those spells<br />
SPELL_ATTR3_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr4==<br />
SPELL_ATTR4_IGNORE_RESISTANCES = 0x00000001, // 0 spells with this attribute will completely ignore the target's resistance (these spells can't be resisted)<br />
SPELL_ATTR4_PROC_ONLY_ON_CASTER = 0x00000002, // 1 proc only on effects with TARGET_UNIT_CASTER?<br />
SPELL_ATTR4_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR4_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR4_UNK4 = 0x00000010, // 4 This will no longer cause guards to attack on use??<br />
SPELL_ATTR4_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR4_NOT_STEALABLE = 0x00000040, // 6 although such auras might be dispellable, they cannot be stolen<br />
SPELL_ATTR4_CAN_CAST_WHILE_CASTING = 0x00000080, // 7 Can be cast while another cast is in progress - see CanCastWhileCasting(SpellRec const*,CGUnit_C *,int &)<br />
SPELL_ATTR4_FIXED_DAMAGE = 0x00000100, // 8 Ignores resilience and any (except mechanic related) damage or % damage taken auras on target.<br />
SPELL_ATTR4_TRIGGER_ACTIVATE = 0x00000200, // 9 initially disabled / trigger activate from event (Execute, Riposte, Deep Freeze end other)<br />
SPELL_ATTR4_SPELL_VS_EXTEND_COST = 0x00000400, // 10 Rogue Shiv have this flag<br />
SPELL_ATTR4_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR4_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR4_COMBAT_LOG_NO_CASTER = 0x00002000, // 13 No caster object is sent to client combat log<br />
SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS = 0x00004000, // 14 doesn't break auras by damage from these spells<br />
SPELL_ATTR4_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR4_NOT_USABLE_IN_ARENA_OR_RATED_BG = 0x00010000, // 16 Cannot be used in both Arenas or Rated Battlegrounds<br />
SPELL_ATTR4_USABLE_IN_ARENA = 0x00020000, // 17<br />
SPELL_ATTR4_AREA_TARGET_CHAIN = 0x00040000, // 18 (NYI)hits area targets one after another instead of all at once<br />
SPELL_ATTR4_UNK19 = 0x00080000, // 19 proc dalayed, after damage or don't proc on absorb?<br />
SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER = 0x00100000, // 20 supersedes message "More powerful spell applied" for self casts.<br />
SPELL_ATTR4_UNK21 = 0x00200000, // 21 Pally aura, dk presence, dudu form, warrior stance, shadowform, hunter track<br />
SPELL_ATTR4_UNK22 = 0x00400000, // 22 Seal of Command (42058, 57770) and Gymer's Smash 55426<br />
SPELL_ATTR4_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR4_UNK24 = 0x01000000, // 24 some shoot spell<br />
SPELL_ATTR4_IS_PET_SCALING = 0x02000000, // 25 pet scaling auras<br />
SPELL_ATTR4_CAST_ONLY_IN_OUTLAND = 0x04000000, // 26 Can only be used in Outland.<br />
SPELL_ATTR4_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR4_UNK28 = 0x10000000, // 28 Aimed Shot<br />
SPELL_ATTR4_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR4_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR4_UNK31 = 0x80000000 // 31 Polymorph (chicken) 228 and Sonic Boom (38052, 38488)<br />
<br />
==enum SpellAttr5 ({{Template:Sandbox/VersionRange|min_expansionlevel=2}})==<br />
SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING = 0x00000001, // 0 available casting channel spell when moving<br />
SPELL_ATTR5_NO_REAGENT_WHILE_PREP = 0x00000002, // 1 not need reagents if UNIT_FLAG_PREPARATION<br />
SPELL_ATTR5_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR5_USABLE_WHILE_STUNNED = 0x00000008, // 3 usable while stunned<br />
SPELL_ATTR5_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR5_SINGLE_TARGET_SPELL = 0x00000020, // 5 Only one target can be apply at a time<br />
SPELL_ATTR5_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR5_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR5_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR5_START_PERIODIC_AT_APPLY = 0x00000200, // 9 begin periodic tick at aura apply<br />
SPELL_ATTR5_HIDE_DURATION = 0x00000400, // 10 do not send duration to client<br />
SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET = 0x00000800, // 11 (NYI) uses target's target as target if original target not valid (intervene for example)<br />
SPELL_ATTR5_UNK12 = 0x00001000, // 12 Cleave related?<br />
SPELL_ATTR5_HASTE_AFFECT_DURATION = 0x00002000, // 13 haste effects decrease duration of this<br />
SPELL_ATTR5_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR5_UNK15 = 0x00008000, // 15 Inflits on multiple targets?<br />
SPELL_ATTR5_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR5_USABLE_WHILE_FEARED = 0x00020000, // 17 usable while feared<br />
SPELL_ATTR5_USABLE_WHILE_CONFUSED = 0x00040000, // 18 usable while confused<br />
SPELL_ATTR5_DONT_TURN_DURING_CAST = 0x00080000, // 19 Blocks caster's turning when casting (client does not automatically turn caster's model to face UNIT_FIELD_TARGET)<br />
SPELL_ATTR5_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR5_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR5_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR5_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR5_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR5_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR5_UNK26 = 0x04000000, // 26 aoe related - Boulder, Cannon, Corpse Explosion, Fire Nova, Flames, Frost Bomb, Living Bomb, Seed of Corruption, Starfall, Thunder Clap, Volley<br />
SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST = 0x08000000, // 27 Auras with this attribute are not visible on units that are the caster<br />
SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST = 0x10000000, // 28 Auras with this attribute are not visible on units that are not the caster<br />
SPELL_ATTR5_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR5_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR5_UNK31 = 0x80000000 // 31 Forces all nearby enemies to focus attacks caster<br />
<br />
==enum SpellAttr6 ({{Template:Sandbox/VersionRange|min_expansionlevel=2}})==<br />
SPELL_ATTR6_DONT_DISPLAY_COOLDOWN = 0x00000001, // 0 client doesn't display cooldown in tooltip for these spells<br />
SPELL_ATTR6_ONLY_IN_ARENA = 0x00000002, // 1 only usable in arena<br />
SPELL_ATTR6_IGNORE_CASTER_AURAS = 0x00000004, // 2<br />
SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG = 0x00000008, // 3 skips checking UNIT_FLAG_IMMUNE_TO_PC and UNIT_FLAG_IMMUNE_TO_NPC flags on assist<br />
SPELL_ATTR6_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR6_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR6_USE_SPELL_CAST_EVENT = 0x00000040, // 6 Auras with this attribute trigger SPELL_CAST combat log event instead of SPELL_AURA_START (clientside attribute)<br />
SPELL_ATTR6_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED = 0x00000100, // 8<br />
SPELL_ATTR6_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS = 0x00000400, // 10 NYI!<br />
SPELL_ATTR6_NOT_IN_RAID_INSTANCE = 0x00000800, // 11 not usable in raid instance<br />
SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE = 0x00001000, // 12 castable while caster is on vehicle<br />
SPELL_ATTR6_CAN_TARGET_INVISIBLE = 0x00002000, // 13 ignore visibility requirement for spell target (phases, invisibility, etc.)<br />
SPELL_ATTR6_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR6_UNK15 = 0x00008000, // 15 only 54368, 67892<br />
SPELL_ATTR6_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR6_UNK17 = 0x00020000, // 17 Mount spell<br />
SPELL_ATTR6_CAST_BY_CHARMER = 0x00040000, // 18 client won't allow to cast these spells when unit is not possessed && charmer of caster will be original caster<br />
SPELL_ATTR6_UNK19 = 0x00080000, // 19 only 47488, 50782<br />
SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER = 0x00100000, // 20 Auras with this attribute are only visible to their caster (or pet's owner)<br />
SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS = 0x00200000, // 21 it's only client-side attribute<br />
SPELL_ATTR6_UNK22 = 0x00400000, // 22 only 72054<br />
SPELL_ATTR6_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR6_CAN_TARGET_UNTARGETABLE = 0x01000000, // 24<br />
SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT = 0x02000000, // 25 Exorcism, Flash of Light<br />
SPELL_ATTR6_UNK26 = 0x04000000, // 26 related to player castable positive buff<br />
SPELL_ATTR6_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR6_UNK28 = 0x10000000, // 28 Death Grip<br />
SPELL_ATTR6_NO_DONE_PCT_DAMAGE_MODS = 0x20000000, // 29 ignores done percent damage mods?<br />
SPELL_ATTR6_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS = 0x80000000 // 31 Spells with this attribute skip applying modifiers to category cooldowns<br />
<br />
==enum SpellAttr7 ({{Template:Sandbox/VersionRange|min_expansionlevel=3}})==<br />
SPELL_ATTR7_UNK0 = 0x00000001, // 0 Shaman's new spells (Call of the ...), Feign Death.<br />
SPELL_ATTR7_IGNORE_DURATION_MODS = 0x00000002, // 1 Duration is not affected by duration modifiers<br />
SPELL_ATTR7_REACTIVATE_AT_RESURRECT = 0x00000004, // 2 Paladin's auras and 65607 only.<br />
SPELL_ATTR7_IS_CHEAT_SPELL = 0x00000008, // 3 Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS<br />
SPELL_ATTR7_UNK4 = 0x00000010, // 4 Only 47883 (Soulstone Resurrection) and test spell.<br />
SPELL_ATTR7_SUMMON_TOTEM = 0x00000020, // 5 Only Shaman totems.<br />
SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE = 0x00000040, // 6 Does not cause spell pushback on damage<br />
SPELL_ATTR7_UNK7 = 0x00000080, // 7 66218 (Launch) spell.<br />
SPELL_ATTR7_HORDE_ONLY = 0x00000100, // 8 Teleports, mounts and other spells.<br />
SPELL_ATTR7_ALLIANCE_ONLY = 0x00000200, // 9 Teleports, mounts and other spells.<br />
SPELL_ATTR7_DISPEL_CHARGES = 0x00000400, // 10 Dispel and Spellsteal individual charges instead of whole aura.<br />
SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER = 0x00000800, // 11 Only non-player casts interrupt, though Feral Charge - Bear has it.<br />
SPELL_ATTR7_SILENCE_ONLY_NONPLAYER = 0x00001000, // 12 Not set in 3.2.2a.<br />
SPELL_ATTR7_UNK13 = 0x00002000, // 13 Not set in 3.2.2a.<br />
SPELL_ATTR7_UNK14 = 0x00004000, // 14 Only 52150 (Raise Dead - Pet) spell.<br />
SPELL_ATTR7_UNK15 = 0x00008000, // 15 Exorcism. Usable on players? 100% crit chance on undead and demons?<br />
SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER = 0x00010000, // 16 These spells can replenish a powertype, which is not the current powertype.<br />
SPELL_ATTR7_UNK17 = 0x00020000, // 17 Only 27965 (Suicide) spell.<br />
SPELL_ATTR7_HAS_CHARGE_EFFECT = 0x00040000, // 18 Only spells that have Charge among effects.<br />
SPELL_ATTR7_ZONE_TELEPORT = 0x00080000, // 19 Teleports to specific zones.<br />
SPELL_ATTR7_UNK20 = 0x00100000, // 20 Blink, Divine Shield, Ice Block<br />
SPELL_ATTR7_UNK21 = 0x00200000, // 21 Not set<br />
SPELL_ATTR7_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR7_UNK23 = 0x00800000, // 23 Motivate, Mutilate, Shattering Throw<br />
SPELL_ATTR7_UNK24 = 0x01000000, // 24 Motivate, Mutilate, Perform Speech, Shattering Throw<br />
SPELL_ATTR7_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR7_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR7_UNK27 = 0x08000000, // 27 Not set<br />
SPELL_ATTR7_CONSOLIDATED_RAID_BUFF = 0x10000000, // 28 May be collapsed in raid buff frame (clientside attribute)<br />
SPELL_ATTR7_UNK29 = 0x20000000, // 29 only 69028, 71237<br />
SPELL_ATTR7_UNK30 = 0x40000000, // 30 Burning Determination, Divine Sacrifice, Earth Shield, Prayer of Mending<br />
SPELL_ATTR7_CLIENT_INDICATOR = 0x80000000<br />
<br />
<br />
==enum SpellAttr8 ({{Template:Sandbox/VersionRange|min_expansionlevel=4}})==<br />
SPELL_ATTR8_CANT_MISS = 0x00000001, // 0<br />
SPELL_ATTR8_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR8_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR8_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR8_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR8_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR8_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR8_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR8_AFFECT_PARTY_AND_RAID = 0x00000100, // 8 Nearly all spells have "all party and raid" in description<br />
SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER = 0x00000200, // 9 Periodic auras with this flag keep old periodic timer when refreshing at close to one tick remaining (kind of anti DoT clipping)<br />
SPELL_ATTR8_NAME_CHANGED_DURING_TRANSFORM = 0x00000400, // 10 according to wowhead comments, name changes, title remains<br />
SPELL_ATTR8_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR8_AURA_SEND_AMOUNT = 0x00001000, // 12 Aura must have flag AFLAG_ANY_EFFECT_AMOUNT_SENT to send amount<br />
SPELL_ATTR8_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR8_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR8_WATER_MOUNT = 0x00008000, // 15 only one River Boat used in Thousand Needles<br />
SPELL_ATTR8_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR8_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR8_REMEMBER_SPELLS = 0x00040000, // 18 at some point in time, these auras remember spells and allow to cast them later<br />
SPELL_ATTR8_USE_COMBO_POINTS_ON_ANY_TARGET = 0x00080000, // 19 allows to consume combo points from dead targets<br />
SPELL_ATTR8_ARMOR_SPECIALIZATION = 0x00100000, // 20<br />
SPELL_ATTR8_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR8_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR8_BATTLE_RESURRECTION = 0x00800000, // 23 Used to limit the Amount of Resurrections in Boss Encounters<br />
SPELL_ATTR8_HEALING_SPELL = 0x01000000, // 24<br />
SPELL_ATTR8_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR8_RAID_MARKER = 0x04000000, // 26 probably spell no need learn to cast<br />
SPELL_ATTR8_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR8_NOT_IN_BG_OR_ARENA = 0x10000000, // 28 not allow to cast or deactivate currently active effect, not sure about Fast Track<br />
SPELL_ATTR8_MASTERY_SPECIALIZATION = 0x20000000, // 29<br />
SPELL_ATTR8_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR8_ATTACK_IGNORE_IMMUNE_TO_PC_FLAG = 0x80000000 // 31 Do not check UNIT_FLAG_IMMUNE_TO_PC in IsValidAttackTarget<br />
<br />
==enum SpellAttr9 ({{Template:Sandbox/VersionRange|min_expansionlevel=4}})==<br />
SPELL_ATTR9_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR9_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR9_RESTRICTED_FLIGHT_AREA = 0x00000004, // 2 Dalaran and Wintergrasp flight area auras have it<br />
SPELL_ATTR9_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR9_SPECIAL_DELAY_CALCULATION = 0x00000010, // 4<br />
SPELL_ATTR9_SUMMON_PLAYER_TOTEM = 0x00000020, // 5<br />
SPELL_ATTR9_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR9_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR9_AIMED_SHOT = 0x00000100, // 8<br />
SPELL_ATTR9_NOT_USABLE_IN_ARENA = 0x00000200, // 9 Cannot be used in arenas<br />
SPELL_ATTR9_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR9_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR9_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR9_SLAM = 0x00002000, // 13<br />
SPELL_ATTR9_USABLE_IN_RATED_BATTLEGROUNDS = 0x00004000, // 14 Can be used in Rated Battlegrounds<br />
SPELL_ATTR9_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR9_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR9_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR9_UNK18 = 0x00040000, // 18<br />
SPELL_ATTR9_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR9_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR9_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR9_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR9_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR9_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR9_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR9_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR9_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR9_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR9_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR9_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR9_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr10 ({{Template:Sandbox/VersionRange|min_expansionlevel=4}})==<br />
SPELL_ATTR10_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR10_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR10_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR10_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR10_WATER_SPOUT = 0x00000010, // 4<br />
SPELL_ATTR10_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR10_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR10_TELEPORT_PLAYER = 0x00000080, // 7 4 Teleport Player spells<br />
SPELL_ATTR10_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR10_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR10_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR10_HERB_GATHERING_MINING = 0x00000800, // 11 Only Herb Gathering and Mining<br />
SPELL_ATTR10_USE_SPELL_BASE_LEVEL_FOR_SCALING= 0x00001000, // 12<br />
SPELL_ATTR10_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR10_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR10_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR10_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR10_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR10_UNK18 = 0x00040000, // 18<br />
SPELL_ATTR10_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR10_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR10_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR10_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR10_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR10_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR10_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR10_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR10_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR10_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR10_MOUNT_IS_NOT_ACCOUNT_WIDE = 0x20000000, // 29 This mount is stored per-character<br />
SPELL_ATTR10_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR10_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr11 ({{Template:Sandbox/VersionRange|min_expansionlevel=5}})==<br />
SPELL_ATTR11_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR11_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR11_SCALES_WITH_ITEM_LEVEL = 0x00000004, // 2<br />
SPELL_ATTR11_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR11_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR11_ABSORB_ENVIRONMENTAL_DAMAGE = 0x00000020, // 5<br />
SPELL_ATTR11_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL = 0x00000080, // 7 Spell_C_GetSpellRank returns SpellLevels->MaxLevel * 5 instead of std::min(SpellLevels->MaxLevel, caster->Level) * 5<br />
SPELL_ATTR11_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR11_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR11_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR11_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR11_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR11_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR11_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR11_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR11_NOT_USABLE_IN_CHALLENGE_MODE = 0x00010000, // 16<br />
SPELL_ATTR11_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR11_UNK18 = 0x00040000, // 18<br />
SPELL_ATTR11_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR11_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR11_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR11_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR11_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR11_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR11_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR11_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR11_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR11_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR11_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR11_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR11_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr12 ({{Template:Sandbox/VersionRange|min_expansionlevel=5}})==<br />
SPELL_ATTR12_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR12_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR12_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR12_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR12_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR12_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR12_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR12_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR12_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR12_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR12_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR12_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR12_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR12_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR12_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR12_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR12_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR12_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR12_UNK18 = 0x00040000, // 18<br />
SPELL_ATTR12_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR12_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR12_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR12_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR12_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR12_IS_GARRISON_BUFF = 0x01000000, // 24<br />
SPELL_ATTR12_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR12_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR12_IS_READINESS_SPELL = 0x08000000, // 27<br />
SPELL_ATTR12_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR12_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR12_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR12_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr13 ({{Template:Sandbox/VersionRange|min_expansionlevel=5}})==<br />
SPELL_ATTR13_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR13_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR13_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR13_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR13_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR13_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR13_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR13_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR13_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR13_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR13_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR13_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR13_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR13_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR13_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR13_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR13_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR13_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT = 0x00040000, // 18<br />
SPELL_ATTR13_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR13_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR13_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR13_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR13_UNK23 = 0x00800000 // 23<br />
<br />
<br />
Extracted from Trinity Core Source (SharedDefines.h). 22 November 2019<br />
[[Category:Auxiliary]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=Spell.dbc/Attributes&diff=28247
Spell.dbc/Attributes
2019-11-22T00:40:04Z
<p>Смердокрыл: Added attributes 8-13 from TC</p>
<hr />
<div>==enum SpellAttr0==<br />
SPELL_ATTR0_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR0_REQ_AMMO = 0x00000002, // 1 on next ranged<br />
SPELL_ATTR0_ON_NEXT_SWING = 0x00000004, // 2<br />
SPELL_ATTR0_IS_REPLENISHMENT = 0x00000008, // 3 not set in 3.0.3<br />
SPELL_ATTR0_ABILITY = 0x00000010, // 4 client puts 'ability' instead of 'spell' in game strings for these spells<br />
SPELL_ATTR0_TRADESPELL = 0x00000020, // 5 trade spells (recipes), will be added by client to a sublist of profession spell<br />
SPELL_ATTR0_PASSIVE = 0x00000040, // 6 Passive spell<br />
SPELL_ATTR0_HIDDEN_CLIENTSIDE = 0x00000080, // 7 Spells with this attribute are not visible in spellbook or aura bar<br />
SPELL_ATTR0_HIDE_IN_COMBAT_LOG = 0x00000100, // 8 This attribite controls whether spell appears in combat logs<br />
SPELL_ATTR0_TARGET_MAINHAND_ITEM = 0x00000200, // 9 Client automatically selects item from mainhand slot as a cast target<br />
SPELL_ATTR0_ON_NEXT_SWING_2 = 0x00000400, // 10<br />
SPELL_ATTR0_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR0_DAYTIME_ONLY = 0x00001000, // 12 only useable at daytime, not set in 2.4.2<br />
SPELL_ATTR0_NIGHT_ONLY = 0x00002000, // 13 only useable at night, not set in 2.4.2<br />
SPELL_ATTR0_INDOORS_ONLY = 0x00004000, // 14 only useable indoors, not set in 2.4.2<br />
SPELL_ATTR0_OUTDOORS_ONLY = 0x00008000, // 15 Only useable outdoors.<br />
SPELL_ATTR0_NOT_SHAPESHIFT = 0x00010000, // 16 Not while shapeshifted<br />
SPELL_ATTR0_ONLY_STEALTHED = 0x00020000, // 17 Must be in stealth<br />
SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE = 0x00040000, // 18 client won't hide unit weapons in sheath on cast/channel<br />
SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION = 0x00080000, // 19 spelldamage depends on caster level<br />
SPELL_ATTR0_STOP_ATTACK_TARGET = 0x00100000, // 20 Stop attack after use this spell (and not begin attack if use)<br />
SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK = 0x00200000, // 21 Cannot be dodged/parried/blocked<br />
SPELL_ATTR0_CAST_TRACK_TARGET = 0x00400000, // 22 Client automatically forces player to face target when casting<br />
SPELL_ATTR0_CASTABLE_WHILE_DEAD = 0x00800000, // 23 castable while dead?<br />
SPELL_ATTR0_CASTABLE_WHILE_MOUNTED = 0x01000000, // 24 castable while mounted<br />
SPELL_ATTR0_DISABLED_WHILE_ACTIVE = 0x02000000, // 25 Activate and start cooldown after aura fade or remove summoned creature or go<br />
SPELL_ATTR0_NEGATIVE_1 = 0x04000000, // 26 Many negative spells have this attr<br />
SPELL_ATTR0_CASTABLE_WHILE_SITTING = 0x08000000, // 27 castable while sitting<br />
SPELL_ATTR0_CANT_USED_IN_COMBAT = 0x10000000, // 28 Cannot be used in combat<br />
SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY = 0x20000000, // 29 unaffected by invulnerability (hmm possible not...)<br />
SPELL_ATTR0_HEARTBEAT_RESIST_CHECK = 0x40000000, // 30 random chance the effect will end TODO: implement core support<br />
SPELL_ATTR0_CANT_CANCEL = 0x80000000 // 31 positive aura can't be canceled<br />
<br />
==enum SpellAttr1==<br />
SPELL_ATTR1_DISMISS_PET = 0x00000001, // 0 for spells without this flag client doesn't allow to summon pet if caster has a pet<br />
SPELL_ATTR1_DRAIN_ALL_POWER = 0x00000002, // 1 use all power (Only paladin Lay of Hands and Bunyanize)<br />
SPELL_ATTR1_CHANNELED_1 = 0x00000004, // 2 clientside checked? cancelable?<br />
SPELL_ATTR1_CANT_BE_REDIRECTED = 0x00000008, // 3<br />
SPELL_ATTR1_UNK4 = 0x00000010, // 4 stealth and whirlwind<br />
SPELL_ATTR1_NOT_BREAK_STEALTH = 0x00000020, // 5 Not break stealth<br />
SPELL_ATTR1_CHANNELED_2 = 0x00000040, // 6<br />
SPELL_ATTR1_CANT_BE_REFLECTED = 0x00000080, // 7<br />
SPELL_ATTR1_CANT_TARGET_IN_COMBAT = 0x00000100, // 8 can target only out of combat units<br />
SPELL_ATTR1_MELEE_COMBAT_START = 0x00000200, // 9 player starts melee combat after this spell is cast<br />
SPELL_ATTR1_NO_THREAT = 0x00000400, // 10 no generates threat on cast 100% (old NO_INITIAL_AGGRO)<br />
SPELL_ATTR1_UNK11 = 0x00000800, // 11 aura<br />
SPELL_ATTR1_IS_PICKPOCKET = 0x00001000, // 12 Pickpocket<br />
SPELL_ATTR1_FARSIGHT = 0x00002000, // 13 Client removes farsight on aura loss<br />
SPELL_ATTR1_CHANNEL_TRACK_TARGET = 0x00004000, // 14 Client automatically forces player to face target when channeling<br />
SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY = 0x00008000, // 15 remove auras on immunity<br />
SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE = 0x00010000, // 16 on immuniy<br />
SPELL_ATTR1_UNAUTOCASTABLE_BY_PET = 0x00020000, // 17<br />
SPELL_ATTR1_UNK18 = 0x00040000, // 18 stun, polymorph, daze, hex<br />
SPELL_ATTR1_CANT_TARGET_SELF = 0x00080000, // 19<br />
SPELL_ATTR1_REQ_COMBO_POINTS1 = 0x00100000, // 20 Req combo points on target<br />
SPELL_ATTR1_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR1_REQ_COMBO_POINTS2 = 0x00400000, // 22 Req combo points on target<br />
SPELL_ATTR1_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR1_IS_FISHING = 0x01000000, // 24 only fishing spells<br />
SPELL_ATTR1_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR1_UNK26 = 0x04000000, // 26 works correctly with [target=focus] and [target=mouseover] macros?<br />
SPELL_ATTR1_UNK27 = 0x08000000, // 27 melee spell?<br />
SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR = 0x10000000, // 28 client doesn't display these spells in aura bar<br />
SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME = 0x20000000, // 29 spell name is displayed in cast bar instead of 'channeling' text<br />
SPELL_ATTR1_ENABLE_AT_DODGE = 0x40000000, // 30 Overpower<br />
SPELL_ATTR1_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr2==<br />
SPELL_ATTR2_CAN_TARGET_DEAD = 0x00000001, // 0 can target dead unit or corpse<br />
SPELL_ATTR2_UNK1 = 0x00000002, // 1 vanish, shadowform, Ghost Wolf and other<br />
SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS = 0x00000004, // 2 26368 4.0.1 dbc change<br />
SPELL_ATTR2_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR2_DISPLAY_IN_STANCE_BAR = 0x00000010, // 4 client displays icon in stance bar when learned, even if not shapeshift<br />
SPELL_ATTR2_AUTOREPEAT_FLAG = 0x00000020, // 5<br />
SPELL_ATTR2_CANT_TARGET_TAPPED = 0x00000040, // 6 target must be tapped by caster<br />
SPELL_ATTR2_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR2_UNK8 = 0x00000100, // 8 not set in 3.0.3<br />
SPELL_ATTR2_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR2_UNK10 = 0x00000400, // 10 related to tame<br />
SPELL_ATTR2_HEALTH_FUNNEL = 0x00000800, // 11<br />
SPELL_ATTR2_UNK12 = 0x00001000, // 12 Cleave, Heart Strike, Maul, Sunder Armor, Swipe<br />
SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA = 0x00002000, // 13 Items enchanted by spells with this flag preserve the enchant to arenas<br />
SPELL_ATTR2_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR2_UNK15 = 0x00008000, // 15 not set in 3.0.3<br />
SPELL_ATTR2_TAME_BEAST = 0x00010000, // 16<br />
SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS = 0x00020000, // 17 don't reset timers for melee autoattacks (swings) or ranged autoattacks (autoshoots)<br />
SPELL_ATTR2_REQ_DEAD_PET = 0x00040000, // 18 Only Revive pet and Heart of the Pheonix<br />
SPELL_ATTR2_NOT_NEED_SHAPESHIFT = 0x00080000, // 19 does not necessarly need shapeshift<br />
SPELL_ATTR2_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR2_DAMAGE_REDUCED_SHIELD = 0x00200000, // 21 for ice blocks, pala immunity buffs, priest absorb shields, but used also for other spells -> not sure!<br />
SPELL_ATTR2_UNK22 = 0x00400000, // 22 Ambush, Backstab, Cheap Shot, Death Grip, Garrote, Judgements, Mutilate, Pounce, Ravage, Shiv, Shred<br />
SPELL_ATTR2_IS_ARCANE_CONCENTRATION = 0x00800000, // 23 Only mage Arcane Concentration have this flag<br />
SPELL_ATTR2_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR2_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE = 0x04000000, // 26 unaffected by school immunity<br />
SPELL_ATTR2_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR2_IGNORE_ITEM_CHECK = 0x10000000, // 28 Spell is cast without checking item requirements (charges/reagents/totem)<br />
SPELL_ATTR2_CANT_CRIT = 0x20000000, // 29 Spell can't crit<br />
SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC = 0x40000000, // 30 spell can trigger even if triggered<br />
SPELL_ATTR2_FOOD_BUFF = 0x80000000 // 31 Food or Drink Buff (like Well Fed)<br />
<br />
==enum SpellAttr3==<br />
SPELL_ATTR3_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR3_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR3_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR3_BLOCKABLE_SPELL = 0x00000008, // 3 Only dmg class melee in 3.1.3<br />
SPELL_ATTR3_IGNORE_RESURRECTION_TIMER = 0x00000010, // 4 you don't have to wait to be resurrected with these spells<br />
SPELL_ATTR3_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR3_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR3_STACK_FOR_DIFF_CASTERS = 0x00000080, // 7 separate stack for every caster<br />
SPELL_ATTR3_ONLY_TARGET_PLAYERS = 0x00000100, // 8 can only target players<br />
SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 = 0x00000200, // 9 triggered from effect?<br />
SPELL_ATTR3_MAIN_HAND = 0x00000400, // 10 Main hand weapon required<br />
SPELL_ATTR3_BATTLEGROUND = 0x00000800, // 11 Can only be cast in battleground<br />
SPELL_ATTR3_ONLY_TARGET_GHOSTS = 0x00001000, // 12<br />
SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR = 0x00002000, // 13 Clientside attribute - will not display channeling bar<br />
SPELL_ATTR3_IS_HONORLESS_TARGET = 0x00004000, // 14 "Honorless Target" only this spells have this flag<br />
SPELL_ATTR3_UNK15 = 0x00008000, // 15 Auto Shoot, Shoot, Throw, - this is autoshot flag<br />
SPELL_ATTR3_CANT_TRIGGER_PROC = 0x00010000, // 16 confirmed with many patchnotes<br />
SPELL_ATTR3_NO_INITIAL_AGGRO = 0x00020000, // 17 Soothe Animal, 39758, Mind Soothe<br />
SPELL_ATTR3_IGNORE_HIT_RESULT = 0x00040000, // 18 Spell should always hit its target<br />
SPELL_ATTR3_DISABLE_PROC = 0x00080000, // 19 during aura proc no spells can trigger (20178, 20375)<br />
SPELL_ATTR3_DEATH_PERSISTENT = 0x00100000, // 20 Death persistent spells<br />
SPELL_ATTR3_UNK21 = 0x00200000, // 21 unused<br />
SPELL_ATTR3_REQ_WAND = 0x00400000, // 22 Req wand<br />
SPELL_ATTR3_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR3_REQ_OFFHAND = 0x01000000, // 24 Req offhand weapon<br />
SPELL_ATTR3_TREAT_AS_PERIODIC = 0x02000000, // 25 Makes the spell appear as periodic in client combat logs - used by spells that trigger another spell on each tick<br />
SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED = 0x04000000, // 26 auras with this attribute can proc from triggered spell casts with SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2 (67736 + 52999)<br />
SPELL_ATTR3_DRAIN_SOUL = 0x08000000, // 27 only drain soul has this flag<br />
SPELL_ATTR3_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR3_NO_DONE_BONUS = 0x20000000, // 29 Ignore caster spellpower and done damage mods? client doesn't apply spellmods for those spells<br />
SPELL_ATTR3_DONT_DISPLAY_RANGE = 0x40000000, // 30 client doesn't display range in tooltip for those spells<br />
SPELL_ATTR3_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr4==<br />
SPELL_ATTR4_IGNORE_RESISTANCES = 0x00000001, // 0 spells with this attribute will completely ignore the target's resistance (these spells can't be resisted)<br />
SPELL_ATTR4_PROC_ONLY_ON_CASTER = 0x00000002, // 1 proc only on effects with TARGET_UNIT_CASTER?<br />
SPELL_ATTR4_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR4_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR4_UNK4 = 0x00000010, // 4 This will no longer cause guards to attack on use??<br />
SPELL_ATTR4_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR4_NOT_STEALABLE = 0x00000040, // 6 although such auras might be dispellable, they cannot be stolen<br />
SPELL_ATTR4_CAN_CAST_WHILE_CASTING = 0x00000080, // 7 Can be cast while another cast is in progress - see CanCastWhileCasting(SpellRec const*,CGUnit_C *,int &)<br />
SPELL_ATTR4_FIXED_DAMAGE = 0x00000100, // 8 Ignores resilience and any (except mechanic related) damage or % damage taken auras on target.<br />
SPELL_ATTR4_TRIGGER_ACTIVATE = 0x00000200, // 9 initially disabled / trigger activate from event (Execute, Riposte, Deep Freeze end other)<br />
SPELL_ATTR4_SPELL_VS_EXTEND_COST = 0x00000400, // 10 Rogue Shiv have this flag<br />
SPELL_ATTR4_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR4_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR4_COMBAT_LOG_NO_CASTER = 0x00002000, // 13 No caster object is sent to client combat log<br />
SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS = 0x00004000, // 14 doesn't break auras by damage from these spells<br />
SPELL_ATTR4_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR4_NOT_USABLE_IN_ARENA_OR_RATED_BG = 0x00010000, // 16 Cannot be used in both Arenas or Rated Battlegrounds<br />
SPELL_ATTR4_USABLE_IN_ARENA = 0x00020000, // 17<br />
SPELL_ATTR4_AREA_TARGET_CHAIN = 0x00040000, // 18 (NYI)hits area targets one after another instead of all at once<br />
SPELL_ATTR4_UNK19 = 0x00080000, // 19 proc dalayed, after damage or don't proc on absorb?<br />
SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER = 0x00100000, // 20 supersedes message "More powerful spell applied" for self casts.<br />
SPELL_ATTR4_UNK21 = 0x00200000, // 21 Pally aura, dk presence, dudu form, warrior stance, shadowform, hunter track<br />
SPELL_ATTR4_UNK22 = 0x00400000, // 22 Seal of Command (42058, 57770) and Gymer's Smash 55426<br />
SPELL_ATTR4_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR4_UNK24 = 0x01000000, // 24 some shoot spell<br />
SPELL_ATTR4_IS_PET_SCALING = 0x02000000, // 25 pet scaling auras<br />
SPELL_ATTR4_CAST_ONLY_IN_OUTLAND = 0x04000000, // 26 Can only be used in Outland.<br />
SPELL_ATTR4_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR4_UNK28 = 0x10000000, // 28 Aimed Shot<br />
SPELL_ATTR4_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR4_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR4_UNK31 = 0x80000000 // 31 Polymorph (chicken) 228 and Sonic Boom (38052, 38488)<br />
<br />
==enum SpellAttr5==<br />
SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING = 0x00000001, // 0 available casting channel spell when moving<br />
SPELL_ATTR5_NO_REAGENT_WHILE_PREP = 0x00000002, // 1 not need reagents if UNIT_FLAG_PREPARATION<br />
SPELL_ATTR5_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR5_USABLE_WHILE_STUNNED = 0x00000008, // 3 usable while stunned<br />
SPELL_ATTR5_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR5_SINGLE_TARGET_SPELL = 0x00000020, // 5 Only one target can be apply at a time<br />
SPELL_ATTR5_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR5_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR5_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR5_START_PERIODIC_AT_APPLY = 0x00000200, // 9 begin periodic tick at aura apply<br />
SPELL_ATTR5_HIDE_DURATION = 0x00000400, // 10 do not send duration to client<br />
SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET = 0x00000800, // 11 (NYI) uses target's target as target if original target not valid (intervene for example)<br />
SPELL_ATTR5_UNK12 = 0x00001000, // 12 Cleave related?<br />
SPELL_ATTR5_HASTE_AFFECT_DURATION = 0x00002000, // 13 haste effects decrease duration of this<br />
SPELL_ATTR5_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR5_UNK15 = 0x00008000, // 15 Inflits on multiple targets?<br />
SPELL_ATTR5_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR5_USABLE_WHILE_FEARED = 0x00020000, // 17 usable while feared<br />
SPELL_ATTR5_USABLE_WHILE_CONFUSED = 0x00040000, // 18 usable while confused<br />
SPELL_ATTR5_DONT_TURN_DURING_CAST = 0x00080000, // 19 Blocks caster's turning when casting (client does not automatically turn caster's model to face UNIT_FIELD_TARGET)<br />
SPELL_ATTR5_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR5_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR5_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR5_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR5_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR5_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR5_UNK26 = 0x04000000, // 26 aoe related - Boulder, Cannon, Corpse Explosion, Fire Nova, Flames, Frost Bomb, Living Bomb, Seed of Corruption, Starfall, Thunder Clap, Volley<br />
SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST = 0x08000000, // 27 Auras with this attribute are not visible on units that are the caster<br />
SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST = 0x10000000, // 28 Auras with this attribute are not visible on units that are not the caster<br />
SPELL_ATTR5_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR5_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR5_UNK31 = 0x80000000 // 31 Forces all nearby enemies to focus attacks caster<br />
<br />
==enum SpellAttr6==<br />
SPELL_ATTR6_DONT_DISPLAY_COOLDOWN = 0x00000001, // 0 client doesn't display cooldown in tooltip for these spells<br />
SPELL_ATTR6_ONLY_IN_ARENA = 0x00000002, // 1 only usable in arena<br />
SPELL_ATTR6_IGNORE_CASTER_AURAS = 0x00000004, // 2<br />
SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG = 0x00000008, // 3 skips checking UNIT_FLAG_IMMUNE_TO_PC and UNIT_FLAG_IMMUNE_TO_NPC flags on assist<br />
SPELL_ATTR6_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR6_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR6_USE_SPELL_CAST_EVENT = 0x00000040, // 6 Auras with this attribute trigger SPELL_CAST combat log event instead of SPELL_AURA_START (clientside attribute)<br />
SPELL_ATTR6_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED = 0x00000100, // 8<br />
SPELL_ATTR6_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS = 0x00000400, // 10 NYI!<br />
SPELL_ATTR6_NOT_IN_RAID_INSTANCE = 0x00000800, // 11 not usable in raid instance<br />
SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE = 0x00001000, // 12 castable while caster is on vehicle<br />
SPELL_ATTR6_CAN_TARGET_INVISIBLE = 0x00002000, // 13 ignore visibility requirement for spell target (phases, invisibility, etc.)<br />
SPELL_ATTR6_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR6_UNK15 = 0x00008000, // 15 only 54368, 67892<br />
SPELL_ATTR6_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR6_UNK17 = 0x00020000, // 17 Mount spell<br />
SPELL_ATTR6_CAST_BY_CHARMER = 0x00040000, // 18 client won't allow to cast these spells when unit is not possessed && charmer of caster will be original caster<br />
SPELL_ATTR6_UNK19 = 0x00080000, // 19 only 47488, 50782<br />
SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER = 0x00100000, // 20 Auras with this attribute are only visible to their caster (or pet's owner)<br />
SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS = 0x00200000, // 21 it's only client-side attribute<br />
SPELL_ATTR6_UNK22 = 0x00400000, // 22 only 72054<br />
SPELL_ATTR6_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR6_CAN_TARGET_UNTARGETABLE = 0x01000000, // 24<br />
SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT = 0x02000000, // 25 Exorcism, Flash of Light<br />
SPELL_ATTR6_UNK26 = 0x04000000, // 26 related to player castable positive buff<br />
SPELL_ATTR6_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR6_UNK28 = 0x10000000, // 28 Death Grip<br />
SPELL_ATTR6_NO_DONE_PCT_DAMAGE_MODS = 0x20000000, // 29 ignores done percent damage mods?<br />
SPELL_ATTR6_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS = 0x80000000 // 31 Spells with this attribute skip applying modifiers to category cooldowns<br />
<br />
==enum SpellAttr7==<br />
SPELL_ATTR7_UNK0 = 0x00000001, // 0 Shaman's new spells (Call of the ...), Feign Death.<br />
SPELL_ATTR7_IGNORE_DURATION_MODS = 0x00000002, // 1 Duration is not affected by duration modifiers<br />
SPELL_ATTR7_REACTIVATE_AT_RESURRECT = 0x00000004, // 2 Paladin's auras and 65607 only.<br />
SPELL_ATTR7_IS_CHEAT_SPELL = 0x00000008, // 3 Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS<br />
SPELL_ATTR7_UNK4 = 0x00000010, // 4 Only 47883 (Soulstone Resurrection) and test spell.<br />
SPELL_ATTR7_SUMMON_TOTEM = 0x00000020, // 5 Only Shaman totems.<br />
SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE = 0x00000040, // 6 Does not cause spell pushback on damage<br />
SPELL_ATTR7_UNK7 = 0x00000080, // 7 66218 (Launch) spell.<br />
SPELL_ATTR7_HORDE_ONLY = 0x00000100, // 8 Teleports, mounts and other spells.<br />
SPELL_ATTR7_ALLIANCE_ONLY = 0x00000200, // 9 Teleports, mounts and other spells.<br />
SPELL_ATTR7_DISPEL_CHARGES = 0x00000400, // 10 Dispel and Spellsteal individual charges instead of whole aura.<br />
SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER = 0x00000800, // 11 Only non-player casts interrupt, though Feral Charge - Bear has it.<br />
SPELL_ATTR7_SILENCE_ONLY_NONPLAYER = 0x00001000, // 12 Not set in 3.2.2a.<br />
SPELL_ATTR7_UNK13 = 0x00002000, // 13 Not set in 3.2.2a.<br />
SPELL_ATTR7_UNK14 = 0x00004000, // 14 Only 52150 (Raise Dead - Pet) spell.<br />
SPELL_ATTR7_UNK15 = 0x00008000, // 15 Exorcism. Usable on players? 100% crit chance on undead and demons?<br />
SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER = 0x00010000, // 16 These spells can replenish a powertype, which is not the current powertype.<br />
SPELL_ATTR7_UNK17 = 0x00020000, // 17 Only 27965 (Suicide) spell.<br />
SPELL_ATTR7_HAS_CHARGE_EFFECT = 0x00040000, // 18 Only spells that have Charge among effects.<br />
SPELL_ATTR7_ZONE_TELEPORT = 0x00080000, // 19 Teleports to specific zones.<br />
SPELL_ATTR7_UNK20 = 0x00100000, // 20 Blink, Divine Shield, Ice Block<br />
SPELL_ATTR7_UNK21 = 0x00200000, // 21 Not set<br />
SPELL_ATTR7_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR7_UNK23 = 0x00800000, // 23 Motivate, Mutilate, Shattering Throw<br />
SPELL_ATTR7_UNK24 = 0x01000000, // 24 Motivate, Mutilate, Perform Speech, Shattering Throw<br />
SPELL_ATTR7_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR7_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR7_UNK27 = 0x08000000, // 27 Not set<br />
SPELL_ATTR7_CONSOLIDATED_RAID_BUFF = 0x10000000, // 28 May be collapsed in raid buff frame (clientside attribute)<br />
SPELL_ATTR7_UNK29 = 0x20000000, // 29 only 69028, 71237<br />
SPELL_ATTR7_UNK30 = 0x40000000, // 30 Burning Determination, Divine Sacrifice, Earth Shield, Prayer of Mending<br />
SPELL_ATTR7_CLIENT_INDICATOR = 0x80000000<br />
<br />
<br />
==enum SpellAttr8 ({{Template:Sandbox/VersionRange|min_expansionlevel=4}})==<br />
SPELL_ATTR8_CANT_MISS = 0x00000001, // 0<br />
SPELL_ATTR8_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR8_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR8_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR8_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR8_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR8_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR8_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR8_AFFECT_PARTY_AND_RAID = 0x00000100, // 8 Nearly all spells have "all party and raid" in description<br />
SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER = 0x00000200, // 9 Periodic auras with this flag keep old periodic timer when refreshing at close to one tick remaining (kind of anti DoT clipping)<br />
SPELL_ATTR8_NAME_CHANGED_DURING_TRANSFORM = 0x00000400, // 10 according to wowhead comments, name changes, title remains<br />
SPELL_ATTR8_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR8_AURA_SEND_AMOUNT = 0x00001000, // 12 Aura must have flag AFLAG_ANY_EFFECT_AMOUNT_SENT to send amount<br />
SPELL_ATTR8_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR8_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR8_WATER_MOUNT = 0x00008000, // 15 only one River Boat used in Thousand Needles<br />
SPELL_ATTR8_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR8_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR8_REMEMBER_SPELLS = 0x00040000, // 18 at some point in time, these auras remember spells and allow to cast them later<br />
SPELL_ATTR8_USE_COMBO_POINTS_ON_ANY_TARGET = 0x00080000, // 19 allows to consume combo points from dead targets<br />
SPELL_ATTR8_ARMOR_SPECIALIZATION = 0x00100000, // 20<br />
SPELL_ATTR8_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR8_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR8_BATTLE_RESURRECTION = 0x00800000, // 23 Used to limit the Amount of Resurrections in Boss Encounters<br />
SPELL_ATTR8_HEALING_SPELL = 0x01000000, // 24<br />
SPELL_ATTR8_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR8_RAID_MARKER = 0x04000000, // 26 probably spell no need learn to cast<br />
SPELL_ATTR8_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR8_NOT_IN_BG_OR_ARENA = 0x10000000, // 28 not allow to cast or deactivate currently active effect, not sure about Fast Track<br />
SPELL_ATTR8_MASTERY_SPECIALIZATION = 0x20000000, // 29<br />
SPELL_ATTR8_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR8_ATTACK_IGNORE_IMMUNE_TO_PC_FLAG = 0x80000000 // 31 Do not check UNIT_FLAG_IMMUNE_TO_PC in IsValidAttackTarget<br />
<br />
==enum SpellAttr9 ({{Template:Sandbox/VersionRange|min_expansionlevel=6}})==<br />
SPELL_ATTR9_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR9_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR9_RESTRICTED_FLIGHT_AREA = 0x00000004, // 2 Dalaran and Wintergrasp flight area auras have it<br />
SPELL_ATTR9_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR9_SPECIAL_DELAY_CALCULATION = 0x00000010, // 4<br />
SPELL_ATTR9_SUMMON_PLAYER_TOTEM = 0x00000020, // 5<br />
SPELL_ATTR9_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR9_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR9_AIMED_SHOT = 0x00000100, // 8<br />
SPELL_ATTR9_NOT_USABLE_IN_ARENA = 0x00000200, // 9 Cannot be used in arenas<br />
SPELL_ATTR9_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR9_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR9_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR9_SLAM = 0x00002000, // 13<br />
SPELL_ATTR9_USABLE_IN_RATED_BATTLEGROUNDS = 0x00004000, // 14 Can be used in Rated Battlegrounds<br />
SPELL_ATTR9_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR9_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR9_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR9_UNK18 = 0x00040000, // 18<br />
SPELL_ATTR9_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR9_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR9_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR9_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR9_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR9_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR9_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR9_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR9_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR9_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR9_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR9_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR9_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr10 ({{Template:Sandbox/VersionRange|min_expansionlevel=6}})==<br />
SPELL_ATTR10_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR10_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR10_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR10_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR10_WATER_SPOUT = 0x00000010, // 4<br />
SPELL_ATTR10_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR10_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR10_TELEPORT_PLAYER = 0x00000080, // 7 4 Teleport Player spells<br />
SPELL_ATTR10_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR10_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR10_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR10_HERB_GATHERING_MINING = 0x00000800, // 11 Only Herb Gathering and Mining<br />
SPELL_ATTR10_USE_SPELL_BASE_LEVEL_FOR_SCALING= 0x00001000, // 12<br />
SPELL_ATTR10_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR10_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR10_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR10_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR10_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR10_UNK18 = 0x00040000, // 18<br />
SPELL_ATTR10_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR10_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR10_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR10_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR10_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR10_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR10_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR10_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR10_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR10_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR10_MOUNT_IS_NOT_ACCOUNT_WIDE = 0x20000000, // 29 This mount is stored per-character<br />
SPELL_ATTR10_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR10_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr11 ({{Template:Sandbox/VersionRange|min_expansionlevel=6}})==<br />
SPELL_ATTR11_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR11_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR11_SCALES_WITH_ITEM_LEVEL = 0x00000004, // 2<br />
SPELL_ATTR11_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR11_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR11_ABSORB_ENVIRONMENTAL_DAMAGE = 0x00000020, // 5<br />
SPELL_ATTR11_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL = 0x00000080, // 7 Spell_C_GetSpellRank returns SpellLevels->MaxLevel * 5 instead of std::min(SpellLevels->MaxLevel, caster->Level) * 5<br />
SPELL_ATTR11_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR11_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR11_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR11_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR11_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR11_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR11_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR11_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR11_NOT_USABLE_IN_CHALLENGE_MODE = 0x00010000, // 16<br />
SPELL_ATTR11_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR11_UNK18 = 0x00040000, // 18<br />
SPELL_ATTR11_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR11_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR11_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR11_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR11_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR11_UNK24 = 0x01000000, // 24<br />
SPELL_ATTR11_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR11_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR11_UNK27 = 0x08000000, // 27<br />
SPELL_ATTR11_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR11_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR11_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR11_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr12 ({{Template:Sandbox/VersionRange|min_expansionlevel=6}})==<br />
SPELL_ATTR12_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR12_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR12_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR12_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR12_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR12_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR12_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR12_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR12_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR12_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR12_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR12_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR12_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR12_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR12_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR12_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR12_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR12_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR12_UNK18 = 0x00040000, // 18<br />
SPELL_ATTR12_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR12_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR12_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR12_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR12_UNK23 = 0x00800000, // 23<br />
SPELL_ATTR12_IS_GARRISON_BUFF = 0x01000000, // 24<br />
SPELL_ATTR12_UNK25 = 0x02000000, // 25<br />
SPELL_ATTR12_UNK26 = 0x04000000, // 26<br />
SPELL_ATTR12_IS_READINESS_SPELL = 0x08000000, // 27<br />
SPELL_ATTR12_UNK28 = 0x10000000, // 28<br />
SPELL_ATTR12_UNK29 = 0x20000000, // 29<br />
SPELL_ATTR12_UNK30 = 0x40000000, // 30<br />
SPELL_ATTR12_UNK31 = 0x80000000 // 31<br />
<br />
==enum SpellAttr13 ({{Template:Sandbox/VersionRange|min_expansionlevel=6}})==<br />
SPELL_ATTR13_UNK0 = 0x00000001, // 0<br />
SPELL_ATTR13_UNK1 = 0x00000002, // 1<br />
SPELL_ATTR13_UNK2 = 0x00000004, // 2<br />
SPELL_ATTR13_UNK3 = 0x00000008, // 3<br />
SPELL_ATTR13_UNK4 = 0x00000010, // 4<br />
SPELL_ATTR13_UNK5 = 0x00000020, // 5<br />
SPELL_ATTR13_UNK6 = 0x00000040, // 6<br />
SPELL_ATTR13_UNK7 = 0x00000080, // 7<br />
SPELL_ATTR13_UNK8 = 0x00000100, // 8<br />
SPELL_ATTR13_UNK9 = 0x00000200, // 9<br />
SPELL_ATTR13_UNK10 = 0x00000400, // 10<br />
SPELL_ATTR13_UNK11 = 0x00000800, // 11<br />
SPELL_ATTR13_UNK12 = 0x00001000, // 12<br />
SPELL_ATTR13_UNK13 = 0x00002000, // 13<br />
SPELL_ATTR13_UNK14 = 0x00004000, // 14<br />
SPELL_ATTR13_UNK15 = 0x00008000, // 15<br />
SPELL_ATTR13_UNK16 = 0x00010000, // 16<br />
SPELL_ATTR13_UNK17 = 0x00020000, // 17<br />
SPELL_ATTR13_ACTIVATES_REQUIRED_SHAPESHIFT = 0x00040000, // 18<br />
SPELL_ATTR13_UNK19 = 0x00080000, // 19<br />
SPELL_ATTR13_UNK20 = 0x00100000, // 20<br />
SPELL_ATTR13_UNK21 = 0x00200000, // 21<br />
SPELL_ATTR13_UNK22 = 0x00400000, // 22<br />
SPELL_ATTR13_UNK23 = 0x00800000 // 23<br />
<br />
<br />
Extracted from Trinity Core Source (SharedDefines.h). 22 November 2019<br />
[[Category:Auxiliary]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/Map&diff=26507
DB/Map
2018-11-27T18:27:54Z
<p>Смердокрыл: BfA structure</p>
<hr />
<div>Note that some emulators have issues with IDs above 999 due to their extractors (vmaps).<br />
<br />
==0.5.3.3368==<br />
struct MapRec {<br />
uint32_t m_ID;<br />
{{Template:Type|stringref}} m_Directory;<br />
uint32_t m_PVP;<br />
uint32_t m_IsInMap;<br />
{{Template:Type|langstringref}} m_MapName_lang;<br />
};<br />
==1.12.1.5875==<br />
struct MapRec {<br />
uint32_t m_ID;<br />
{{Template:Type|stringref}} m_Directory;<br />
uint32_t m_InstanceType;<br />
uint32_t m_MapType;<br />
{{Template:Type|langstringref}} m_MapName_lang;<br />
uint32_t min_level;<br />
uint32_t max_level;<br />
uint32_t max_players;<br />
uint32_t ?;<br />
uint32_t ?;<br />
uint32_t ?;<br />
{{Template:Type/foreign_key|type=uint32_t|table=Map}} m_parentMapID;<br />
{{Template:Type|langstringref}} m_MapDescription0_lang;<br />
{{Template:Type|langstringref}} m_MapDescription1_lang;<br />
{{Template:Type/foreign_key|type=int32_t|table=LoadingScreens}} m_LoadingScreenID;<br />
uint32_t m_raidOffset;<br />
uint32_t continentname?;<br />
uint32_t ?;<br />
};<br />
<br />
== 3.0.9.9551 ==<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180 " | Field <br />
! width="80" | Type <br />
! width="600" | Notes<br />
|-<br />
| 1 ||ID||Integer||<br />
|-<br />
| 2 || InternalName||String||reference to World\Map\ [...] \<br />
|-<br />
| 3 || AreaType||Integer||0: none, 1: party, 2: raid, 3: pvp, 4: arena, >=5: none (official from "IsInInstance()")<br />
|-<br />
| 4 || IsBattleground ||Boolean||Simple flag for battleground maps<br />
|-<br />
| 5 ||Name||[[Loc]]||Name (displayed on World Map for example)<br />
|-style="background:#F0F8FF;"<br />
| 6 ||[[AreaTable.dbc |AreaTable]]||iRefID||iRefID to AreaTable.dbc<br />
|-<br />
| 7 ||Description|||[[Loc]]||Alliance<br />
|-<br />
| 8 ||Description|||[[Loc]]||Horde<br />
|-style="background:#F0F8FF;"<br />
| 9 ||[[LoadingScreens.dbc |LoadingScreen]]||iRefID||The LoadingScreen to Display<br />
|-<br />
| 10 ||BattlefieldMapIconScale||Float||<br />
|-<br />
| 11 ||Requirement||[[Loc]]||Requirement to enter<br />
|-<br />
| 12 ||Heroic|||[[Loc]]||Heroic-Requirement to enter<br />
|-<br />
| 13 || Unknown |||[[Loc]]|| Some other requirement to enter.<br />
|-style="background:#F0F8FF;"<br />
| 14 ||[[Map.dbc | ParentArea]]||iRefID||Points to column 1, -1 if none<br />
|-<br />
| 15 ||X-Coord||Float||The X-Coord of the instance entrance<br />
|-<br />
| 16 ||Y-Coord||Float||The Y-Coord of the instance entrance<br />
|-<br />
| 17 ||ResetTimeRaid||Integer||Raid. <br />
|-<br />
| 18 ||ResetTimeRaid||Integer||Heroic raid or instance?<br />
|-<br />
| 19 || Unknown ||Integer|| All the time 0.<br />
|-<br />
| 20 || TimeOfDayOverride ||Integer|| Set to -1 for everything but Orgrimmar and Dalaran arena. For those, the time of day will change to this. <br />
|-<br />
| 21 || ExpansionID ||Integer|| Vanilla: 0, BC: 1, WotLK: 2<br />
|-<br />
| 22 || Unknown || Integer || Another resettime? Is the same as the heroic one for some entries.<br />
|}<br />
<br />
== 3.2? ==<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180 " | Field <br />
! width="80" | Type <br />
! width="600" | Notes<br />
|-<br />
| 1 ||ID||Integer||<br />
|-<br />
| 2 || Directory||String||reference to World\Map\ [...] \<br />
|-<br />
| 3 || InstanceType||Integer||0: none, 1: party, 2: raid, 3: pvp, 4: arena, >=5: none (official from "IsInInstance()")<br />
|-<br />
| 4 || Flags ||Boolean||Simple flag for battleground maps<br />
|-<br />
| cata ||PVP ||Boolean||Simple flag for battleground maps<br />
|-<br />
| 5-21 ||MapName||[[Loc]]||Name (displayed on World Map for example)<br />
|-style="background:#F0F8FF;"<br />
| 22 ||[[AreaTable.dbc |areaTableID]]||iRefID||iRefID to AreaTable.dbc<br />
|-<br />
| 23-39 ||MapDescription0|||[[Loc]]||Alliance<br />
|-<br />
| 40-56 ||MapDescription1|||[[Loc]]||Horde<br />
|-style="background:#F0F8FF;"<br />
| 57 ||[[LoadingScreens.dbc |LoadingScreen]]||iRefID||The LoadingScreen to Display<br />
|-<br />
| 58 ||minimapIconScale||Float||<br />
|-style="background:#F0F8FF;"<br />
| 59 ||[[Map.dbc | corpseMapID]]||iRefID||Points to column 1, -1 if none<br />
|-<br />
| 60 ||corpseX||Float||The X-Coord of the instance entrance<br />
|-<br />
| 61 ||corpseY||Float||The Y-Coord of the instance entrance<br />
|-<br />
| 62 || TimeOfDayOverride ||Integer|| Set to -1 for everything but Orgrimmar and Dalaran arena. For those, the time of day will change to this. <br />
|-<br />
| 63 || ExpansionID ||Integer|| Vanilla: 0, BC: 1, WotLK: 2<br />
|-<br />
| 64 || maxPlayers || Integer || <br />
|-<br />
| 65 || NumberOfPlayers || Integer || Used for reset time, I guess.<br />
|-<br />
| cata || parentMapID || Integer ||<br />
|}<br />
<br />
Some columns are moved to [[MapDifficulty.dbc]] in 3.2.<br />
<br />
==6.0.1.18179==<br />
struct MapRec {<br />
uint32_t m_ID;<br />
{{Template:Type|stringref}} m_Directory;<br />
uint32_t m_InstanceType;<br />
uint32_t m_Flags; // 0x0100: can toggle difficulty (trinitycore), 0x8000: flex locking (All difficulties share completed encounters lock, not bound to a single instance id heroic difficulty flag overrides it and uses instance id bind; trinitycore), 0x10000: limit farclip to 727.0, 0x4000000: garrison (trinitycore), 0x020000000000 limit LightMode to 0 or 1 (Legion+, actually in m_Flags[1]!) <br />
uint32_t m_MapType;<br />
{{Template:Type|langstringref}} m_MapName_lang;<br />
uint32_t m_areaTableID;<br />
{{Template:Type|langstringref}} m_MapDescription0_lang;<br />
{{Template:Type|langstringref}} m_MapDescription1_lang;<br />
uint32_t m_LoadingScreenID;<br />
float m_minimapIconScale;<br />
uint32_t m_corpseMapID;<br />
float m_corpse[2];<br />
uint32_t m_timeOfDayOverride;<br />
uint32_t m_expansionID;<br />
uint32_t m_raidOffset;<br />
uint32_t m_maxPlayers;<br />
uint32_t m_parentMapID;<br />
uint32_t m_cosmeticParentMapID;<br />
uint32_t m_timeOffset;<br />
};<br />
<br />
==7.0.3.22201==<br />
{{Template:Sandbox/VersionRange|min_expansionlevel=7}}<br />
<br />
struct MapRec<br />
{<br />
string Directory;<br />
uint32_t[2] Flags;<br />
float MinimapIconScale;<br />
float[2] CorpseCoordinates;<br />
string ZoneName;<br />
string HordeDescription;<br />
string AllianceDescription;<br />
{{Template:Type/foreign_key|type=uint16_t|table=AreaTable}} AreaTableID;<br />
{{Template:Type/foreign_key|type=int16_t|table=LoadingScreens}} LoadingScreenID;<br />
{{Template:Type/foreign_key|type=int16_t|table=Map}} CorpseMapID;<br />
int16_t TimeOfDayOverride;<br />
{{Template:Type/foreign_key|type=int16_t|table=Map}} ParentMapID;<br />
{{Template:Type/foreign_key|type=int16_t|table=Map}} CosmeticParentMapID;<br />
{{Template:Type/foreign_key|type=int16_t|table=WindSettings}} WindSettingsID;<br />
uint8_t InstanceType;<br />
uint8_t MapType;<br />
uint8_t ExpansionID;<br />
uint8_t MaxPlayers;<br />
uint8_t TimeOffset;<br />
};<br />
<br />
==7.2.0==<br />
{{Template:Sandbox/VersionRange|min_expansionlevel=7}}<br />
<br />
struct MapRec<br />
{<br />
string Directory;<br />
uint32_t[2] Flags;<br />
float MinimapIconScale;<br />
float[2] CorpseCoordinates;<br />
string ZoneName;<br />
string HordeDescription;<br />
string AllianceDescription;<br />
string PvpObjective;<br />
string PvpDescription;<br />
{{Template:Type/foreign_key|type=uint16_t|table=AreaTable}} AreaTableID;<br />
{{Template:Type/foreign_key|type=int16_t|table=LoadingScreens}} LoadingScreenID;<br />
{{Template:Type/foreign_key|type=int16_t|table=Map}} CorpseMapID;<br />
int16_t TimeOfDayOverride;<br />
{{Template:Type/foreign_key|type=int16_t|table=Map}} ParentMapID;<br />
{{Template:Type/foreign_key|type=int16_t|table=Map}} CosmeticParentMapID;<br />
{{Template:Type/foreign_key|type=int16_t|table=WindSettings}} WindSettingsID;<br />
uint8_t InstanceType;<br />
uint8_t MapType;<br />
uint8_t ExpansionID;<br />
uint8_t MaxPlayers;<br />
uint8_t TimeOffset;<br />
};<br />
<br />
{{Template:Sandbox/VersionRange|min_expansionlevel=8}}<br />
<br />
struct MapEntry {<br />
uint32 ID;<br />
char const* Directory;<br />
LocalizedString* MapName;<br />
LocalizedString* MapDescription0; // Horde<br />
LocalizedString* MapDescription1; // Alliance<br />
LocalizedString* PvpShortDescription;<br />
LocalizedString* PvpLongDescription;<br />
DBCPosition2D Corpse; // entrance coordinates in ghost mode (in most cases = normal entrance)<br />
uint8 MapType;<br />
int8 InstanceType;<br />
uint8 ExpansionID;<br />
uint16 AreaTableID;<br />
int16 LoadingScreenID;<br />
int16 TimeOfDayOverride;<br />
int16 ParentMapID;<br />
int16 CosmeticParentMapID;<br />
uint8 TimeOffset;<br />
float MinimapIconScale;<br />
int16 CorpseMapID; // map_id of entrance map in ghost mode (continent always and in most cases = normal entrance)<br />
uint8 MaxPlayers;<br />
int16 WindSettingsID;<br />
int32 ZmpFileDataID;<br />
int32 Flags[2];<br />
};<br />
<br />
[[User:Смердокрыл|Смердокрыл]] 27th November 2018<br />
<br />
[[Category:DBC]]<br />
[[Category:DBC_Alpha]]<br />
[[Category:DBC_Vanilla]]<br />
[[Category:DBC_BC]]<br />
[[Category:DBC_WotLK]]<br />
[[Category:DBC_Cataclysm]]<br />
[[Category:DBC_MoP]]<br />
[[Category:3.0.9.9551]]<br />
[[Category:3.3.5.12340]]<br />
[[Category:DBC_WoD]][[Category:6.0.1.18179]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/SoundKitEntry&diff=26506
DB/SoundKitEntry
2018-11-27T17:05:24Z
<p>Смердокрыл: Added Legion and BfA structures</p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=7}}<br />
<br />
struct SoundKitEntry{<br />
uint32_t ID;<br />
float_t VolumeFloat;<br />
float_t MinDistance;<br />
float_t DistanceCutoff;<br />
uint16_t Flags;<br />
uint16_t SoundEntriesAdvancedID;<br />
uint8_t SoundType;<br />
uint8_t DialogType;<br />
uint8_t EAXDef;<br />
float_t VolumeVariationPlus;<br />
float_t VolumeVariationMinus;<br />
float_t PitchVariationPlus;<br />
float_t PitchVariationMinus;<br />
float_t PitchAdjust;<br />
uint16_t BusOverwriteID;<br />
uint8_t MaxInstances;<br />
};<br />
[[User:Смердокрыл|Смердокрыл]] 27th November 2018<br />
<br />
<br />
{{Template:Sandbox/VersionRange|min_expansionlevel=8}}<br />
<br />
struct SoundKitEntry {<br />
uint32_t ID;<br />
uint8_t SoundType;<br />
float_t VolumeFloat;<br />
uint16_t Flags;<br />
float_t MinDistance;<br />
float_t DistanceCutoff;<br />
uint8_t EAXDef;<br />
uint32_t SoundKitAdvancedID;<br />
float_t VolumeVariationPlus;<br />
float_t VolumeVariationMinus;<br />
float_t PitchVariationPlus;<br />
float_t PitchVariationMinus;<br />
int8_t DialogType;<br />
float_t PitchAdjust;<br />
uint16_t BusOverwriteID;<br />
uint8_t MaxInstances;<br />
};<br />
[[User:Смердокрыл|Смердокрыл]] 27th November 2018<br />
<br />
[[Category:DBC]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/ItemModifiedAppearance&diff=26505
DB/ItemModifiedAppearance
2018-11-26T15:10:15Z
<p>Смердокрыл: Deleted the AppearanceID thing, I think it's wrong</p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=6}}<br />
==8.0.1.25902==<br />
struct ItemModifiedAppearanceRec {<br />
uint32_t ItemId;<br />
uint32_t Id;<br />
uint8_t AppearanceModID;<br />
uint16_t AppearanceId;<br />
uint8_t VariationIndex;<br />
uint8_t SourceType; // added in 21108, values 0...9<br />
};<br />
[[Category:DBC]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/ItemModifiedAppearance&diff=26504
DB/ItemModifiedAppearance
2018-11-26T15:00:44Z
<p>Смердокрыл: Added info about ItemAppearanceID conversion</p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=6}}<br />
==8.0.1.25902==<br />
struct ItemModifiedAppearanceRec {<br />
uint32_t ItemId;<br />
uint32_t Id;<br />
uint8_t AppearanceModID;<br />
uint16_t AppearanceId;<br />
uint8_t VariationIndex;<br />
uint8_t SourceType; // added in 21108, values 0...9<br />
};<br />
[[Category:DBC]]<br />
<br />
{{Template:Sandbox/VersionRange|min_expansionlevel=8}} (I discovered this in BfA, but it may apply to other versions)<br />
<br />
If you open ItemModifiedAppearance.db2, you will find many negative values in the AppearanceID column. It is because the IDs in ItemAppearance.db2 are uint32_t, whereas here, as you can see, they are uint16_t (for whatever reason). <br />
<br />
In order to link entries in the two tables, you can use https://cryptii.com/pipes/integer-converter : decode the original ID as a 32-bit integer, and encode it as a 16-bit signed integer.<br />
<br />
Example:<br />
[[File:ItemAppearanceID_convertion_via_Cryptii.png|1200px]]<br />
<br />
- The actual ItemAppearanceID is 35976, but in ItemModifiedAppearance it becomes -29560.</div>
Смердокрыл
https://wowdev.wiki/index.php?title=File:ItemAppearanceID_convertion_via_Cryptii.png&diff=26503
File:ItemAppearanceID convertion via Cryptii.png
2018-11-26T14:56:34Z
<p>Смердокрыл: </p>
<hr />
<div></div>
Смердокрыл
https://wowdev.wiki/index.php?title=Community_Projects&diff=26499
Community Projects
2018-11-21T22:50:22Z
<p>Смердокрыл: /* Network & Emulators */ TC supports Legion (and BfA, soontm)</p>
<hr />
<div>== Data Storage & Archives ==<br />
{| class="wikitable"<br />
! scope="col" style="width: 15%;" | Name<br />
! scope="col" style="width: 10%;" | WoW Version<br />
! scope="col" style="width: 10%;" | Language<br />
! scope="col" style="width: 5%;" | Open Source<br />
! scope="col" style="width: 5%;" | In development<br />
! scope="col" style="width: 55%;" | Description<br />
|-<br />
| [http://www.zezula.net/en/mpq/stormlib.html StormLib]<br />
| {{Template:Sandbox/VersionRange|max_expansionlevel=4}}<br />
| C++<br />
| {{Yes}}<br />
| {{Unknown}}<br />
|<br />
|-<br />
| [https://github.com/sgraf812/crystalmpq CrystalMpq]<br />
| {{Template:Sandbox/VersionRange|max_expansionlevel=4}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{No}}<br />
| CrystalMpq is a MPQ reading library written in C#.<br />
|-<br />
| [https://github.com/ladislav-zezula/CascLib CascLib]<br />
| {{Template:Sandbox/VersionRange|min_expansionlevel=6}}<br />
| C++<br />
| {{Yes}}<br />
| {{Yes}}<br />
| An open-source implementation of library for reading CASC storage from Blizzard games since 2014<br />
|-<br />
| [https://github.com/heksesang/CascLib CascLib]<br />
| {{Template:Sandbox/VersionRange|min_expansionlevel=6}}<br />
| C++<br />
| {{Yes}}<br />
| {{Yes}}<br />
| CascLib is C++ library that allows you to access files from a CASC library from any Blizzard game. It aims for a modern C++14 design, being header-only, and leveraging standard C++ features like streams.<br />
|-<br />
| [https://github.com/WoW-Tools/CASCExplorer CASCExplorer]<br />
| {{Template:Sandbox/VersionRange|min_expansionlevel=6}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
|-<br />
| [https://github.com/Warpten/DBFilesClient.NET DBFilesClient.NET]<br />
| {{Template:Sandbox/VersionRange|min_expansionlevel=1}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
| DBFilesClient.NET is a blazing-fast C# library for reading DBC and DB2 files, from Vanilla to Legion. Allows for complex reads by inheriting specific exposed types, allowing the user to define relations between files, or even as far as linking to an entry in CASC.<br />
|-<br />
| [https://github.com/Nihlus/libwarcraft libwarcraft]<br />
| {{Template:Sandbox/VersionRange|max_expansionlevel=3}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
| Managed library for interacting with all Blizzard file formats up to and including Wrath of the Lich King. Supports reading MPQ archives with write support in the works.<br />
|- <br />
| [https://bitbucket.org/tharo/taliis mwtMPQ]<br />
| {{Template:Sandbox/VersionRange|max_expansionlevel=1}}<br />
| Java<br />
| {{Yes}}<br />
| {{No}}<br />
| As part of the Taliis Toolchain there is a basic MPQ lib written in Java.<br />
|-<br />
| [https://github.com/erorus/casc erorus/casc]<br />
| {{Template:Sandbox/VersionRange|min_expansionlevel=7}}<br />
| PHP<br />
| {{Yes}}<br />
| {{Yes}}<br />
| Command-line CASC client designed for speed and efficiency. Developed on a Linux platform, but likely usable in Windows.<br />
|- <br />
|}<br />
<br />
== Data Handling ==<br />
{| class="wikitable"<br />
! scope="col" style="width: 15%;" | Name<br />
! scope="col" style="width: 10%;" | WoW Version<br />
! scope="col" style="width: 10%;" | Language<br />
! scope="col" style="width: 5%;" | Open Source<br />
! scope="col" style="width: 5%;" | In development<br />
! scope="col" style="width: 55%;" | Description<br />
|-<br />
| [https://github.com/Deamon87/WebWoWViewer WebWoWViewer]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}<br />
| JavaScript<br />
| {{Yes}}<br />
| {{Yes}}<br />
| An attempt to recreate old WoWMapViewer application from scratch and entirely in js<br />
|-<br />
| [https://code.google.com/archive/p/wowmapper/ wowmapper]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}, {{Template:Sandbox/PrettyVersion|expansionlevel=4}}<br />
| C++<br />
| {{Yes}}<br />
| {{No}}<br />
|<br />
|-<br />
| [https://github.com/stschake/meshReader meshReader]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=4}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{No}}<br />
|<br />
|-<br />
| [https://github.com/sgraf812/BananaMpq BananaMpq]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=4}}?<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{No}}<br />
| Extracting WoW's geometry data reliably<br />
|-<br />
| [https://github.com/miceiken/WoWMap WoWMap]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=6}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Unknown}}<br />
|<br />
|-<br />
| [https://bitbucket.org/mugadr_m/neo Neo]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}, {{Template:Sandbox/PrettyVersion|expansionlevel=6}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{No}}<br />
| A WoW Development Suite aimed to provide wide world and data editing functionality in one cross-platform application.<br />
|-<br />
| [https://github.com/WowDevTools/Neo Neo (fork)]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}, {{Template:Sandbox/PrettyVersion|expansionlevel=6}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
| A WoW Development Suite aimed to provide wide world and data editing functionality in one cross-platform application.<br />
|-<br />
| [https://bitbucket.org/berndloerwald/noggit3 Noggit3]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}<br />
| C++<br />
| {{Yes}}<br />
| {{Yes}}<br />
| map editor<br />
|-<br />
| [https://bitbucket.org/tharo/taliis Taliis]<br />
| {{Template:Sandbox/VersionRange|max_expansionlevel=2}}<br />
| Java<br />
| {{Yes}}<br />
| {{No}}<br />
| map and advanced dbc editor<br />
|-<br />
| [https://github.com/Kruithne/W3DT W3DT]<br />
| Live, PTR, Beta<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
| 3D Toolkit for World of Warcraft aimed at machinima creators.<br />
|-<br />
| [https://github.com/Marlamin/WoWFormatTest WoWFormatTest]<br />
| {{Template:Sandbox/VersionRange|min_expansionlevel=8}} (Latest)<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
| Various projects relating to WoW formats, main project is an exporter<br />
|-<br />
| [https://github.com/skarnproject/Blender-WMO-import-export-scripts Blender WMO import/export scripts]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}?<br />
| Python 3 (Blender API)<br />
| {{Yes}}<br />
| {{No}}<br />
| Script addon for Blender featuring World of Warcraft World Model Object (WMO) import/export. This branch is discontinued in favor of WoW Blender Studio.<br />
|-<br />
| [https://github.com/WowDevTools/pywowlib pywowlib]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}, {{Template:Sandbox/PrettyVersion|expansionlevel=7}},<br />
{{Template:Sandbox/PrettyVersion|expansionlevel=8}}<br />
| Python 3.5+<br />
| {{Yes}}<br />
| {{Yes}}<br />
| pywowlib is a Python 3.5+ libary featuring the functionality of reading and writing various World of Warcraft related file formats. The goal of the library is to initially target 3 WoW versions: 3.3.5a, 7.3.5, retail. In the future, it may target other core expansion versions: 1.12, 2.4.3, 4.3.4, 5.4.8, 6.2.4<br />
|- <br />
| [https://github.com/Nihlus/Everlook Everlook]<br />
| {{Template:Sandbox/VersionRange|max_expansionlevel=3}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
| World of Warcraft Model Viewer clone, based on [https://github.com/Nihlus/libwarcraft libwarcraft] and implemented using GTK3. Aims for full cross-platform support, and to provide a smoother workflow than WMV.<br />
|- <br />
| [https://github.com/Nihlus/gnome-blp-thumbnailer gnome-blp-thumbnailer]<br />
| {{Template:Sandbox/VersionRange|max_expansionlevel=3}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
| Thumbnail generator for BLP files for the GNOME desktop environment. <br />
|- <br />
| [https://github.com/Nihlus/blizzard-mime-types blizzard-mime-types]<br />
| {{Template:Sandbox/VersionRange|max_expansionlevel=3}}<br />
| Shell/XML<br />
| {{Yes}}<br />
| {{Yes}}<br />
| FreeDesktop.org MIME type definitions for most Blizzard file formats. Works out of the box with practically all *nix operating systems.<br />
|- <br />
| [https://github.com/WowDevTools/WDBXEditor/ WDBX Editor]<br />
| {{Template:Sandbox/VersionRange|max_expansionlevel=7}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
| A DBC/DB2/Cache editor designed to work for all client versions. Includes a wide range of tools for various DB related tasks.<br />
|- <br />
| [https://github.com/erorus/db2 erorus/db2]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=7}}<br />
| PHP<br />
| {{Yes}}<br />
| {{Yes}}<br />
| DB2 Reader library written in PHP, using unit tests and code coverage. Auto-detects field formats. Supports WDB6, ADB, Hotfix.tbl, embedded strings, nonzero block, etc.<br />
|- <br />
| [https://bitbucket.org/wowmodelviewer/wowmodelviewer WoW Model Viewer]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=7}}<br />
| C++<br />
| {{Yes}}<br />
| {{Yes}}<br />
| Well known WoW Model Viewer, currently under active development, supporting data viewing and exporting including Legion. Community forum available [https://forum.wowmodelviewer.net here]<br />
|- <br />
|}<br />
<br />
== Client & Memory ==<br />
{| class="wikitable"<br />
! scope="col" style="width: 15%;" | Name<br />
! scope="col" style="width: 10%;" | WoW Version<br />
! scope="col" style="width: 10%;" | Language<br />
! scope="col" style="width: 5%;" | Open Source<br />
! scope="col" style="width: 5%;" | In development<br />
! scope="col" style="width: 55%;" | Description<br />
|-<br />
| [https://github.com/tomrus88/WowAddin WoWAddin]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}<br />
| C++<br />
| {{Yes}}<br />
| {{No}}<br />
| <br />
|-<br />
| [https://github.com/miceiken/IceFlake IceFlake]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{No}}<br />
| <br />
|-<br />
| [https://github.com/stschake/cleanCore cleanCore]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=4}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{No}}<br />
| cleanCore is an C# interface to the WoW Game<br />
|-<br />
| [https://github.com/tomrus88/WowMoPObjMgrTest WowMoPObjMgrTest]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=5}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{No}}<br />
|<br />
|}<br />
<br />
== Network & Emulators ==<br />
{| class="wikitable"<br />
! scope="col" style="width: 15%;" | Name<br />
! scope="col" style="width: 10%;" | WoW Version<br />
! scope="col" style="width: 10%;" | Language<br />
! scope="col" style="width: 5%;" | Open Source<br />
! scope="col" style="width: 5%;" | In development<br />
! scope="col" style="width: 55%;" | Description<br />
|-<br />
| [https://github.com/cmangos CMaNGOS]<br />
| {{Template:Sandbox/VersionRange|min_expansionlevel=1|max_expansionlevel=3}}<br />
| C++<br />
| {{Yes}}<br />
| {{Yes}}<br />
| <br />
|-<br />
| [https://gitlab.com/Shgck/durator-emu DuratorEmu]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=1}}<br />
| Python<br />
| {{Yes}}<br />
| {{Yes}}<br />
| Tiny sandbox for 1.1.2.4125, written in Python, which tries to remain small, clean and understandable.<br />
|-<br />
| [https://github.com/EmberEmu/Ember Ember]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=1}}<br />
| C++<br />
| {{Yes}}<br />
| {{Yes}}<br />
| Ember is an educational server emulation project targeting the WoW 1.12.1 protocol, striving to be a modular and robust architecture.<br />
|-<br />
| [https://shadowburn-project.org/ Shadowburn Project]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=1}}<br />
| Elixir<br />
| {{Yes}}<br />
| {{Yes}}<br />
| <br />
|-<br />
| [https://github.com/ProjectSkyfire/SkyFire.548 Skyfire]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=5}}<br />
| C++<br />
| {{Yes}}<br />
| {{Yes}}<br />
| Derivative core based on TrinityCore that aims for a robust and working 5.4.8.18414 emulator with functionality.<br />
|-<br />
| [https://github.com/TrinityCore/TrinityCore TrinityCore]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}, {{Template:Sandbox/PrettyVersion|expansionlevel=7}}<br />
| C++<br />
| {{Yes}}<br />
| {{Yes}}<br />
| <br />
|-<br />
| [https://github.com/WCell/WCell WCell]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{No}}<br />
| World of Warcraft emulator written in C#/.NET 4.0, with design and extensibility in mind.<br />
|-<br />
| [https://github.com/RomanRom2/WoWCore/ WoWCore]<br />
| {{Template:Sandbox/VersionRange|min_expansionlevel=1|max_expansionlevel=3}}<br />
| Pascal<br />
| {{Yes}}<br />
| {{Unknown}}<br />
|<br />
|-<br />
| [https://github.com/barncastle/AIO-Sandbox/ AIO Sandbox]<br />
| {{Template:Sandbox/VersionRange|min_expansionlevel=0|max_expansionlevel=1}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
| A lightweight sandbox for all pre-release client versions (0.5.3 to 1.0.1).<br />
|-<br />
<br />
|}<br />
<br />
== Tools ==<br />
{| class="wikitable"<br />
! scope="col" style="width: 15%;" | Name<br />
! scope="col" style="width: 10%;" | WoW Version<br />
! scope="col" style="width: 10%;" | Language<br />
! scope="col" style="width: 5%;" | Open Source<br />
! scope="col" style="width: 5%;" | In development<br />
! scope="col" style="width: 55%;" | Description<br />
|-<br />
| [http://marlamin.com/minimaps/adtgrid.php ADTGrid]<br />
| {{Template:Sandbox/VersionRange|min_expansionlevel=6|max_expansionlevel=8}}<br />
| Website<br />
| {{No}}<br />
| {{Unknown}}<br />
| Generates and displays a visual overhead map of ADT tiles based on user input.<br />
|-<br />
| [http://marlamin.com/minimaps/ Minimaps]<br />
| {{Template:Sandbox/VersionRange|min_expansionlevel=1|max_expansionlevel=8}}<br />
| Website/Images<br />
| {{No}}<br />
| {{Yes}}<br />
| Provides PNG images of minimaps for different maps.<br />
|-<br />
| [https://github.com/Nihlus/liblistfile liblistfile]<br />
| {{Template:Sandbox/VersionRange|max_expansionlevel=3}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
| Library for generating and optimizing listfiles.<br />
|-<br />
| [https://github.com/Nihlus/listtools listtools]<br />
| {{Template:Sandbox/VersionRange|max_expansionlevel=3}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
| CLI tool implementing the functionality of [https://github.com/Nihlus/liblistfile liblistfile]. Useful for mitigating the widespread incorrect casing in Blizzard archives - the tool learns as it goes and is corrected by the user, and uses this to better predict the correct casing for future files and folders. Can also generate new listfiles from scratch.<br />
|-<br />
| [https://github.com/Luzifix/ADTConvert ADTConvert]<br />
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}<br />
| C#/.NET<br />
| {{Yes}}<br />
| {{Yes}}<br />
| The ADTConverter can convert the World of Warcraft ADT Format form LK(3.3.5) to WoD(6.x.x).<br />
|}</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/SpellCategory&diff=26129
DB/SpellCategory
2018-09-01T08:55:23Z
<p>Смердокрыл: </p>
<hr />
<div>==7.3.5.26972==<br />
===Structure===<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180" | Field <br />
! width="80" | Type <br />
|- style="background:#E0E0E0;"<br />
| 1 || ID || Integer ||<br />
|- <br />
| 2 || Name || String ||<br />
|-style="background:#E0E0E0;"<br />
| 3 ||ChargeRecoveryTime|| Integer ||<br />
|-<br />
| 4 ||Flags||Integer||<br />
|-style="background:#E0E0E0;"<br />
| 5 ||UsesPerWeek||Integer||<br />
|-<br />
| 6 ||MaxCharges||Integer||<br />
|-style="background:#E0E0E0;"<br />
| 7 ||TypeMask||Integer||<br />
|}<br />
<br />
===Flags===<br />
'''Hex Decimal Flag''' <br />
0x1 1 SPELL_CATEGORY_FLAG_COOLDOWN_SCALES_WITH_WEAPON_SPEED<br />
0x4 4 SPELL_CATEGORY_FLAG_COOLDOWN_STARTS_ON_EVENT<br />
0x8 8 SPELL_CATEGORY_FLAG_COOLDOWN_EXPIRES_AT_DAILY_RESET<br />
<br />
[[User:Смердокрыл|Смердокрыл]] 1st September 2018<br />
<br />
==1.12.1.5875==<br />
struct SpellCategoryRec {<br />
uint32_t m_ID;<br />
uint32_t m_flags;<br />
};<br />
[[Media:==Structure==]]<br />
'''Column Field Type Notes''' <br />
1 ID Integer <br />
2 flags Integer ID.170 = 1; ID.351 = 2; <br />
<br />
==6.0.1.18179==<br />
struct SpellCategoryRec {<br />
uint32_t m_ID;<br />
uint32_t m_flags;<br />
uint8_t m_usesPerWeek;<br />
uint8_t padding_0[3];<br />
{{Template:Type|stringref}} m_name_lang;<br />
uint32_t m_maxCharges;<br />
uint32_t m_chargeRecoveryTime;<br />
};<br />
[[Category:DBC]]<br />
[[Category:DBC_Vanilla]]<br />
[[Category:DBC_WotLK]]<br />
[[Category:DBC_WoD]][[Category:6.0.1.18179]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/SpellCategory&diff=26128
DB/SpellCategory
2018-09-01T08:53:38Z
<p>Смердокрыл: </p>
<hr />
<div>==7.3.5.26972==<br />
===Structure===<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180" | Field <br />
! width="80" | Type <br />
! width="500" | Notes<br />
|- style="background:#E0E0E0;"<br />
| 1 || ID || Integer ||<br />
|- <br />
| 2 || Name || String ||<br />
|-style="background:#E0E0E0;"<br />
| 3 ||ChargeRecoveryTime|| Integer ||<br />
|-<br />
| 4 ||Flags||Integer||<br />
|-style="background:#E0E0E0;"<br />
| 5 ||UsesPerWeek||Integer||<br />
|-<br />
| 6 ||MaxCharges||Integer||<br />
|-style="background:#E0E0E0;"<br />
| 7 ||TypeMask||Integer||<br />
|}<br />
<br />
===Flags===<br />
'''Hex Decimal Flag''' <br />
0x1 1 SPELL_CATEGORY_FLAG_COOLDOWN_SCALES_WITH_WEAPON_SPEED<br />
0x4 4 SPELL_CATEGORY_FLAG_COOLDOWN_STARTS_ON_EVENT<br />
0x8 8 SPELL_CATEGORY_FLAG_COOLDOWN_EXPIRES_AT_DAILY_RESET<br />
<br />
[[User:Смердокрыл|Смердокрыл]] 1st September 2018<br />
<br />
==1.12.1.5875==<br />
struct SpellCategoryRec {<br />
uint32_t m_ID;<br />
uint32_t m_flags;<br />
};<br />
[[Media:==Structure==]]<br />
'''Column Field Type Notes''' <br />
1 ID Integer <br />
2 flags Integer ID.170 = 1; ID.351 = 2; <br />
<br />
==6.0.1.18179==<br />
struct SpellCategoryRec {<br />
uint32_t m_ID;<br />
uint32_t m_flags;<br />
uint8_t m_usesPerWeek;<br />
uint8_t padding_0[3];<br />
{{Template:Type|stringref}} m_name_lang;<br />
uint32_t m_maxCharges;<br />
uint32_t m_chargeRecoveryTime;<br />
};<br />
[[Category:DBC]]<br />
[[Category:DBC_Vanilla]]<br />
[[Category:DBC_WotLK]]<br />
[[Category:DBC_WoD]][[Category:6.0.1.18179]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/SpellMisc&diff=26127
DB/SpellMisc
2018-09-01T07:52:27Z
<p>Смердокрыл: </p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=5}}<br />
<br />
==7.3.5.26972==<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180" | Field <br />
! width="80" | Type <br />
! width="500" | Notes<br />
|- style="background:#E0E0E0;"<br />
| 1 || ID || Integer ||<br />
|- <br />
| 2 || [[SpellCastTimes.dbc|CastTimesID]] || iRefID ||<br />
|-style="background:#E0E0E0;"<br />
| 3 || [[SpellDuration.dbc|DurationID]] || iRefID ||<br />
|-<br />
| 4 || [[SpellRange.dbc|RangeID]] || iRefID ||<br />
|-style="background:#E0E0E0;"<br />
| 5 || SchoolMask || Integer ||<br />
|-<br />
| 6 || [[SpellIcon.dbc|IconID1]] || iRefID ||<br />
|-style="background:#E0E0E0;"<br />
| 7 ||Speed||Float||<br />
|-<br />
| 8 || [[SpellIcon.dbc|IconID2]] || iRefID || Active Spell icon<br />
|-style="background:#E0E0E0;"<br />
| 9 ||LaunchDelay||Float||<br />
|-<br />
| 17 ||DifficultyID|| Integer ||<br />
|-style="background:#E0E0E0;"<br />
| 10 ||[[SpellMisc.dbc/Attributes|Attributes]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 11 ||[[SpellMisc.dbc/AttributesEx|AttributesEx]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 12 ||[[SpellMisc.dbc/AttributesExB|AttributesExB]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 13 ||[[SpellMisc.dbc/AttributesExC|AttributesExC]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 14 ||[[SpellMisc.dbc/AttributesExD|AttributesExD]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 15 ||[[SpellMisc.dbc/AttributesExE|AttributesExE]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 16 |||[[SpellMisc.dbc/AttributesExF|AttributesExF]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 17 ||[[SpellMisc.dbc/AttributesExG|AttributesExG]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 18 ||[[SpellMisc.dbc/AttributesExH|AttributesExH]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 19 ||[[SpellMisc.dbc/AttributesExI|AttributesExI]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 20 ||[[SpellMisc.dbc/AttributesExJ|AttributesExJ]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 21 ||[[SpellMisc.dbc/AttributesExK|AttributesExK]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 22 ||[[SpellMisc.dbc/AttributesExL|AttributesExL]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 23 ||[[SpellMisc.dbc/AttributesExM|AttributesExM]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 24 ||[[Spell.dbc|SpellID]]|| iRefID ||<br />
|}<br />
[[User:Смердокрыл|Смердокрыл]] 1st September 2018<br />
<br />
<br />
==7.0.1.21737==<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180" | Field <br />
! width="80" | Type <br />
! width="500" | Notes<br />
|- style="background:#E0E0E0;"<br />
| 1 || ID || Integer ||<br />
|- <br />
| 2 ||[[SpellMisc.dbc/Attributes|Attributes]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 3 ||[[SpellMisc.dbc/AttributesEx|AttributesEx]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 4 ||[[SpellMisc.dbc/AttributesExB|AttributesExB]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 5 ||[[SpellMisc.dbc/AttributesExC|AttributesExC]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 6 ||[[SpellMisc.dbc/AttributesExD|AttributesExD]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 7 ||[[SpellMisc.dbc/AttributesExE|AttributesExE]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 8 |||[[SpellMisc.dbc/AttributesExF|AttributesExF]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 9 ||[[SpellMisc.dbc/AttributesExG|AttributesExG]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 10 ||[[SpellMisc.dbc/AttributesExH|AttributesExH]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 11 ||[[SpellMisc.dbc/AttributesExI|AttributesExI]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 12 ||[[SpellMisc.dbc/AttributesExJ|AttributesExJ]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 13 ||[[SpellMisc.dbc/AttributesExK|AttributesExK]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 14 ||[[SpellMisc.dbc/AttributesExL|AttributesExL]]||Integer||Attributes are in general miscellanous flags.<br />
|-<br />
| 15 ||[[SpellMisc.dbc/AttributesExM|AttributesExM]]||Integer||Attributes are in general miscellanous flags.<br />
|-style="background:#E0E0E0;"<br />
| 16 ||Speed||Float||<br />
|-<br />
| 17 ||Unknown|| Integer || Wasn't able to match the value<br />
|-style="background:#E0E0E0;"<br />
| 18 || [[SpellCastTimes.dbc|CastTimesID]] || iRefID ||<br />
|-<br />
| 19 || [[SpellDuration.dbc|DurationID]] || iRefID ||<br />
|-style="background:#E0E0E0;"<br />
| 20 || [[SpellRange.dbc|RangeID]] || iRefID ||<br />
|-<br />
| 21 || [[SpellIcon.dbc|IconID1]] || iRefID ||<br />
|-style="background:#E0E0E0;"<br />
| 22 || [[SpellIcon.dbc|IconID2]] || iRefID || Active Spell ID<br />
|-<br />
| 23 || SchoolMask || Integer ||<br />
|-style="background:#E0E0E0;"<br />
| 24 ||Unknown|| Integer || Always 0<br />
|}<br />
[[User:Synric|Synric]] 12th July 2016<br />
<br />
==6.0.1.18179==<br />
struct SpellMiscRec {<br />
uint32_t m_ID;<br />
uint32_t m_spellID;<br />
uint32_t m_difficultyID;<br />
uint32_t m_attributes[14];<br />
uint32_t m_castingTimeIndex;<br />
uint32_t m_durationIndex;<br />
uint32_t m_rangeIndex;<br />
float m_speed;<br />
uint32_t m_spellVisualID[2];<br />
uint32_t m_spellIconID;<br />
uint32_t m_activeIconID;<br />
uint32_t m_schoolMask;<br />
};<br />
==6.2.2.20444==<br />
struct SpellMiscRec {<br />
uint32_t m_ID;<br />
uint32_t m_attributes[14];<br />
uint32_t m_castingTimeIndex;<br />
uint32_t m_durationIndex;<br />
uint32_t m_rangeIndex;<br />
float m_speed;<br />
uint32_t m_spellIconID;<br />
uint32_t m_activeIconID;<br />
uint32_t m_schoolMask;<br />
uint32_t __unk;<br />
};<br />
[[Category:DBC]]<br />
[[Category:DBC_MoP]]<br />
[[Category:DBC_WoD]][[Category:6.0.1.18179]]<br />
[[Category:DBC_Legion]][[Category:7.0.1.21737]]<br />
[[Category:SpellData]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/SpellActionBarPref&diff=26126
DB/SpellActionBarPref
2018-09-01T07:41:26Z
<p>Смердокрыл: </p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=6}}<br />
<br />
==7.3.5.26972==<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180" | Field <br />
! width="80" | Type <br />
! width="500" | Notes<br />
|- style="background:#E0E0E0;"<br />
| 1 || ID || Integer || <br />
|-<br />
| 2 || [[DB/Spell|SpellID]] || iRefID || <br />
|- style="background:#E0E0E0;"<br />
| 3 || PreferredActionBarMask || Integer || <br />
|}<br />
[[User:Смердокрыл|Смердокрыл]] 1st September 2018<br />
<br />
[[Category:DBC]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/CreatureFamily&diff=26123
DB/CreatureFamily
2018-08-31T07:10:48Z
<p>Смердокрыл: Added pet food values for ease</p>
<hr />
<div>==Classic==<br />
===0.5.3.3368===<br />
====Struct====<br />
struct CreatureFamilyRec {<br />
uint32_t m_ID;<br />
float m_minScale;<br />
uint32_t m_minScaleLevel;<br />
float m_maxScale;<br />
uint32_t m_maxScaleLevel;<br />
uint32_t m_skillLine[2];<br />
};<br />
<br />
==Wrath==<br />
===3.3.5.12340===<br />
====Table====<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180" | Field <br />
! width="80" | Type <br />
! width="500" | Notes<br />
|-<br />
| 1 || ID || Integer || <br />
|-<br />
| 2 || minScale || Float || <br />
|-<br />
| 3 || minScaleLevel || Integer ||<br />
|-<br />
| 4 || maxScale || Float || <br />
|-<br />
| 5 || maxScaleLevel || Integer ||<br />
|- style="background:#F0F8FF;"<br />
| 6 || [[SkillLine.dbc|SkillLine]] || iRefID ||<br />
|- style="background:#F0F8FF;"<br />
| 7 || [[SkillLine.dbc|SkillLine]] || iRefID ||<br />
|- style="background:#F0F8FF;"<br />
| 8 || [[ItemPetFood.dbc|ItemPetFood]] || iRefMask ||<br />
|-<br />
| 9 || petTalentType || Integer ||<br />
|-<br />
| 10 || categoryEnumID || Integer ||<br />
|-<br />
| 11 || Name || [[Loc]] ||<br />
|-<br />
| 28 || IconFile || String || "Interface\Icons\Ability_[a-z_]" <br />
|}<br />
<br />
==Warlords==<br />
===1.12.1.5875, 6.0.1.18179===<br />
====Struct====<br />
struct CreatureFamilyRec {<br />
uint32_t m_ID;<br />
float m_minScale;<br />
uint32_t m_minScaleLevel;<br />
float m_maxScale;<br />
uint32_t m_maxScaleLevel;<br />
uint32_t m_skillLine[2];<br />
uint32_t m_petFoodMask;<br />
uint32_t m_petTalentType;<br />
uint32_t m_categoryEnumID;<br />
{{Template:Type|langstringref}} m_name_lang;<br />
{{Template:Type|stringref}} m_iconFile;<br />
};<br />
<br />
==Unknown Build==<br />
===Table===<br />
'''Column Field Type Notes''' <br />
1 ID Integer <br />
2 Unknown Float Q: movement or attack speed modifier? <br />
3 iRefID_[[PetPersonality.dbc|PetPersonality]] Integer Base data columns 11-19. <br />
4 Unknown Float Q: movement or attack speed modifier? <br />
5 Unknown Integer Q: is player controlled? <br />
6 iRefID_[[SkillLine.dbc|SkillLine]] Integer <br />
7 Unknown Integer Q: is tameable? <br />
8 iRefMask_[[ItemPetFood.dbc|ItemPetFood]] BitMask <br />
9-17 sRefName String + [[Loc]] <br />
18 sRefPath String path: "Interface\Icons\Ability_[a-z_]" <br />
<br />
<br />
==Pet Food Mask==<br />
'''Hex Decimal Food''' <br />
0x001 1 Meat<br />
0x002 2 Fish<br />
0x004 4 Cheese<br />
0x008 8 Bread<br />
0x010 16 Fungus<br />
0x020 32 Fruit<br />
0x040 64 Raw meat<br />
0x080 128 Raw fish<br />
0x100 256 Mechanical parts(?)<br />
<br />
[[Category:DBC]]<br />
[[Category:DBC_Alpha]]<br />
[[Category:DBC_Vanilla]]<br />
[[Category:DBC_WotLK]][[Category:3.3.5.12340]]<br />
[[Category:DBC_WoD]][[Category:6.0.1.18179]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/CreatureDisplayInfoExtra&diff=25596
DB/CreatureDisplayInfoExtra
2018-04-22T14:09:28Z
<p>Смердокрыл: Added info re: Legion+ npc equipment</p>
<hr />
<div>__TOC__<br />
Defines certain characteristics for npcs. <br />
<br />
==Classic==<br />
===0.5.3.3368===<br />
====Struct====<br />
struct CreatureDisplayInfoExtraRec {<br />
uint32_t m_ID;<br />
uint32_t m_DisplayRaceID;<br />
uint32_t m_DisplaySexID;<br />
uint32_t m_SkinID;<br />
uint32_t m_FaceID;<br />
uint32_t m_HairStyleID;<br />
uint32_t m_HairColorID;<br />
uint32_t m_FacialHairID;<br />
uint32_t m_NPCItemDisplay[10];<br />
{{Template:Type|stringref}} m_BakeName;<br />
};<br />
===1.12.1.5875===<br />
====Struct====<br />
struct CreatureDisplayInfoExtraRec {<br />
uint32_t m_ID;<br />
uint32_t m_DisplayRaceID;<br />
uint32_t m_DisplaySexID;<br />
uint32_t m_SkinID;<br />
uint32_t m_FaceID;<br />
uint32_t m_HairStyleID;<br />
uint32_t m_HairColorID;<br />
uint32_t m_FacialHairID;<br />
uint32_t m_NPCItemDisplay[10];<br />
uint32_t m_flags;<br />
{{Template:Type|stringref}} m_BakeName;<br />
};<br />
<br />
==Wrath==<br />
===3.0.3.8905-3.3.5.12340===<br />
====Table====<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180" | Field <br />
! width="80" | Type <br />
! width="500" | Notes<br />
|-<br />
| 1 || ID || Integer ||<br />
|- style="background:#F0F8FF;"<br />
| 2 || [[ChrRaces.dbc|Race]] || iRefID || <br />
|- style="background:#FF9B9B;"<br />
| 3 || [[CreatureType.dbc|CreatureType]] || iRefID || Removed around 3.2. Maybe sooner ? 3.0.9.9551 doesn't feature it anymore.<br />
|-<br />
| 3 || Gender || Boolean || 0 for Male, 1 for Female<br />
|-<br />
| 4 || SkinColor || Integer ||<br />
|-<br />
| 5 || FaceType || Integer || <br />
|-<br />
| 6 || HairType || iRefID || Look up into [[CharHairGeosets.dbc]] to define which Geoset to render.<br />
|-<br />
| 7 || HairStyle/HairColor || iRefID || Look up into [[CharSections.dbc]], where GeneralType=3 to define which texture to use.<br />
|-<br />
| 8 || BeardStyle || Integer || <br />
|- style="background:#F0F8FF;"<br />
| 9 || [[ItemDisplayInfo.dbc|Helm]] || iRefID || These columns define the '''displayid''' that the NPC is wearing.<br />
|- style="background:#F0F8FF;"<br />
| 10 || [[ItemDisplayInfo.dbc|Shoulder]] || iRefID || <br />
|- style="background:#F0F8FF;"<br />
| 11 || [[ItemDisplayInfo.dbc|Shirt]] || iRefID || <br />
|- style="background:#F0F8FF;"<br />
| 12 || [[ItemDisplayInfo.dbc|Cuirass]] || iRefID || <br />
|- style="background:#F0F8FF;"<br />
| 13 || [[ItemDisplayInfo.dbc|Belt]] || iRefID || <br />
|- style="background:#F0F8FF;"<br />
| 14 || [[ItemDisplayInfo.dbc|Legs]] || iRefID || <br />
|- style="background:#F0F8FF;"<br />
| 15 || [[ItemDisplayInfo.dbc|Boots]] || iRefID || <br />
|- style="background:#F0F8FF;"<br />
| 16 || [[ItemDisplayInfo.dbc|Wrist]] || iRefID || <br />
|- style="background:#F0F8FF;"<br />
| 17 || [[ItemDisplayInfo.dbc|Gloves]] || iRefID || <br />
|- style="background:#F0F8FF;"<br />
| 18 || [[ItemDisplayInfo.dbc|Tabard]] || iRefID || <br />
|- style="background:#F0F8FF;"<br />
| 19 || [[ItemDisplayInfo.dbc|Cape]] || iRefID ||<br />
|-<br />
| 20 || CanEquip || Boolean || Can equip additional things when used for players.<br />
|-<br />
| 21 || Texture || String || The [[BLP|texture]] used on the model. .blp extension can be omitted. Name must not be empty, otherwise client crashes.<br />
|}<br />
<br />
==Warlords==<br />
===6.0.1.18179===<br />
====Struct====<br />
struct CreatureDisplayInfoExtraRec {<br />
uint32_t m_ID;<br />
uint32_t m_DisplayRaceID;<br />
uint32_t m_DisplaySexID;<br />
uint32_t m_SkinID;<br />
uint32_t m_FaceID;<br />
uint32_t m_HairStyleID;<br />
uint32_t m_HairColorID;<br />
uint32_t m_FacialHairID;<br />
uint32_t m_NPCItemDisplay[11];<br />
uint32_t m_flags;<br />
uint32_t m_fileDataID;<br />
uint32_t m_hdFileDataID;<br />
};<br />
<br />
In Legion+ NPC armor has been moved to [[DB/NpcModelItemSlotDisplayInfo]].db2<br />
<br />
==8.0.1.25902==<br />
struct CreatureDisplayInfoExtraRec {<br />
// uint32_t m_ID;<br />
uint32_t m_fileDataID;<br />
uint32_t m_hdFileDataID;<br />
uint8_t m_DisplayRaceID;<br />
uint8_t m_DisplaySexID;<br />
uint8_t m_DisplayClassID; // 7.x<br />
uint8_t m_SkinID; // or is this face?<br />
uint8_t m_FaceID; // or is this skin?<br />
uint8_t m_HairStyleID;<br />
uint8_t m_HairColorID;<br />
uint8_t m_FacialHairID;<br />
uint8_t CustomDisplayOption[3]; // 7.x<br />
uint8_t m_flags;<br />
};<br />
<br />
[[Category:DBC]]<br />
[[Category:DBC_Alpha]]<br />
[[Category:DBC_Vanilla]]<br />
[[Category:DBC_WotLK]][[Category:3.0.2.8905]][[Category:3.3.5.12340]]<br />
[[Category:DBC_WoD]][[Category:6.0.1.18179]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/SpellAuraOptions&diff=25359
DB/SpellAuraOptions
2018-02-11T11:24:14Z
<p>Смердокрыл: Added proc flags</p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=4}}<br />
<br />
==7.0.1.21737==<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180" | Field <br />
! width="80" | Type <br />
! width="500" | Notes<br />
|- style="background:#E0E0E0;"<br />
| 1 || ID || Integer ||<br />
|-<br />
| 2 || [[DB/Spell|SpellID]] || iRefID ||<br />
|- style="background:#E0E0E0;"<br />
| 3 || ProcCharges || Integer ||<br />
|-<br />
| 4 || ProcFlags || Integer ||<br />
|- style="background:#E0E0E0;"<br />
| 5 || unknown || Integer || Couldn't match values<br />
|-<br />
| 6 || StackAmount || Integer ||<br />
|- style="background:#E0E0E0;"<br />
| 7 || unknown || Integer || Always 0 <br />
|-<br />
| 8 || ProcChance || Integer ||<br />
|- style="background:#E0E0E0;"<br />
| 9 || unknown || Integer || Couldn't match values<br />
|-<br />
| 10 || unknown || Integer || Always 0<br />
|- style="background:#E0E0E0;"<br />
| 11 || unknown || Integer || Always 0<br />
|-<br />
| 12 || unknown || Integer || Always 0<br />
|}<br />
[[User:Synric|Synric]] 12th July 2016<br />
<br />
==6.0.1.18179==<br />
struct SpellAuraOptionsRec {<br />
uint32_t m_ID;<br />
uint32_t m_spellID;<br />
uint32_t m_difficultyID;<br />
uint32_t m_cumulativeAura;<br />
uint32_t m_procChance;<br />
uint32_t m_procCharges;<br />
uint32_t m_procTypeMask;<br />
uint32_t m_procCategoryRecovery;<br />
uint32_t m_spellProcsPerMinuteID;<br />
};<br />
<br />
==4.0.3.13329==<br />
<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180" | Field <br />
! width="80" | Type <br />
! width="500" | Notes<br />
|- style="background:#E0E0E0;"<br />
| 1 || ID || Integer ||<br />
|- <br />
| 2 || StackAmount || Integer ||<br />
|- style="background:#E0E0E0;"<br />
| 3 || ProcChance || Integer ||<br />
|- <br />
| 4 || ProcCharges || Integer ||<br />
|- style="background:#E0E0E0;"<br />
| 5 || ProcFlags || Integer ||<br />
|}<br />
<br />
==enum PROC_FLAGS==<br />
<br />
PROC_FLAG_NONE = 0x00000000,<br />
PROC_FLAG_KILLED = 0x00000001, // 00 Killed by agressor - not sure about this flag<br />
PROC_FLAG_KILL = 0x00000002, // 01 Kill target (in most cases need XP/Honor reward)<br />
PROC_FLAG_DONE_MELEE_AUTO_ATTACK = 0x00000004, // 02 Done melee auto attack<br />
PROC_FLAG_TAKEN_MELEE_AUTO_ATTACK = 0x00000008, // 03 Taken melee auto attack<br />
PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS = 0x00000010, // 04 Done attack by Spell that has dmg class melee<br />
PROC_FLAG_TAKEN_SPELL_MELEE_DMG_CLASS = 0x00000020, // 05 Taken attack by Spell that has dmg class melee<br />
PROC_FLAG_DONE_RANGED_AUTO_ATTACK = 0x00000040, // 06 Done ranged auto attack<br />
PROC_FLAG_TAKEN_RANGED_AUTO_ATTACK = 0x00000080, // 07 Taken ranged auto attack<br />
PROC_FLAG_DONE_SPELL_RANGED_DMG_CLASS = 0x00000100, // 08 Done attack by Spell that has dmg class ranged<br />
PROC_FLAG_TAKEN_SPELL_RANGED_DMG_CLASS = 0x00000200, // 09 Taken attack by Spell that has dmg class ranged<br />
PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_POS = 0x00000400, // 10 Done positive spell that has dmg class none<br />
PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_POS = 0x00000800, // 11 Taken positive spell that has dmg class none<br />
PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_NEG = 0x00001000, // 12 Done negative spell that has dmg class none<br />
PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_NEG = 0x00002000, // 13 Taken negative spell that has dmg class none<br />
PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS = 0x00004000, // 14 Done positive spell that has dmg class magic<br />
PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS = 0x00008000, // 15 Taken positive spell that has dmg class magic<br />
PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG = 0x00010000, // 16 Done negative spell that has dmg class magic<br />
PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG = 0x00020000, // 17 Taken negative spell that has dmg class magic<br />
PROC_FLAG_DONE_PERIODIC = 0x00040000, // 18 Successful do periodic (damage / healing)<br />
PROC_FLAG_TAKEN_PERIODIC = 0x00080000, // 19 Taken spell periodic (damage / healing)<br />
PROC_FLAG_TAKEN_DAMAGE = 0x00100000, // 20 Taken any damage<br />
PROC_FLAG_DONE_TRAP_ACTIVATION = 0x00200000, // 21 On trap activation (possibly needs name change to ON_GAMEOBJECT_CAST or USE)<br />
PROC_FLAG_DONE_MAINHAND_ATTACK = 0x00400000, // 22 Done main-hand melee attacks (spell and autoattack)<br />
PROC_FLAG_DONE_OFFHAND_ATTACK = 0x00800000, // 23 Done off-hand melee attacks (spell and autoattack)<br />
PROC_FLAG_DEATH = 0x01000000, // 24 Died in any way<br />
<br />
<br />
[[Category:DBC]]<br />
[[Category:DBC_Cataclysm]]<br />
[[Category:DBC_MoP]]<br />
[[Category:4.0.3.13329]]<br />
[[Category:DBC_WoD]][[Category:6.0.1.18179]]<br />
[[Category:DBC_Legion]][[Category:7.0.1.21737]]<br />
[[Category:SpellData|Spell Data]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/SpellVisualKitModelAttach&diff=25352
DB/SpellVisualKitModelAttach
2018-02-05T14:46:48Z
<p>Смердокрыл: </p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=3}}<br />
<br />
struct SpellVisualKitModelAttachRec {<br />
uint32_t m_ID;<br />
{{Template:Type/foreign_key|table=SpellVisualKit}} m_parentSpellVisualKitID; <br />
{{Template:Type/foreign_key|table=SpellVisualEffectName}} m_spellVisualEffectNameID; <br />
uint32_t m_attachmentID; // the parent model's [[M2#Attachments|attachment]], -1 for model's base position<br />
float m_offsetX; // relative to the attachment<br />
float m_offsetY; <br />
float m_offsetZ; <br />
float m_yaw; // the three rotations seem to be in radians<br />
float m_pitch;<br />
float m_roll;<br />
};<br />
<br />
<br />
{{Template:Sandbox/VersionRange|min_expansionlevel=4}}<br />
<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180 " | Field <br />
! width="80" | Type <br />
! width="600" | Notes<br />
|- <br />
| 1 || ID || Integer || <br />
|- style="background:#F0F8FF;"<br />
| 2 || [[SpellVisualKit.dbc|Parent SpellVisualKit ID]] || iRefID || <br />
|- style="background:#F0F8FF;"<br />
| 3 || [[SpellVisualEffectName.dbc|SpellVisualEffectName ID]] || iRefID || <br />
|- <br />
| 4 || Attachment ID || Integer || the parent model's [[M2#Attachments|attachment]], -1 for model's base position<br />
|- <br />
| 5 || Offset X || Float || Relative to the attachment<br />
|- <br />
| 6 || Offset Y || Float || <br />
|- <br />
| 7 || Offset Z || Float || <br />
|- <br />
| 8 || Yaw || Float || In radians<br />
|- <br />
| 9 || Pitch || Float || <br />
|- <br />
| 10 || Roll || Float || <br />
|- <br />
| 11 || Unk || Integer || <br />
|- style="background:#F0F8FF;"<br />
| 12 || [[AnimationData.dbc|Animation (Birth)]] || iRefID || Animation for the attached model to play once when it is spawned<br />
|- style="background:#F0F8FF;"<br />
| 13 || [[AnimationData.dbc|Animation (Hold)]] || iRefID || Animation of the attached model while it is 'on' the character<br />
|- style="background:#F0F8FF;"<br />
| 14 || [[AnimationData.dbc|Animation (Decay)]] || iRefID || Animation for the attached model to play as it despawns<br />
|}<br />
<br />
<br />
[[Category:DBC]]<br />
[[Category:DBC_WotLK]]<br />
[[Category:DBC_Cataclysm]]<br />
[[Category:DBC_MoP]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/SpellVisualKitModelAttach&diff=25351
DB/SpellVisualKitModelAttach
2018-02-05T03:45:22Z
<p>Смердокрыл: Changed "DBC_Cata" to "DBC_Cataclysm"</p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=3}}<br />
<br />
struct SpellVisualKitModelAttachRec {<br />
uint32_t m_ID;<br />
{{Template:Type/foreign_key|table=SpellVisualKit}} m_parentSpellVisualKitID; <br />
{{Template:Type/foreign_key|table=SpellVisualEffectName}} m_spellVisualEffectNameID; <br />
uint32_t m_attachmentID; // the parent model's [[M2#Attachments|attachment]], -1 for model's base position<br />
float m_offsetX; // relative to the attachment<br />
float m_offsetY; <br />
float m_offsetZ; <br />
float m_yaw; // the three rotations seem to be in radians<br />
float m_pitch;<br />
float m_roll;<br />
};<br />
<br />
<br />
{{Template:Sandbox/VersionRange|min_expansionlevel=4}}<br />
<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180 " | Field <br />
! width="80" | Type <br />
! width="600" | Notes<br />
|- <br />
| 1 || ID || Integer || <br />
|- style="background:#F0F8FF;"<br />
| 2 || [[SpellVisualKit.dbc|Parent SpellVisualKit ID]] || iRefID || <br />
|- style="background:#F0F8FF;"<br />
| 3 || [[SpellVisualEffectName.dbc|SpellVisualEffectName ID]] || iRefID || <br />
|- <br />
| 4 || Attachment ID || Integer || the parent model's [[M2#Attachments|attachment]], -1 for model's base position<br />
|- <br />
| 5 || Offset X || Float || Relative to the attachment<br />
|- <br />
| 6 || Offset Y || Float || <br />
|- <br />
| 7 || Offset Z || Float || <br />
|- <br />
| 8 || Yaw || Float || In radians<br />
|- <br />
| 9 || Pitch || Float || <br />
|- <br />
| 10 || Roll || Float || <br />
|- <br />
| 11 || Unk || Integer || <br />
|- style="background:#F0F8FF;"<br />
| 12 || [[AnimationData.dbc|Animation (Hold)]] || iRefID || Animation of the attached model while it is 'on' the character<br />
|- style="background:#F0F8FF;"<br />
| 13 || [[AnimationData.dbc|Animation (Birth)]] || iRefID || Animation for the attached model to play once when it is spawned<br />
|- style="background:#F0F8FF;"<br />
| 14 || [[AnimationData.dbc|Animation (Decay)]] || iRefID || Animation for the attached model to play as it despawns<br />
|}<br />
<br />
<br />
[[Category:DBC]]<br />
[[Category:DBC_WotLK]]<br />
[[Category:DBC_Cataclysm]]<br />
[[Category:DBC_MoP]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/SpellVisualKitModelAttach&diff=25350
DB/SpellVisualKitModelAttach
2018-02-05T03:44:43Z
<p>Смердокрыл: Added info for Cata/MoP</p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=3}}<br />
<br />
struct SpellVisualKitModelAttachRec {<br />
uint32_t m_ID;<br />
{{Template:Type/foreign_key|table=SpellVisualKit}} m_parentSpellVisualKitID; <br />
{{Template:Type/foreign_key|table=SpellVisualEffectName}} m_spellVisualEffectNameID; <br />
uint32_t m_attachmentID; // the parent model's [[M2#Attachments|attachment]], -1 for model's base position<br />
float m_offsetX; // relative to the attachment<br />
float m_offsetY; <br />
float m_offsetZ; <br />
float m_yaw; // the three rotations seem to be in radians<br />
float m_pitch;<br />
float m_roll;<br />
};<br />
<br />
<br />
{{Template:Sandbox/VersionRange|min_expansionlevel=4}}<br />
<br />
{| style="background:#FCFCFC; color:black"<br />
|- <br />
! width="80" | Column <br />
! width="180 " | Field <br />
! width="80" | Type <br />
! width="600" | Notes<br />
|- <br />
| 1 || ID || Integer || <br />
|- style="background:#F0F8FF;"<br />
| 2 || [[SpellVisualKit.dbc|Parent SpellVisualKit ID]] || iRefID || <br />
|- style="background:#F0F8FF;"<br />
| 3 || [[SpellVisualEffectName.dbc|SpellVisualEffectName ID]] || iRefID || <br />
|- <br />
| 4 || Attachment ID || Integer || the parent model's [[M2#Attachments|attachment]], -1 for model's base position<br />
|- <br />
| 5 || Offset X || Float || Relative to the attachment<br />
|- <br />
| 6 || Offset Y || Float || <br />
|- <br />
| 7 || Offset Z || Float || <br />
|- <br />
| 8 || Yaw || Float || In radians<br />
|- <br />
| 9 || Pitch || Float || <br />
|- <br />
| 10 || Roll || Float || <br />
|- <br />
| 11 || Unk || Integer || <br />
|- style="background:#F0F8FF;"<br />
| 12 || [[AnimationData.dbc|Animation (Hold)]] || iRefID || Animation of the attached model while it is 'on' the character<br />
|- style="background:#F0F8FF;"<br />
| 13 || [[AnimationData.dbc|Animation (Birth)]] || iRefID || Animation for the attached model to play once when it is spawned<br />
|- style="background:#F0F8FF;"<br />
| 14 || [[AnimationData.dbc|Animation (Decay)]] || iRefID || Animation for the attached model to play as it despawns<br />
|}<br />
<br />
<br />
[[Category:DBC]]<br />
[[Category:DBC_WotLK]]<br />
[[Category:DBC_Cata]]<br />
[[Category:DBC_MoP]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/VehicleSeat&diff=23697
DB/VehicleSeat
2017-05-20T13:28:32Z
<p>Смердокрыл: Added a list of possible flags and flagsB</p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=3}}<br />
<br />
== Structure ==<br />
<br />
struct VehicleSeatEntry // sizeof(0x100)<br />
{<br />
m_ID; // +0x0, size 0x4, type 0 // 0<br />
m_flags; // +0x4, size 0x4, type 0 // 1<br />
m_attachmentID; // +0x8, size 0x4, type 0 // 2<br />
m_attachmentOffsetX; // +0xC, size 0x4, type 3 // 3<br />
m_attachmentOffsetY; // +0x10, size 0x4, type 3 // 4<br />
m_attachmentOffsetZ; // +0x14, size 0x4, type 3 // 5<br />
m_enterPreDelay; // +0x18, size 0x4, type 3 // 6<br />
m_enterSpeed; // +0x1C, size 0x4, type 3 // 7<br />
m_enterGravity; // +0x20, size 0x4, type 3 // 8<br />
m_enterMinDuration; // +0x24, size 0x4, type 3 // 9<br />
m_enterMaxDuration; // +0x28, size 0x4, type 3 // 10<br />
m_enterMinArcHeight; // +0x2C, size 0x4, type 3 // 11<br />
m_enterMaxArcHeight; // +0x30, size 0x4, type 3 // 12<br />
m_enterAnimStart; // +0x34, size 0x4, type 0 // 13<br />
m_enterAnimLoop; // +0x38, size 0x4, type 0 // 14<br />
m_rideAnimStart; // +0x3C, size 0x4, type 0 // 15<br />
m_rideAnimLoop; // +0x40, size 0x4, type 0 // 16<br />
m_rideUpperAnimStart; // +0x44, size 0x4, type 0 // 17<br />
m_rideUpperAnimLoop; // +0x48, size 0x4, type 0 // 18<br />
m_exitPreDelay; // +0x4C, size 0x4, type 3 // 19<br />
m_exitSpeed; // +0x50, size 0x4, type 3 // 20<br />
m_exitGravity; // +0x54, size 0x4, type 3 // 21<br />
m_exitMinDuration; // +0x58, size 0x4, type 3 // 22<br />
m_exitMaxDuration; // +0x5C, size 0x4, type 3 // 23<br />
m_exitMinArcHeight; // +0x60, size 0x4, type 3 // 24<br />
m_exitMaxArcHeight; // +0x64, size 0x4, type 3 // 25<br />
m_exitAnimStart; // +0x68, size 0x4, type 0 // 26<br />
m_exitAnimLoop; // +0x6C, size 0x4, type 0 // 27<br />
m_exitAnimEnd; // +0x70, size 0x4, type 0 // 28<br />
m_passengerYaw; // +0x74, size 0x4, type 3 // 29<br />
m_passengerPitch; // +0x78, size 0x4, type 3 // 30<br />
m_passengerRoll; // +0x7C, size 0x4, type 3 // 31<br />
m_passengerAttachmentID; // +0x80, size 0x4, type 0 // 32<br />
m_vehicleEnterAnim; // +0x84, size 0x4, type 0 // 33<br />
m_vehicleExitAnim; // +0x88, size 0x4, type 0 // 34<br />
m_vehicleRideAnimLoop; // +0x8C, size 0x4, type 0 // 35<br />
m_vehicleEnterAnimBone; // +0x90, size 0x4, type 0 // 36<br />
m_vehicleExitAnimBone; // +0x94, size 0x4, type 0 // 37<br />
m_vehicleRideAnimLoopBone; // +0x98, size 0x4, type 0 // 38<br />
m_vehicleEnterAnimDelay; // +0x9C, size 0x4, type 3 // 39<br />
m_vehicleExitAnimDelay; // +0xA0, size 0x4, type 3 // 40<br />
m_vehicleAbilityDisplay; // +0xA4, size 0x4, type 0 // 41<br />
m_enterUISoundID; // +0xA8, size 0x4, type 0 // 42<br />
m_exitUISoundID; // +0xAC, size 0x4, type 0 // 43<br />
m_uiSkin; // +0xB0, size 0x4, type 0 // 44<br />
m_flagsB; // +0xB4, size 0x4, type 0 // 45<br />
m_cameraEnteringDelay; // +0xB8, size 0x4, type 3 // 46 -- here and below: added in 3.1<br />
m_cameraEnteringDuration; // +0xBC, size 0x4, type 3 // 47<br />
m_cameraExitingDelay; // +0xC0, size 0x4, type 3 // 48<br />
m_cameraExitingDuration; // +0xC4, size 0x4, type 3 // 49<br />
m_cameraOffsetX; // +0xC8, size 0x4, type 3 // 50<br />
m_cameraOffsetY; // +0xCC, size 0x4, type 3 // 51<br />
m_cameraOffsetZ; // +0xD0, size 0x4, type 3 // 52<br />
m_cameraPosChaseRate; // +0xD4, size 0x4, type 3 // 53<br />
m_cameraFacingChaseRate; // +0xD8, size 0x4, type 3 // 54<br />
m_cameraEnteringZoom; // +0xDC, size 0x4, type 3 // 55<br />
m_cameraSeatZoomMin; // +0xE0, size 0x4, type 3 // 56<br />
m_cameraSeatZoomMax; // +0xE4, size 0x4, type 3 // 57<br />
m_enterAnimKitID; // +0xE8, size 0x4, type 0 // 58 -- here and below: added after 3.3.5a<br />
m_rideAnimKitID; // +0xEC, size 0x4, type 0 // 59<br />
m_exitAnimKitID; // +0xF0, size 0x4, type 0 // 60<br />
m_vehicleEnterAnimKitID; // +0xF4, size 0x4, type 0 // 61<br />
m_vehicleRideAnimKitID; // +0xF8, size 0x4, type 0 // 62<br />
m_vehicleExitAnimKitID; // +0xFC, size 0x4, type 0 // 63<br />
<br />
bool IsUsable() const { return m_flags & 0x2000000; }<br />
};<br />
<br />
==6.0.1.18179==<br />
struct VehicleSeatRec {<br />
uint32_t m_ID;<br />
uint32_t m_flags;<br />
uint32_t m_attachmentID; // apparently not directly the attachmentID, but mapped via g_vehicleGeoComponentLinks[] dd 14h, 22h, 13h, 15h, 16h, 11h, 17h, 18h, 19h, 0Fh, 10h, 25h, 26h, 27h, 28h, 29h, 2Ah, 2Bh, 2Ch, 2Dh, 2Eh, 0, 2Fh, 30h, 6, 5?<br />
float m_attachmentOffset[3];<br />
float m_enterPreDelay;<br />
float m_enterSpeed;<br />
float m_enterGravity;<br />
float m_enterMinDuration;<br />
float m_enterMaxDuration;<br />
float m_enterMinArcHeight;<br />
float m_enterMaxArcHeight;<br />
uint32_t m_enterAnimStart;<br />
uint32_t m_enterAnimLoop;<br />
uint32_t m_rideAnimStart;<br />
uint32_t m_rideAnimLoop;<br />
uint32_t m_rideUpperAnimStart;<br />
uint32_t m_rideUpperAnimLoop;<br />
float m_exitPreDelay;<br />
float m_exitSpeed;<br />
float m_exitGravity;<br />
float m_exitMinDuration;<br />
float m_exitMaxDuration;<br />
float m_exitMinArcHeight;<br />
float m_exitMaxArcHeight;<br />
uint32_t m_exitAnimStart;<br />
uint32_t m_exitAnimLoop;<br />
uint32_t m_exitAnimEnd;<br />
float m_passengerYaw;<br />
float m_passengerPitch;<br />
float m_passengerRoll;<br />
uint32_t m_passengerAttachmentID;<br />
uint32_t m_vehicleEnterAnim;<br />
uint32_t m_vehicleExitAnim;<br />
uint32_t m_vehicleRideAnimLoop;<br />
uint32_t m_vehicleEnterAnimBone;<br />
uint32_t m_vehicleExitAnimBone;<br />
uint32_t m_vehicleRideAnimLoopBone;<br />
float m_vehicleEnterAnimDelay;<br />
float m_vehicleExitAnimDelay;<br />
uint32_t m_vehicleAbilityDisplay;<br />
uint32_t m_enterUISoundID;<br />
uint32_t m_exitUISoundID;<br />
uint32_t m_flagsB;<br />
float m_cameraEnteringDelay;<br />
float m_cameraEnteringDuration;<br />
float m_cameraExitingDelay;<br />
float m_cameraExitingDuration;<br />
float m_cameraOffset[3];<br />
float m_cameraPosChaseRate;<br />
float m_cameraFacingChaseRate;<br />
float m_cameraEnteringZoom;<br />
float m_cameraSeatZoomMin;<br />
float m_cameraSeatZoomMax;<br />
uint32_t m_enterAnimKitID;<br />
uint32_t m_rideAnimKitID;<br />
uint32_t m_exitAnimKitID;<br />
uint32_t m_vehicleEnterAnimKitID;<br />
uint32_t m_vehicleRideAnimKitID;<br />
uint32_t m_vehicleExitAnimKitID;<br />
uint32_t m_cameraModeID;<br />
uint32_t m_flagsC;<br />
uint32_t m_uiSkinFileDataID;<br />
};<br />
<br />
==enum VEHICLE_SEAT_FLAGS==<br />
<br />
VEHICLE_SEAT_FLAG_HAS_LOWER_ANIM_FOR_ENTER = 0x00000001,<br />
VEHICLE_SEAT_FLAG_HAS_LOWER_ANIM_FOR_RIDE = 0x00000002,<br />
VEHICLE_SEAT_FLAG_UNK3 = 0x00000004,<br />
VEHICLE_SEAT_FLAG_SHOULD_USE_VEH_SEAT_EXIT_ANIM_ON_VOLUNTARY_EXIT = 0x00000008,<br />
VEHICLE_SEAT_FLAG_UNK5 = 0x00000010,<br />
VEHICLE_SEAT_FLAG_UNK6 = 0x00000020,<br />
VEHICLE_SEAT_FLAG_UNK7 = 0x00000040,<br />
VEHICLE_SEAT_FLAG_UNK8 = 0x00000080,<br />
VEHICLE_SEAT_FLAG_UNK9 = 0x00000100,<br />
VEHICLE_SEAT_FLAG_HIDE_PASSENGER = 0x00000200, // Passenger is hidden<br />
VEHICLE_SEAT_FLAG_ALLOW_TURNING = 0x00000400, // needed for CGCamera__SyncFreeLookFacing<br />
VEHICLE_SEAT_FLAG_CAN_CONTROL = 0x00000800, // Lua_UnitInVehicleControlSeat<br />
VEHICLE_SEAT_FLAG_CAN_CAST_MOUNT_SPELL = 0x00001000, // Can cast spells with SPELL_AURA_MOUNTED from seat (possibly 4.x only, 0 seats on 3.3.5a)<br />
VEHICLE_SEAT_FLAG_UNCONTROLLED = 0x00002000, // can override !& VEHICLE_SEAT_FLAG_CAN_ENTER_OR_EXIT<br />
VEHICLE_SEAT_FLAG_CAN_ATTACK = 0x00004000, // Can attack, cast spells and use items from vehicle<br />
VEHICLE_SEAT_FLAG_SHOULD_USE_VEH_SEAT_EXIT_ANIM_ON_FORCED_EXIT = 0x00008000,<br />
VEHICLE_SEAT_FLAG_UNK17 = 0x00010000,<br />
VEHICLE_SEAT_FLAG_UNK18 = 0x00020000, // Needs research and support (28 vehicles): Allow entering vehicles while keeping specific permanent(?) auras that impose visuals (states like beeing under freeze/stun mechanic, emote state animations).<br />
VEHICLE_SEAT_FLAG_HAS_VEH_EXIT_ANIM_VOLUNTARY_EXIT = 0x00040000,<br />
VEHICLE_SEAT_FLAG_HAS_VEH_EXIT_ANIM_FORCED_EXIT = 0x00080000,<br />
VEHICLE_SEAT_FLAG_PASSENGER_NOT_SELECTABLE = 0x00100000,<br />
VEHICLE_SEAT_FLAG_UNK22 = 0x00200000,<br />
VEHICLE_SEAT_FLAG_REC_HAS_VEHICLE_ENTER_ANIM = 0x00400000,<br />
VEHICLE_SEAT_FLAG_IS_USING_VEHICLE_CONTROLS = 0x00800000, // Lua_IsUsingVehicleControls<br />
VEHICLE_SEAT_FLAG_ENABLE_VEHICLE_ZOOM = 0x01000000,<br />
VEHICLE_SEAT_FLAG_CAN_ENTER_OR_EXIT = 0x02000000, // Lua_CanExitVehicle - can enter and exit at free will<br />
VEHICLE_SEAT_FLAG_CAN_SWITCH = 0x04000000, // Lua_CanSwitchVehicleSeats<br />
VEHICLE_SEAT_FLAG_HAS_START_WARITING_FOR_VEH_TRANSITION_ANIM_ENTER = 0x08000000,<br />
VEHICLE_SEAT_FLAG_HAS_START_WARITING_FOR_VEH_TRANSITION_ANIM_EXIT = 0x10000000,<br />
VEHICLE_SEAT_FLAG_CAN_CAST = 0x20000000, // Lua_UnitHasVehicleUI<br />
VEHICLE_SEAT_FLAG_UNK2 = 0x40000000, // checked in conjunction with 0x800 in CastSpell2<br />
VEHICLE_SEAT_FLAG_ALLOWS_INTERACTION = 0x80000000<br />
<br />
==enum VEHICLE_SEAT_FLAGS_B==<br />
<br />
VEHICLE_SEAT_FLAG_B_NONE = 0x00000000,<br />
VEHICLE_SEAT_FLAG_B_USABLE_FORCED = 0x00000002,<br />
VEHICLE_SEAT_FLAG_B_TARGETS_IN_RAIDUI = 0x00000008, // Lua_UnitTargetsVehicleInRaidUI<br />
VEHICLE_SEAT_FLAG_B_EJECTABLE = 0x00000020, // ejectable<br />
VEHICLE_SEAT_FLAG_B_USABLE_FORCED_2 = 0x00000040,<br />
VEHICLE_SEAT_FLAG_B_USABLE_FORCED_3 = 0x00000100,<br />
VEHICLE_SEAT_FLAG_B_KEEP_PET = 0x00020000,<br />
VEHICLE_SEAT_FLAG_B_USABLE_FORCED_4 = 0x02000000,<br />
VEHICLE_SEAT_FLAG_B_CAN_SWITCH = 0x04000000,<br />
VEHICLE_SEAT_FLAG_B_VEHICLE_PLAYERFRAME_UI = 0x80000000 // Lua_UnitHasVehiclePlayerFrameUI - actually checked for flagsb &~ 0x80000000<br />
<br />
[[Category:DBC]]<br />
[[Category:DBC_WotLK]]<br />
[[Category:DBC_WoD]]<br />
[[Category:6.0.1.18179]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/Vehicle&diff=23696
DB/Vehicle
2017-05-20T13:19:43Z
<p>Смердокрыл: </p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=3}}<br />
<br />
== Structure ==<br />
<br />
struct VehicleEntry<br />
{<br />
uint32 m_ID; // 0<br />
uint32 m_flags; // 1<br />
float m_turnSpeed; // 2<br />
float m_pitchSpeed; // 3<br />
float m_pitchMin; // 4<br />
float m_pitchMax; // 5<br />
uint32 m_seatID[8]; // 6-13<br />
float m_mouseLookOffsetPitch; // 14<br />
float m_cameraFadeDistScalarMin; // 15<br />
float m_cameraFadeDistScalarMax; // 16<br />
float m_cameraPitchOffset; // 17<br />
//int m_powerType[3]; // removed in 3.1<br />
//int m_powerToken[3]; // removed in 3.1<br />
float m_facingLimitRight; // 18<br />
float m_facingLimitLeft; // 19<br />
float m_msslTrgtTurnLingering; // 20<br />
float m_msslTrgtPitchLingering; // 21<br />
float m_msslTrgtMouseLingering; // 22<br />
float m_msslTrgtEndOpacity; // 23<br />
float m_msslTrgtArcSpeed; // 24<br />
float m_msslTrgtArcRepeat; // 25<br />
float m_msslTrgtArcWidth; // 26<br />
float m_msslTrgtImpactRadius[2]; // 27-28<br />
char* m_msslTrgtArcTexture; // 29<br />
char* m_msslTrgtImpactTexture; // 30<br />
char* m_msslTrgtImpactModel[2]; // 31-32<br />
float m_cameraYawOffset; // 33<br />
uint32 m_uiLocomotionType; // 34<br />
float m_msslTrgtImpactTexRadius; // 35<br />
uint32 m_uiSeatIndicatorType; // 36<br />
uint32 [[PowerDisplay.dbc|PowerDisplay]][3]; // 37-39 3.1+: power type and color (0 default, -1 do not use)<br />
};<br />
<br />
struct VehicleEntry // sizeof(0xA0)<br />
{<br />
m_ID; // +0x0, size 0x4, type 0<br />
m_flags; // +0x4, size 0x4, type 0<br />
m_turnSpeed; // +0x8, size 0x4, type 3<br />
m_pitchSpeed; // +0xC, size 0x4, type 3<br />
m_pitchMin; // +0x10, size 0x4, type 3<br />
m_pitchMax; // +0x14, size 0x4, type 3<br />
m_seatID; // +0x18, size 0x20, type 0<br />
m_mouseLookOffsetPitch; // +0x38, size 0x4, type 3<br />
m_cameraFadeDistScalarMin; // +0x3C, size 0x4, type 3<br />
m_cameraFadeDistScalarMax; // +0x40, size 0x4, type 3<br />
m_cameraPitchOffset; // +0x44, size 0x4, type 3<br />
m_facingLimitRight; // +0x48, size 0x4, type 3<br />
m_facingLimitLeft; // +0x4C, size 0x4, type 3<br />
m_msslTrgtTurnLingering; // +0x50, size 0x4, type 3<br />
m_msslTrgtPitchLingering; // +0x54, size 0x4, type 3<br />
m_msslTrgtMouseLingering; // +0x58, size 0x4, type 3<br />
m_msslTrgtEndOpacity; // +0x5C, size 0x4, type 3<br />
m_msslTrgtArcSpeed; // +0x60, size 0x4, type 3<br />
m_msslTrgtArcRepeat; // +0x64, size 0x4, type 3<br />
m_msslTrgtArcWidth; // +0x68, size 0x4, type 3<br />
m_msslTrgtImpactRadius; // +0x6C, size 0x8, type 3<br />
m_msslTrgtArcTexture; // +0x74, size 0x4, type 2<br />
m_msslTrgtImpactTexture; // +0x78, size 0x4, type 2<br />
m_msslTrgtImpactModel; // +0x7C, size 0x8, type 2<br />
m_cameraYawOffset; // +0x84, size 0x4, type 3<br />
m_uiLocomotionType; // +0x88, size 0x4, type 0<br />
m_msslTrgtImpactTexRadius; // +0x8C, size 0x4, type 3<br />
m_vehicleUIIndicatorID; // +0x90, size 0x4, type 0<br />
m_powerDisplayID; // +0x94, size 0xC, type 0<br />
};<br />
<br />
==6.0.1.18179==<br />
struct VehicleRec {<br />
uint32_t m_ID;<br />
uint32_t m_flags;<br />
uint32_t m_flagsB;<br />
float m_turnSpeed;<br />
float m_pitchSpeed;<br />
float m_pitchMin;<br />
float m_pitchMax;<br />
{{Template:Type/foreign_key|table=VehicleSeat}} m_seatID[8];<br />
float m_mouseLookOffsetPitch;<br />
float m_cameraFadeDistScalarMin;<br />
float m_cameraFadeDistScalarMax;<br />
float m_cameraPitchOffset;<br />
float m_facingLimitRight;<br />
float m_facingLimitLeft;<br />
float m_msslTrgtTurnLingering;<br />
float m_msslTrgtPitchLingering;<br />
float m_msslTrgtMouseLingering;<br />
float m_msslTrgtEndOpacity;<br />
float m_msslTrgtArcSpeed;<br />
float m_msslTrgtArcRepeat;<br />
float m_msslTrgtArcWidth;<br />
float m_msslTrgtImpactRadius[2];<br />
{{Template:Type|stringref}} m_msslTrgtArcTexture;<br />
{{Template:Type|stringref}} m_msslTrgtImpactTexture;<br />
{{Template:Type|stringref}} m_msslTrgtImpactModel[2];<br />
float m_cameraYawOffset;<br />
uint32_t m_uiLocomotionType;<br />
float m_msslTrgtImpactTexRadius;<br />
uint32_t m_vehicleUIIndicatorID;<br />
uint32_t m_powerDisplayID[3];<br />
};<br />
<br />
==enum POWER_TYPE==<br />
<br />
POWER_STEAM = 61,<br />
POWER_PYRITE = 41,<br />
POWER_HEAT = 101,<br />
POWER_OOZE = 121,<br />
POWER_BLOOD = 141,<br />
POWER_WRATH = 142,<br />
POWER_ARCANE_ENERGY = 143,<br />
POWER_LIFE_ENERGY = 144,<br />
POWER_SUN_ENERGY = 145,<br />
POWER_SWING_VELOCITY = 146,<br />
POWER_SHADOWFLAME_ENERGY = 147,<br />
POWER_BLUE_POWER = 148,<br />
POWER_PURPLE_POWER = 149,<br />
POWER_GREEN_POWER = 150,<br />
POWER_ORANGE_POWER = 151,<br />
POWER_ENERGY_2 = 153,<br />
POWER_ARCANEENERGY = 161,<br />
POWER_WIND_POWER_1 = 162,<br />
POWER_WIND_POWER_2 = 163,<br />
POWER_WIND_POWER_3 = 164,<br />
POWER_FUEL = 165,<br />
POWER_SUN_POWER = 166,<br />
POWER_TWILIGHT_ENERGY = 169,<br />
POWER_VENOM = 174,<br />
POWER_ORANGE_POWER_2 = 176,<br />
POWER_CONSUMING_FLAME = 177,<br />
POWER_PYROCLASTIC_FRENZY = 178,<br />
POWER_FLASHFIRE = 179,<br />
<br />
==enum VEHICLE_FLAGS==<br />
<br />
VEHICLE_FLAG_NO_STRAFE = 0x00000001, // Sets MOVEFLAG2_NO_STRAFE<br />
VEHICLE_FLAG_NO_JUMPING = 0x00000002, // Sets MOVEFLAG2_NO_JUMPING<br />
VEHICLE_FLAG_FULLSPEEDTURNING = 0x00000004, // Sets MOVEFLAG2_FULLSPEEDTURNING<br />
VEHICLE_FLAG_ALLOW_PITCHING = 0x00000010, // Sets MOVEFLAG2_ALLOW_PITCHING<br />
VEHICLE_FLAG_FULLSPEEDPITCHING = 0x00000020, // Sets MOVEFLAG2_FULLSPEEDPITCHING<br />
VEHICLE_FLAG_CUSTOM_PITCH = 0x00000040, // If set use pitchMin and pitchMax from DBC, otherwise pitchMin = -pi/2, pitchMax = pi/2<br />
VEHICLE_FLAG_ADJUST_AIM_ANGLE = 0x00000400, // Lua_IsVehicleAimAngleAdjustable<br />
VEHICLE_FLAG_ADJUST_AIM_POWER = 0x00000800, // Lua_IsVehicleAimPowerAdjustable<br />
VEHICLE_FLAG_FIXED_POSITION = 0x00200000 // Used for cannons, when they should be rooted<br />
<br />
[[Category:DBC]]<br />
[[Category:DBC_WotLK]]<br />
[[Category:DBC_Cata]]<br />
[[Category:DBC_WoD]]<br />
[[Category:6.0.1.18179]]</div>
Смердокрыл
https://wowdev.wiki/index.php?title=DB/Vehicle&diff=23695
DB/Vehicle
2017-05-20T13:19:24Z
<p>Смердокрыл: Added a list of possible power types and flags</p>
<hr />
<div><br />
{{Template:Sandbox/VersionRange|min_expansionlevel=3}}<br />
<br />
== Structure ==<br />
<br />
struct VehicleEntry<br />
{<br />
uint32 m_ID; // 0<br />
uint32 m_flags; // 1<br />
float m_turnSpeed; // 2<br />
float m_pitchSpeed; // 3<br />
float m_pitchMin; // 4<br />
float m_pitchMax; // 5<br />
uint32 m_seatID[8]; // 6-13<br />
float m_mouseLookOffsetPitch; // 14<br />
float m_cameraFadeDistScalarMin; // 15<br />
float m_cameraFadeDistScalarMax; // 16<br />
float m_cameraPitchOffset; // 17<br />
//int m_powerType[3]; // removed in 3.1<br />
//int m_powerToken[3]; // removed in 3.1<br />
float m_facingLimitRight; // 18<br />
float m_facingLimitLeft; // 19<br />
float m_msslTrgtTurnLingering; // 20<br />
float m_msslTrgtPitchLingering; // 21<br />
float m_msslTrgtMouseLingering; // 22<br />
float m_msslTrgtEndOpacity; // 23<br />
float m_msslTrgtArcSpeed; // 24<br />
float m_msslTrgtArcRepeat; // 25<br />
float m_msslTrgtArcWidth; // 26<br />
float m_msslTrgtImpactRadius[2]; // 27-28<br />
char* m_msslTrgtArcTexture; // 29<br />
char* m_msslTrgtImpactTexture; // 30<br />
char* m_msslTrgtImpactModel[2]; // 31-32<br />
float m_cameraYawOffset; // 33<br />
uint32 m_uiLocomotionType; // 34<br />
float m_msslTrgtImpactTexRadius; // 35<br />
uint32 m_uiSeatIndicatorType; // 36<br />
uint32 [[PowerDisplay.dbc|PowerDisplay]][3]; // 37-39 3.1+: power type and color (0 default, -1 do not use)<br />
};<br />
<br />
struct VehicleEntry // sizeof(0xA0)<br />
{<br />
m_ID; // +0x0, size 0x4, type 0<br />
m_flags; // +0x4, size 0x4, type 0<br />
m_turnSpeed; // +0x8, size 0x4, type 3<br />
m_pitchSpeed; // +0xC, size 0x4, type 3<br />
m_pitchMin; // +0x10, size 0x4, type 3<br />
m_pitchMax; // +0x14, size 0x4, type 3<br />
m_seatID; // +0x18, size 0x20, type 0<br />
m_mouseLookOffsetPitch; // +0x38, size 0x4, type 3<br />
m_cameraFadeDistScalarMin; // +0x3C, size 0x4, type 3<br />
m_cameraFadeDistScalarMax; // +0x40, size 0x4, type 3<br />
m_cameraPitchOffset; // +0x44, size 0x4, type 3<br />
m_facingLimitRight; // +0x48, size 0x4, type 3<br />
m_facingLimitLeft; // +0x4C, size 0x4, type 3<br />
m_msslTrgtTurnLingering; // +0x50, size 0x4, type 3<br />
m_msslTrgtPitchLingering; // +0x54, size 0x4, type 3<br />
m_msslTrgtMouseLingering; // +0x58, size 0x4, type 3<br />
m_msslTrgtEndOpacity; // +0x5C, size 0x4, type 3<br />
m_msslTrgtArcSpeed; // +0x60, size 0x4, type 3<br />
m_msslTrgtArcRepeat; // +0x64, size 0x4, type 3<br />
m_msslTrgtArcWidth; // +0x68, size 0x4, type 3<br />
m_msslTrgtImpactRadius; // +0x6C, size 0x8, type 3<br />
m_msslTrgtArcTexture; // +0x74, size 0x4, type 2<br />
m_msslTrgtImpactTexture; // +0x78, size 0x4, type 2<br />
m_msslTrgtImpactModel; // +0x7C, size 0x8, type 2<br />
m_cameraYawOffset; // +0x84, size 0x4, type 3<br />
m_uiLocomotionType; // +0x88, size 0x4, type 0<br />
m_msslTrgtImpactTexRadius; // +0x8C, size 0x4, type 3<br />
m_vehicleUIIndicatorID; // +0x90, size 0x4, type 0<br />
m_powerDisplayID; // +0x94, size 0xC, type 0<br />
};<br />
<br />
==6.0.1.18179==<br />
struct VehicleRec {<br />
uint32_t m_ID;<br />
uint32_t m_flags;<br />
uint32_t m_flagsB;<br />
float m_turnSpeed;<br />
float m_pitchSpeed;<br />
float m_pitchMin;<br />
float m_pitchMax;<br />
{{Template:Type/foreign_key|table=VehicleSeat}} m_seatID[8];<br />
float m_mouseLookOffsetPitch;<br />
float m_cameraFadeDistScalarMin;<br />
float m_cameraFadeDistScalarMax;<br />
float m_cameraPitchOffset;<br />
float m_facingLimitRight;<br />
float m_facingLimitLeft;<br />
float m_msslTrgtTurnLingering;<br />
float m_msslTrgtPitchLingering;<br />
float m_msslTrgtMouseLingering;<br />
float m_msslTrgtEndOpacity;<br />
float m_msslTrgtArcSpeed;<br />
float m_msslTrgtArcRepeat;<br />
float m_msslTrgtArcWidth;<br />
float m_msslTrgtImpactRadius[2];<br />
{{Template:Type|stringref}} m_msslTrgtArcTexture;<br />
{{Template:Type|stringref}} m_msslTrgtImpactTexture;<br />
{{Template:Type|stringref}} m_msslTrgtImpactModel[2];<br />
float m_cameraYawOffset;<br />
uint32_t m_uiLocomotionType;<br />
float m_msslTrgtImpactTexRadius;<br />
uint32_t m_vehicleUIIndicatorID;<br />
uint32_t m_powerDisplayID[3];<br />
};<br />
<br />
==enum POWER_TYPE==<br />
<br />
POWER_STEAM = 61,<br />
POWER_PYRITE = 41,<br />
POWER_HEAT = 101,<br />
POWER_OOZE = 121,<br />
POWER_BLOOD = 141,<br />
POWER_WRATH = 142,<br />
POWER_ARCANE_ENERGY = 143,<br />
POWER_LIFE_ENERGY = 144,<br />
POWER_SUN_ENERGY = 145,<br />
POWER_SWING_VELOCITY = 146,<br />
POWER_SHADOWFLAME_ENERGY = 147,<br />
POWER_BLUE_POWER = 148,<br />
POWER_PURPLE_POWER = 149,<br />
POWER_GREEN_POWER = 150,<br />
POWER_ORANGE_POWER = 151,<br />
POWER_ENERGY_2 = 153,<br />
POWER_ARCANEENERGY = 161,<br />
POWER_WIND_POWER_1 = 162,<br />
POWER_WIND_POWER_2 = 163,<br />
POWER_WIND_POWER_3 = 164,<br />
POWER_FUEL = 165,<br />
POWER_SUN_POWER = 166,<br />
POWER_TWILIGHT_ENERGY = 169,<br />
POWER_VENOM = 174,<br />
POWER_ORANGE_POWER_2 = 176,<br />
POWER_CONSUMING_FLAME = 177,<br />
POWER_PYROCLASTIC_FRENZY = 178,<br />
POWER_FLASHFIRE = 179,<br />
<br />
==enum VEHICLE_FLAGS==<br />
<br />
VEHICLE_FLAG_NO_STRAFE = 0x00000001, // Sets MOVEFLAG2_NO_STRAFE<br />
VEHICLE_FLAG_NO_JUMPING = 0x00000002, // Sets MOVEFLAG2_NO_JUMPING<br />
VEHICLE_FLAG_FULLSPEEDTURNING = 0x00000004, // Sets MOVEFLAG2_FULLSPEEDTURNING<br />
VEHICLE_FLAG_ALLOW_PITCHING = 0x00000010, // Sets MOVEFLAG2_ALLOW_PITCHING<br />
VEHICLE_FLAG_FULLSPEEDPITCHING = 0x00000020, // Sets MOVEFLAG2_FULLSPEEDPITCHING<br />
VEHICLE_FLAG_CUSTOM_PITCH = 0x00000040, // If set use pitchMin and pitchMax from DBC, otherwise pitchMin = -pi/2, pitchMax = pi/2<br />
VEHICLE_FLAG_ADJUST_AIM_ANGLE = 0x00000400, // Lua_IsVehicleAimAngleAdjustable<br />
VEHICLE_FLAG_ADJUST_AIM_POWER = 0x00000800, // Lua_IsVehicleAimPowerAdjustable<br />
VEHICLE_FLAG_FIXED_POSITION = 0x00200000 // Used for cannons, when they should be rooted<br />
<br />
{{Template:SectionBox/VersionRange|min_expansionlevel=4|min_build=4.0.1}}<br />
<br />
[[Category:DBC]]<br />
[[Category:DBC_WotLK]]<br />
[[Category:DBC_Cata]]<br />
[[Category:DBC_WoD]]<br />
[[Category:6.0.1.18179]]</div>
Смердокрыл