DB/SpellShapeshiftForm

From wowdev
Jump to: navigation, search

0.5.3.3368

struct SpellShapeshiftFormRec {
  uint32_t m_ID;
  uint32_t m_bonusActionBar;
  langstringref m_name_lang;
  uint32_t m_flags;      // &:1 only, see flags
};

1.12.1.5875

struct SpellShapeshiftFormRec {
  uint32_t m_ID;
  uint32_t m_bonusActionBar;
  langstringref m_name_lang;
  uint32_t m_flags; 
  uint32_t m_creatureType;
  uint32_t spell_icon;
};

Structure

Column 	Field 			Type 		Notes 
1 	ID 			Integer 	
2 	ActionBar 		Integer 	
3-19 	Name 			Loc	
20 	Flags 			BitMask		
21 	CreatureType 		Integer 	-1 or 0 for getting overwritten by race or server.
22 	SpellIcon 		Integer 	Instead of "Interface\\Buttons\\Spell-Reset"	
23 	combatRoundTime 	Integer 	Only druid stances have a value. {2500, 1000} Default: 2000, has something to do with spellmanacost; attack speed in ms? - Maybe GlobalCooldown?
24-25 	DisplayID[4] 		Integer 	{Alliance, Horde}
28-35 	presetSpellID[8]	Integer 	Used for "Zombie", "Ghul", "Test", "Tharon'ja", available spells

Flags

0x0001 = simulates not being shapeshifted to allow mounts/items/interactions i.e. warrior stances CGUnit_C::IsShapeShifted
0x0002 = prevents cancellation Spell_C_CancelActiveSpell
0x0004 = 
0x0008 = allows interaction CGPlayer_C::HandleInteraction, CGGameObject_C_TypeBase::Use
0x0010 = 
0x0020 = enables agility AP bonuses e.g. cat form CGPlayer_C::GetAttackPowerContributionFromStat; ≥ WoD obsolete
0x0040 = can equip items CGItem_C::Use
0x0080 = can use items CGItem_C::Use
0x0100 = allows client to auto-unshift CGUnit_C::CanAutoUnshift
0x0200 = prevents LFG teleportation Script_LFGTeleport
0x0400 = prevents the use of non-shapeshift form spells CGUnit_C::CheckShapeshiftRules
0x0800 = if m_flags & 1 != 0, cancels shapeshift when interacting with flight masters CGUnit_C::IsCancelShapeshiftAtFlightMaster
0x1000 = prevents emote sounds CGUnit_C::PlayTextEmoteSound

6.0.1.18179

struct SpellShapeshiftFormRec {
  uint32_t m_ID;
  uint32_t m_bonusActionBar;
  langstringref m_name_lang;
  uint32_t m_flags;
  uint32_t m_creatureType;
  uint32_t m_attackIconID;
  uint32_t m_combatRoundTime;
  uint32_t m_creatureDisplayID[4];
  uint32_t m_presetSpellID[8];
  uint32_t m_mountTypeID;
  uint32_t m_exitSoundEntriesID;
};