private void CheckPriorityAndPlay(Int32 p_charindex)
        {
            Boolean       flag          = false;
            Int32         num           = Int32.MaxValue;
            BarkEventArgs barkEventArgs = null;

            foreach (BarkEventArgs barkEventArgs2 in m_Barklist)
            {
                if (barkEventArgs2.priority < num && barkEventArgs2.character.Index == p_charindex)
                {
                    flag          = barkEventArgs2.onrecieve;
                    num           = barkEventArgs2.priority;
                    barkEventArgs = barkEventArgs2;
                }
            }
            if (barkEventArgs == null)
            {
                return;
            }
            if (!flag && !m_GotID)
            {
                String p_Category;
                String text;
                GenerateAudioID(barkEventArgs.character, barkEventArgs.barkclip, out p_Category, out text);
                PlayBark(barkEventArgs.character.Index, text);
            }
            else if (m_BarkBefore[p_charindex] != barkEventArgs.barkclip && !m_GotID)
            {
                String p_Category;
                String text;
                GenerateAudioID(barkEventArgs.character, barkEventArgs.barkclip, out p_Category, out text);
                CheckForOverlapping(barkEventArgs.barkclip, text, barkEventArgs.character.Index, p_Category);
            }
            m_BarkBefore[p_charindex] = barkEventArgs.barkclip;
        }
        private void BarkEventGeneric(Object p_sender, EventArgs p_args)
        {
            m_GetPriority = false;
            m_GotID       = false;
            BarkEventArgs barkEventArgs = (BarkEventArgs)p_args;

            if (barkEventArgs.priority == 100 || (barkEventArgs.priority == 0 && !m_GotID))
            {
                m_GotID = true;
                String text;
                String text2;
                GenerateAudioID(barkEventArgs.character, barkEventArgs.barkclip, out text, out text2);
                if (!AudioController.IsPlaying(text2))
                {
                    if (barkEventArgs.barkclip != "Quest" && barkEventArgs.barkclip != "QuestComplete" && barkEventArgs.barkclip != "Success" && barkEventArgs.barkclip != "Story1" && barkEventArgs.barkclip != "Story2" && barkEventArgs.barkclip != "Story3" && barkEventArgs.barkclip != "Story4" && barkEventArgs.barkclip != "Story5" && barkEventArgs.barkclip != "Story6" && barkEventArgs.barkclip != "Story7" && barkEventArgs.barkclip != "Story8" && barkEventArgs.barkclip != "Story9" && barkEventArgs.barkclip != "Story10" && barkEventArgs.barkclip != "Loot")
                    {
                        PlayBark(barkEventArgs.character.Index, text2);
                    }
                    else if (ConfigManager.Instance.Options.TriggerBarks && !ConfigManager.Instance.Game.ChineseVersion)
                    {
                        StartCoroutine(PlayLateBark(barkEventArgs.character.Index, text2));
                    }
                }
            }
            else if (!m_GetPriority && !m_GotID)
            {
                m_Barklist.Add(barkEventArgs);
                m_GetPriority = true;
            }
        }
        public void TriggerBark(EBarks p_BarkType, Character p_character)
        {
            BarkEventArgs barkEventArgs = GenerateBarkEventArgs(p_BarkType, p_character);

            if (!p_character.ConditionHandler.HasCondition(ECondition.UNCONSCIOUS) && !p_character.ConditionHandler.HasCondition(ECondition.DEAD) && barkEventArgs != null)
            {
                LegacyLogic.Instance.EventManager.InvokeEvent(p_character, EEventType.CHARACTER_BARK, barkEventArgs);
            }
        }
        private void BarkEventDelayed(Object p_sender, EventArgs p_args)
        {
            BarkEventArgs p_args2 = (BarkEventArgs)p_args;

            if (IsBarkEventDelayed(p_args2))
            {
                BarkEventGeneric(p_sender, p_args);
            }
        }
Example #5
0
        protected virtual void NotifyListeners(Party p_party)
        {
            BarkEventArgs[] array = new BarkEventArgs[4];
            for (Int32 i = 0; i < 4; i++)
            {
                Character member = p_party.GetMember(i);
                array[i] = member.BarkHandler.GenerateBarkEventArgs(EBarks.GET_HIT);
            }
            LegacyLogic.Instance.EventManager.InvokeEvent(this, EEventType.TRAP_TRIGGERED, new TrapEventArgs(m_staticData, m_parent, array));
            TrapTriggeredEventArgs p_args = new TrapTriggeredEventArgs(this);

            LegacyLogic.Instance.ActionLog.PushEntry(p_args);
        }
        private void AttackEvent(Object p_sender, EventArgs p_args)
        {
            m_GetPriority = false;
            m_GotID       = false;
            AttacksEventArgs attacksEventArgs = (AttacksEventArgs)p_args;

            foreach (AttacksEventArgs.AttackedTarget attackedTarget in attacksEventArgs.Attacks)
            {
                if (attackedTarget.BarkEventArgs != null)
                {
                    for (Int32 i = 0; i < attackedTarget.BarkEventArgs.Length; i++)
                    {
                        BarkEventArgs barkEventArgs = attackedTarget.BarkEventArgs[i];
                        if (barkEventArgs != null)
                        {
                            if (barkEventArgs.priority == 100 || (barkEventArgs.priority == 0 && !m_GotID))
                            {
                                String text;
                                String text2;
                                GenerateAudioID(barkEventArgs.character, barkEventArgs.barkclip, out text, out text2);
                                if (!AudioController.IsPlaying(text2))
                                {
                                    m_GotID = true;
                                    PlayBark(barkEventArgs.character.Index, text2);
                                }
                            }
                            else if (!m_GetPriority && !m_GotID)
                            {
                                m_Barklist.Add(barkEventArgs);
                                m_GetPriority = true;
                            }
                        }
                        if (i == attackedTarget.BarkEventArgs.Length - 1)
                        {
                            m_GetPriority = true;
                        }
                    }
                }
            }
        }
        private void TrapEvent(Object p_sender, EventArgs p_args)
        {
            m_GetPriority = false;
            m_GotID       = false;
            TrapEventArgs trapEventArgs = (TrapEventArgs)p_args;

            if (trapEventArgs.BarkEventArgs == null)
            {
                return;
            }
            for (Int32 i = 0; i < trapEventArgs.BarkEventArgs.Length; i++)
            {
                BarkEventArgs barkEventArgs = trapEventArgs.BarkEventArgs[i];
                if (barkEventArgs != null)
                {
                    if (barkEventArgs.priority == 100 || (barkEventArgs.priority == 0 && !m_GotID))
                    {
                        m_GotID = true;
                        String text;
                        String text2;
                        GenerateAudioID(barkEventArgs.character, barkEventArgs.barkclip, out text, out text2);
                        if (!AudioController.IsPlaying(text2))
                        {
                            PlayBark(barkEventArgs.character.Index, text2);
                        }
                    }
                    else if (!m_GetPriority && !m_GotID)
                    {
                        m_Barklist.Add(barkEventArgs);
                    }
                }
                if (i == trapEventArgs.BarkEventArgs.Length - 1)
                {
                    m_GetPriority = true;
                }
            }
        }
Example #8
0
 private void Bark(object sender, BarkEventArgs ea)
 {
 private Boolean IsBarkEventDelayed(BarkEventArgs p_args)
 {
     return(p_args.barkclip == "Poison" || p_args.barkclip == "Cursed" || p_args.barkclip == "Immobile" || p_args.barkclip == "Feeble" || p_args.barkclip == "Weak" || p_args.barkclip == "LevelUp");
 }