DB/SpellShapeshiftForm: Difference between revisions

From wowdev
Jump to navigation Jump to search
(One intermediate revision by the same user not shown)
Line 4: Line 4:
   uint32_t m_bonusActionBar;
   uint32_t m_bonusActionBar;
   {{Template:Type|langstringref}} m_name_lang;
   {{Template:Type|langstringref}} m_name_lang;
   uint32_t m_flags;      // &:1 forces false on CGUnit_C::IsShapeShifted. Only used by warrior stances, original form of CGUnit_C::CanCurrentFormMount
   uint32_t m_flags;      // &:1 only, see flags
  };
  };


Line 30: Line 30:


===Flags===
===Flags===
  0x0001 = CGUnit_C::CanCurrentFormMount; can interact?
  0x0001 = simulates not being shapeshifted to allow mounts/items/interactions i.e. warrior stances <code>CGUnit_C::IsShapeShifted</code>
  0x0002 = breaks on casting (stealth)
  0x0002 = prevents cancellation <code>Spell_C_CancelActiveSpell</code>
  0x0004 =  
  0x0004 =  
  0x0008 = can-interact-special? (if not &1)
  0x0008 = allows interaction <code>CGPlayer_C::HandleInteraction, CGGameObject_C_TypeBase::Use</code>
  0x0020 = modify AttackPowerForAGI
0x0010 =
  0x0100 = related to only_in_shapeshift
0x0020 = enables agility AP bonuses e.g. cat form <code>CGPlayer_C::GetAttackPowerContributionFromStat</code>; {{Template:Unverified|{{Template:Sandbox/VersionRange|min_expansionlevel=6|exclusive=0}} obsolete}}
  0x0400 =  
0x0040 = can equip items <code>CGItem_C::Use</code>
  0x1000 = something with EmoteSounds
  0x0080 = can use items <code>CGItem_C::Use</code>
  0x0100 = allows client to auto-unshift <code>CGUnit_C::CanAutoUnshift</code>
0x0200 = prevents LFG teleportation <code>Script_LFGTeleport</code>
  0x0400 = prevents the use of non-shapeshift form spells <code>CGUnit_C::CheckShapeshiftRules</code>
0x0800 = if <code>m_flags & 1 != 0</code>, cancels shapeshift when interacting with flight masters <code>CGUnit_C::IsCancelShapeshiftAtFlightMaster</code>
  0x1000 = prevents emote sounds <code>CGUnit_C::PlayTextEmoteSound</code>


==6.0.1.18179==
==6.0.1.18179==

Revision as of 19:43, 21 June 2018

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