コード例 #1
0
        public override void ReceiveEmote(Player player, TextEmotes emote)
        {
            me.HandleEmoteCommand((Emote)emote);
            Unit owner = me.GetOwner();

            if (emote != TextEmotes.Kiss || !owner || !owner.IsTypeId(TypeId.Player) ||
                owner.ToPlayer().GetTeam() != player.GetTeam())
            {
                return;
            }

            Talk(SayMojo, player);

            if (!_victimGUID.IsEmpty())
            {
                Player victim = Global.ObjAccessor.GetPlayer(me, _victimGUID);
                if (victim)
                {
                    victim.RemoveAura(SpellFeelingFroggy);
                }
            }

            _victimGUID = player.GetGUID();

            DoCast(player, SpellFeelingFroggy, true);
            DoCast(me, SpellSeductionVisual, true);
            me.GetMotionMaster().MoveFollow(player, 0.0f, 0.0f);
        }
コード例 #2
0
        public void DoReplyToTextEmote(TextEmotes emote)
        {
            switch (emote)
            {
            case TextEmotes.Kiss:
                me.HandleEmoteCommand(Emote.OneshotBow);
                break;

            case TextEmotes.Wave:
                me.HandleEmoteCommand(Emote.OneshotWave);
                break;

            case TextEmotes.Salute:
                me.HandleEmoteCommand(Emote.OneshotSalute);
                break;

            case TextEmotes.Shy:
                me.HandleEmoteCommand(Emote.OneshotFlex);
                break;

            case TextEmotes.Rude:
            case TextEmotes.Chicken:
                me.HandleEmoteCommand(Emote.OneshotPoint);
                break;
            }
        }
コード例 #3
0
        public EmoteChatMessageRequest(TextEmotes emote, uint emoteNumber, ObjectGuid guid)
        {
            if (!Enum.IsDefined(typeof(TextEmotes), emote))
            {
                throw new ArgumentOutOfRangeException(nameof(emote), "Value should be defined in the TextEmotes enum.");
            }

            UnknownEmoteNumber = emoteNumber;
            Emote       = emote;
            EmoteTarget = guid;
        }
コード例 #4
0
        public CMSG_TEXT_EMOTE_Payload(TextEmotes emote, uint emoteNumber, ObjectGuid guid)
            : this()
        {
            if (!Enum.IsDefined(typeof(TextEmotes), emote))
            {
                throw new ArgumentOutOfRangeException(nameof(emote), "Value should be defined in the TextEmotes enum.");
            }

            UnknownEmoteNumber = emoteNumber;
            Emote       = emote;
            EmoteTarget = guid;
        }
コード例 #5
0
        public override void ReceiveEmote(Player player, TextEmotes textEmote)
        {
            switch (me.GetEntry())
            {
            case CreatureIds.StormwindCityGuard:
            case CreatureIds.StormwindCityPatroller:
            case CreatureIds.OrgimmarGrunt:
                break;

            default:
                return;
            }

            if (!me.IsFriendlyTo(player))
            {
                return;
            }

            DoReplyToTextEmote(textEmote);
        }
コード例 #6
0
ファイル: PetAI.cs プロジェクト: uvbs/CypherCore
        public override void ReceiveEmote(Player player, TextEmotes emoteId)
        {
            if (!me.GetOwnerGUID().IsEmpty() && me.GetOwnerGUID() == player.GetGUID())
            {
                switch (emoteId)
                {
                case TextEmotes.Cower:
                    if (me.IsPet() && me.ToPet().IsPetGhoul())
                    {
                        me.HandleEmoteCommand(Emote.OneshotOmnicastGhoul);
                    }
                    break;

                case TextEmotes.Angry:
                    if (me.IsPet() && me.ToPet().IsPetGhoul())
                    {
                        me.HandleEmoteCommand(Emote.StateStun);
                    }
                    break;

                case TextEmotes.Glare:
                    if (me.IsPet() && me.ToPet().IsPetGhoul())
                    {
                        me.HandleEmoteCommand(Emote.StateStun);
                    }
                    break;

                case TextEmotes.Soothe:
                    if (me.IsPet() && me.ToPet().IsPetGhoul())
                    {
                        me.HandleEmoteCommand(Emote.OneshotOmnicastGhoul);
                    }
                    break;
                }
            }
        }
コード例 #7
0
ファイル: SmartAI.cs プロジェクト: uvbs/CypherCore
 public override void ReceiveEmote(Player player, TextEmotes emoteId)
 {
     GetScript().ProcessEventsFor(SmartEvents.ReceiveEmote, player, (uint)emoteId);
 }
コード例 #8
0
 // Called at text emote receive from player
 public virtual void ReceiveEmote(Player player, TextEmotes emoteId)
 {
 }
コード例 #9
0
ファイル: Emotes.cs プロジェクト: krullgor/AIO-Sandbox
 public static uint Get(TextEmotes emote) => emoteLookup.ContainsKey(emote) ? emoteLookup[emote] : 0;