DB/SpellShapeshiftForm

From wowdev
Revision as of 22:26, 25 August 2021 by T1ti (talk | contribs) (→‎Flags)
Jump to navigation Jump to 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

0x00001 = Stance // simulates not being shapeshifted to allow mounts/items/interactions i.e. warrior stances CGUnit_C::IsShapeShifted
0x00002 = Not Toggleable	       // prevents cancellation Spell_C_CancelActiveSpell
0x00004 = Persist On Death	       // 
0x00008 = Can Interact NPC	       // allows interaction CGPlayer_C::HandleInteraction, CGGameObject_C_TypeBase::Use
0x00010 = Don't Use Weapon	       // 
0x00020 = Agility Attack Bonus	       // enables agility AP bonuses e.g. cat form CGPlayer_C::GetAttackPowerContributionFromStat; ≥ WoD obsolete
0x00040 = Can Use Equipped Items	       // can equip items CGItem_C::Use
0x00080 = Can Use Items	       // can use items CGItem_C::Use
0x00100 = Don't Auto-Unshift	       // allows client to auto-unshift CGUnit_C::CanAutoUnshift
0x00200 = Considered Dead	       // prevents LFG teleportation Script_LFGTeleport
0x00400 = Can Only Cast Shapeshift Spells	       // prevents the use of non-shapeshift form spells CGUnit_C::CheckShapeshiftRules
0x00800 = Stance Cancels At Flightmaster	       // if m_flags & 1 != 0, cancels shapeshift when interacting with flight masters CGUnit_C::IsCancelShapeshiftAtFlightMaster
0x01000 = No Emote Sounds	       // prevents emote sounds CGUnit_C::PlayTextEmoteSound
0x02000 = No Trigger Teleport	
0x04000 = Cannot change equipped items	
0x08000 = Resummon Pets on Unshift	
0x10000 = Cannot Use Game Objects

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;
};