DB/Emotes: Difference between revisions

From wowdev
Jump to navigation Jump to search
m (Reverted edits by Schlumpf (talk) to last revision by Barncastle)
mNo edit summary
Line 1: Line 1:
Information about /Emotes
Information about /Emotes


==0.5.3.3368==
struct EmoteFlags {
  struct EmotesRec
  prevent_animation    = 0x0002,
{
   
   uint32_t m_ID;
  is_talk              = 0x0008,
   {{Template:Type/foreign_key|table=AnimationData}} m_EmoteAnimID;
   is_question          = 0x0010,
   uint32_t m_EmoteFlags;      // See below also, &2: prevent animation, &0x800: force sheathe weapons, &0x4000: must be stationary else GERR_NOEMOTEWHILERUNNING
   is_exclamation        = 0x0020,
   uint32_t m_EmoteSpecProc;  // Used in <code>CGUnit_C::EmoteProcType</code>. Returns values from the below enum
   is_shout              = 0x0040,
  uint32_t m_EmoteSpecProcParam;
  is_laugh              = 0x0100,
  force_sheathe_weapons = 0x0800,
  must_be_stationary   = 0x4000,              // if moving, <tt>GERR_NOEMOTEWHILERUNNING</tt>
  };
  };
   
   
Line 19: Line 24:
  };
  };


==Structure==
==0.5.3.3368==
  '''Column Field Type Notes'''
  struct EmotesRec
  1 ID Integer The id.
  {
2 EmoteSlashCommand String
  uint32_t m_ID;
3 iRefID_[[AnimationData.dbc|AnimationData]] Integer Animation played on Emote.
  {{Template:Type/foreign_key|table=AnimationData}} m_EmoteAnimID;
4 EmoteFlags BitMask* 0x8: Talk, 0x10: Question, 0x20: Exclamation, 0x40: Shout, 0x100: Laugh. These are used for the chatting emotes.
  uint32_t m_EmoteFlags;
5 EmoteSpecProc Integer Theory: 0 = perform emote then revert; 1 = loop (emotes); 2 = loop states (ie stun).
  uint32_t m_EmoteSpecProc;                     // Used in <code>CGUnit_C::EmoteProcType</code>. Returns values from the below enum
                                                Actually, at some point in the code, a sound is only played if this is set to 2.
  uint32_t m_EmoteSpecProcParam;
6 EmoteSpecProcParam    Integer Hold the last frame of the animation. Only set for kneel, dead, sleep, at_ease and sit.
  };
Here the Animation is "Stand" all the time. It is most likely used to differ them.
  7 iRefID_[[SoundEntries.dbc|SoundEntries]] Integer A sound that is played on this emote.


==1.12.1.5875==
==1.12.1.5875==
Line 37: Line 40:
   {{Template:Type/foreign_key|table=AnimationData}} m_AnimID;
   {{Template:Type/foreign_key|table=AnimationData}} m_AnimID;
   uint32_t m_EmoteFlags;
   uint32_t m_EmoteFlags;
   uint32_t m_EmoteSpecProc;
   uint32_t m_EmoteSpecProc;                     // {{Unverified|1=0 = perform emote then revert; 1 = loop (emotes); 2 = loop states (ie stun).}}
                                                // {{Unverified|Actually, at some point in the code, a sound is only played if this is set to 2.}}
   uint32_t m_EmoteSpecProcParam;
   uint32_t m_EmoteSpecProcParam;
   {{Template:Type/foreign_key|table=SoundEntries}} m_EventSoundID;
   {{Template:Type/foreign_key|table=SoundEntries}} m_EventSoundID;
Line 45: Line 49:
  struct EmotesRec {
  struct EmotesRec {
   uint32_t m_ID;
   uint32_t m_ID;
   {{Template:Type|stringref}} m_EmoteSlashCommand;
   {{Type|stringref}} m_EmoteSlashCommand;
   {{Template:Type/foreign_key|table=AnimationData}} m_AnimID;
   {{Type/foreign_key|table=AnimationData}} m_AnimID;
   uint32_t m_EmoteFlags;
   uint32_t m_EmoteFlags;
   uint32_t m_EmoteSpecProc;
   uint32_t m_EmoteSpecProc;
   uint32_t m_EmoteSpecProcParam;
   uint32_t m_EmoteSpecProcParam;
   {{Template:Type/foreign_key|table=SoundEntries}} m_EventSoundID;
   {{Type/foreign_key|table=SoundEntries}} m_EventSoundID;
   {{Template:Type/foreign_key|table=SpellVisualKit}} m_SpellVisualKitID;
   {{Type/foreign_key|table=SpellVisualKit}} m_SpellVisualKitID;
  };
  };
[[Category:DBC]]
[[Category:DBC]]
[[Category:DBC_Alpha]]
[[Category:DBC_Alpha]]

Revision as of 16:14, 1 January 2020

Information about /Emotes

struct EmoteFlags {
  prevent_animation     = 0x0002,

  is_talk               = 0x0008,
  is_question           = 0x0010,
  is_exclamation        = 0x0020,
  is_shout              = 0x0040,

  is_laugh              = 0x0100,

  force_sheathe_weapons = 0x0800,

  must_be_stationary    = 0x4000,               // if moving, GERR_NOEMOTEWHILERUNNING
};

enum EMOTESPECPROCS
{
  EMOTESPECPROC_NONE = 0x0,
  EMOTESPECPROC_STANDSTATEHANDLER = 0x1,
  EMOTESPECPROC_EMOTESTATEHANDLER = 0x2,
  EMOTESPECPROC_NUMSPECPROCS = 0x3,
};

0.5.3.3368

struct EmotesRec
{
  uint32_t m_ID;
  foreign_key<uint32_t, &AnimationDataRec::m_ID> m_EmoteAnimID;
  uint32_t m_EmoteFlags;
  uint32_t m_EmoteSpecProc;                     // Used in CGUnit_C::EmoteProcType. Returns values from the below enum
  uint32_t m_EmoteSpecProcParam;
};

1.12.1.5875

struct EmotesRec {
  uint32_t m_ID;
  stringref m_EmoteSlashCommand;
  foreign_key<uint32_t, &AnimationDataRec::m_ID> m_AnimID;
  uint32_t m_EmoteFlags;
  uint32_t m_EmoteSpecProc;                     // 0 = perform emote then revert; 1 = loop (emotes); 2 = loop states (ie stun).
                                                // Actually, at some point in the code, a sound is only played if this is set to 2.
  uint32_t m_EmoteSpecProcParam;
  foreign_key<uint32_t, &SoundEntriesRec::m_ID> m_EventSoundID;
};

6.0.1.18179

struct EmotesRec {
  uint32_t m_ID;
  stringref m_EmoteSlashCommand;
  foreign_key<uint32_t, &AnimationDataRec::m_ID> m_AnimID;
  uint32_t m_EmoteFlags;
  uint32_t m_EmoteSpecProc;
  uint32_t m_EmoteSpecProcParam;
  foreign_key<uint32_t, &SoundEntriesRec::m_ID> m_EventSoundID;
  foreign_key<uint32_t, &SpellVisualKitRec::m_ID> m_SpellVisualKitID;
};