Core/Auras: Defined and implemented many new interrupt flags

Port From (https://github.com/TrinityCore/TrinityCore/commit/9b5a46ca2bb3a4632cb9914e0899df611a47d935)
This commit is contained in:
hondacrx
2021-03-28 15:49:12 -04:00
parent d93c4fc3cb
commit 0501481fcd
23 changed files with 257 additions and 169 deletions
+7 -4
View File
@@ -571,9 +571,9 @@ namespace Game
if (em == null)
return;
uint emote_anim = em.EmoteId;
Emote emoteAnim = (Emote)em.EmoteId;
switch ((Emote)emote_anim)
switch (emoteAnim)
{
case Emote.StateSleep:
case Emote.StateSit:
@@ -582,13 +582,13 @@ namespace Game
break;
case Emote.StateDance:
case Emote.StateRead:
GetPlayer().SetEmoteState((Emote)emote_anim);
GetPlayer().SetEmoteState(emoteAnim);
break;
default:
// Only allow text-emotes for "dead" entities (feign death included)
if (GetPlayer().HasUnitState(UnitState.Died))
break;
GetPlayer().HandleEmoteCommand((Emote)emote_anim);
GetPlayer().HandleEmoteCommand(emoteAnim);
break;
}
@@ -611,6 +611,9 @@ namespace Game
if (creature)
creature.GetAI().ReceiveEmote(GetPlayer(), (TextEmotes)packet.EmoteID);
}
if (emoteAnim != Emote.OneshotNone)
_player.RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags.Anim);
}
[WorldPacketHandler(ClientOpcodes.ChatReportIgnored)]