DB/SpellShapeshiftForm: Difference between revisions

From wowdev
Jump to navigation Jump to search
Line 30: Line 30:


===Flags===
===Flags===
  0x0001 = simulates not being shapeshifted to allow mounts/items/interactions i.e. warrior stances <code>CGUnit_C::IsShapeShifted</code>
  0x00001 = Stance // simulates not being shapeshifted to allow mounts/items/interactions i.e. warrior stances <code>CGUnit_C::IsShapeShifted</code>
  0x0002 = prevents cancellation <code>Spell_C_CancelActiveSpell</code>
  0x00002 = Not Toggleable       // prevents cancellation <code>Spell_C_CancelActiveSpell</code>
  0x0004 =  
  0x00004 = Persist On Death       //
  0x0008 = allows interaction <code>CGPlayer_C::HandleInteraction, CGGameObject_C_TypeBase::Use</code>
  0x00008 = Can Interact NPC       // allows interaction <code>CGPlayer_C::HandleInteraction, CGGameObject_C_TypeBase::Use</code>
  0x0010 =  
  0x00010 = Don't Use Weapon       //
  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}}
  0x00020 = Agility Attack Bonus       // enables agility AP bonuses e.g. cat form <code>CGPlayer_C::GetAttackPowerContributionFromStat</code>; {{Template:Unverified|{{Template:Sandbox/VersionRange|min_expansionlevel=6|exclusive=0}} obsolete}}
  0x0040 = can equip items <code>CGItem_C::Use</code>
  0x00040 = Can Use Equipped Items       // can equip items <code>CGItem_C::Use</code>
  0x0080 = can use items <code>CGItem_C::Use</code>
  0x00080 = Can Use Items       // can use items <code>CGItem_C::Use</code>
  0x0100 = allows client to auto-unshift <code>CGUnit_C::CanAutoUnshift</code>
  0x00100 = Don't Auto-Unshift       // allows client to auto-unshift <code>CGUnit_C::CanAutoUnshift</code>
  0x0200 = prevents LFG teleportation <code>Script_LFGTeleport</code>
  0x00200 = Considered Dead       // prevents LFG teleportation <code>Script_LFGTeleport</code>
  0x0400 = prevents the use of non-shapeshift form spells <code>CGUnit_C::CheckShapeshiftRules</code>
  0x00400 = Can Only Cast Shapeshift Spells       // 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>
  0x00800 = Stance Cancels At Flightmaster       // 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>
  0x01000 = No Emote Sounds       // prevents emote sounds <code>CGUnit_C::PlayTextEmoteSound</code>
0x02000 = No Trigger Teleport
0x04000 = Cannot change equipped items
0x08000 = Resummon Pets on Unshift
0x10000 = Cannot Use Game Objects


==6.0.1.18179==
==6.0.1.18179==

Revision as of 22:26, 25 August 2021

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