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