diff --git a/env/combatlog_deDE.lua b/env/combatlog_deDE.lua
index 3e357e6c..e96a76fe 100644
--- a/env/combatlog_deDE.lua
+++ b/env/combatlog_deDE.lua
@@ -470,6 +470,11 @@ pfUI_locale["deDE"]["combatlog"] = {
ACTION_UNIT_DISSIPATES_POSSESSIVE = "0",
ADD = "Hinzufügen",
ADDITIONAL_FILTERS = "Zusätzliche Filter",
+ ADD_FILTER = "Filter hinz.",
+ AURAS = "Auren",
+ AURAS_COMBATLOG_TOOLTIP = "Zeigt Nachrichten über vorteilhafte und schädliche Statuseffekte an.",
+ BENEFICIAL = "Vorteilhaft",
+ BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "Anzeigen, wenn Ihr eine vorteilhafte Aura erhaltet oder verliert.",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "Alles anzeigen, das %s betrifft?",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "Alles anzeigen",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "Was ist mit %s geschehen?",
@@ -479,21 +484,149 @@ pfUI_locale["deDE"]["combatlog"] = {
BLIZZARD_COMBAT_LOG_MENU_SAVE = "Als neuen Filter speichern",
BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE = "Nachrichten wie diese ausblenden.",
BLIZZARD_COMBAT_LOG_MENU_SPELL_LINK = "%s zum Chat verlinken.",
+ BY_SOURCE = "Nach Quelle",
+ BY_SOURCE_COMBATLOG_TOOLTIP = "Zeilenfarbe basierend auf dem Zaubernden.",
+ BY_TARGET = "Nach Ziel",
+ BY_TARGET_COMBATLOG_TOOLTIP = "Zeilenfarbe basierend auf dem Ziel.",
+ COLORIZE = "Einfärben:",
+ COLORS = "Farben",
+ COLOR_BY_SCHOOL = "Farbe nach Art",
+ COMBATLOG_DEFAULTS = "Kampflog: Standard",
+ COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "Benutzerdefinierte Einheit",
+ COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "Freundliche Einheiten",
+ COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "Gegnerische Spieler",
+ COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "Feindliche Einheiten",
+ COMBATLOG_FILTER_STRING_ME = "Spieler",
+ COMBATLOG_FILTER_STRING_MY_PET = "Begleiter",
+ COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "Neutrale Einheiten",
+ COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "Unbekannt",
+ COMBATLOG_HIGHLIGHT_ABILITY = "Fähigkeit",
+ COMBATLOG_HIGHLIGHT_DAMAGE = "Schaden",
+ COMBATLOG_HIGHLIGHT_KILL = "Sieg",
+ COMBATLOG_HIGHLIGHT_SCHOOL = "Magieart",
COMBATLOG_UNKNOWN_UNIT = "Etwas",
COMBAT_FACTION_CHANGE = "Ruf",
COMBAT_HONOR_GAIN = "Ehre",
COMBAT_LOG_UNIT_YOU_ENABLED = "1",
COMBAT_MISC_INFO = "Versch. Infos",
COMBAT_XP_GAIN = "Erfahrung",
+ CONFIRM_COMBAT_FILTER_DEFAULTS = "Wollt Ihr Eure Filter wirklich auf die Standardeinstellungen zurücksetzen?",
+ CONFIRM_COMBAT_FILTER_DELETE = "Wollt Ihr diesen Filter wirklich löschen?",
+ COPY_FILTER = "Filter kop.",
+ DAMAGE_NUMBER = "Schadenszahl",
+ DAMAGE_SCHOOL_TEXT = "Schadensart",
DAMAGE_SHIELD = "Schadensschilde",
+ DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit als Reaktion auf einen Nahkampfangriff Schaden verursacht, z.B. Dornen.",
+ DEATHS_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn etwas stirbt.",
DEFAULT_COMBATLOG_FILTER_NAME = "Filter %d",
+ DISPELS = "Bannungen",
+ DISPEL_AURA_COMBATLOG_TOOLTIP = "Anzeigen, wenn eine Aura entfernt, unterbrochen oder gestohlen wird.",
+ DONE_BY = "Aktion von:",
+ DONE_TO = "Aktion auf:",
+ DRAINS = "Entzüge",
ENTER_FILTER_NAME = "Filternamen eingeben:",
+ ENTIRE_LINE = "Gesamte Zeile",
+ ENTIRE_LINE_COMBATLOG_TOOLTIP = "Die gesamte Zeile basierend auf der unteren Auswahl einfärben.",
ENVIRONMENTAL_DAMAGE = "Umgebungsschaden",
+ ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn jemand Schaden durch Stürze, durch Ertrinken oder das Schwimmen in Lava erhält.",
+ EXAMPLE_SPELL_FIREBALL = "Feuerball",
+ EXAMPLE_SPELL_FROSTBOLT = "Frostblitz",
+ EXAMPLE_TARGET_MONSTER = "Monster",
+ EXAMPLE_TEXT = "Beispieltext:",
+ EXTRA_ATTACKS = "Zusatzangriffe",
+ FAILURES = "Fehlschläge",
+ FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "Aktionen, die von feindlichen Kreaturen und Begleitern durchgeführt werden.",
+ FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "Aktionen, die von freundlichen Spielern, Begleitern und Kreaturen durchgeführt werden.",
+ FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Aktionen, die von feindlichen Spielern durchgeführt werden.",
+ FILTER_BY_ME_COMBATLOG_TOOLTIP = "Aktionen, die von Euch, Euren Fallen und Euren Zaubern durchgeführt werden.",
+ FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "Aktionen, die von neutralen Kreaturen durchgeführt werden.",
+ FILTER_BY_PET_COMBATLOG_TOOLTIP = "Aktionen, die von Euren Begleitern, beschworenen Wächtern oder von Euch bezauberten Spielern durchgeführt werden.",
+ FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "Aktionen, die von unbestimmten Quellen durchgeführt werden, so wie Sturz, Säure oder Lava.",
+ FILTER_NAME = "Filtername",
+ FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "Aktionen, die auf freundliche Spieler, Begleiter und Kreaturen durchgeführt werden.",
+ FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "Aktionen, die auf feindliche Begleiter und Kreaturen durchgeführt werden.",
+ FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Aktionen, die auf gegnerische Spieler durchgeführt werden.",
+ FILTER_TO_ME_COMBATLOG_TOOLTIP = "Aktionen, die auf Euch durchgeführt werden.",
+ FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "Aktionen, die auf neutrale Kreaturen durchgeführt werden.",
+ FILTER_TO_PET_COMBATLOG_TOOLTIP = "Aktionen, die auf Eure Begleiter, beschworene Wächter oder von Euch bezauberte Spieler durchgeführt werden.",
+ FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "Aktionen, die auf unsichtbare Ziele durchgeführt werden.",
+ FORMATTING = "Format",
+ FULL_TEXT_COMBATLOG_TOOLTIP = "Kampflogeinträge als vollständige Sätze anzeigen.",
+ HARMFUL_AURA_COMBATLOG_TOOLTIP = "Anzeigen, wenn Ihr eine schädliche Aura erhaltet oder verliert.",
+ HEALS = "Heilungen",
+ HIGHLIGHTING = "Hervorhebung:",
+ HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "Hebt in den Kampfnachrichten die Namen von Fähigkeiten hervor.",
+ HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "Hebt in den Kampfnachrichten die Schadenszahlen hervor.",
+ HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "Hebt die gesamte Zeile hervor, wenn Ihr oder ein Mitglied Eurer Gruppe einen Feind besiegt.",
+ HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "Hebt in den Kampfnachrichten die Zauberarten hervor.",
+ HOSTILE = "Feindlich",
+ INTERRUPTS = "Unterbrechungen",
+ ITEM_NAMES = "Gegenstandsnamen",
+ ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Klammern um Namen von Gegenständen anzeigen.",
+ KILLS_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Mitglied Eurer Gruppe etwas tötet.",
+ MELEE = "Nahkampf",
+ MELEE_COMBATLOG_TOOLTIP = "Zeigt gewöhnliche Nahkampfangriffe an.",
+ MESSAGE_SOURCES = "Nachrichtenquellen",
+ MISSES = "Verfehlen",
+ MOVE_FILTER_DOWN = "Filter nach unten",
+ MOVE_FILTER_UP = "Filter nach oben",
+ OTHER = "Anderes",
+ PERIODIC = "Regelmäßig",
+ POWER_GAINS = "Machtgewinn",
+ POWER_GAINS_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit Mana, Energie, Wut, Fokus, Chi, heilige Kraft oder Schattenkugeln wiederherstellt.",
+ QUICKBUTTON_NAME_EVERYTHING = "Alles",
+ QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "Alle Kampfnachrichten anzeigen.",
+ QUICKBUTTON_NAME_KILLS = "Todesstöße",
+ QUICKBUTTON_NAME_KILLS_TOOLTIP = "Alle Tode und Todesstöße anzeigen.",
QUICKBUTTON_NAME_ME = "Was ist mit mir geschehen?",
QUICKBUTTON_NAME_ME_TOOLTIP = "Alles mir Zugefügte anzeigen.",
- QUICKBUTTON_NAME_MY_ACTIONS = "Meine Aktionen",
- QUICKBUTTON_NAME_MY_ACTIONS_TOOLTIP = "Zeigt Nachrichten für von Euch ausgeführte Aktionen.",
+ QUICKBUTTON_NAME_SELF = "Self",
+ QUICKBUTTON_NAME_SELF_TOOLTIP = "Show messages of actions done by you and done to you.",
+ QUICK_BUTTON_COMBATLOG_TOOLTIP = "Platziert im Chatfenster eine Verknüpfung zu diesem Filter.",
+ RANGED = "Distanz",
+ RANGED_COMBATLOG_TOOLTIP = "Zeigt Angriffe mit Bögen, Schusswaffen, Wurfwaffen und Zauberstäben an.",
+ RANGE_DAMAGE_COMBATLOG_TOOLTIP = "Zeigt Distanzangriffe an, die den vollen oder teilweisen Schaden verursachen.",
+ RANGE_MISSED_COMBATLOG_TOOLTIP = "Zeigt fehlgeschlagene Distanzangriffe an, die keinen Schaden verursachen.",
+ RESURRECT = "Wiederbelebung",
+ SETTINGS = "Optionen",
+ SHOW_BRACES = "Klammern anzeigen",
+ SHOW_BRACES_COMBATLOG_TOOLTIP = "Klammern um Hyperlinks im Kampflog anzeigen.",
+ SHOW_QUICK_BUTTON = "Schnelltaste anzeigen",
+ SHOW_TIMESTAMP = "Zeitstempel anzeigen",
+ SOURCE = "Quelle",
+ SPECIAL = "Spezial",
+ SPELLS_COMBATLOG_TOOLTIP = "Zeigt Nachrichten über Zauber und Spezialfähigkeiten an.",
+ SPELL_CASTING = "Zauberwirken",
+ SPELL_CASTING_COMBATLOG_TOOLTIP = "Nachrichten über das Wirken von Zaubern anzeigen.",
+ SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber nicht gewirkt werden kann oder nicht abgeschlossen wird.",
+ SPELL_CAST_START_COMBATLOG_TOOLTIP = "Nachricht anzeigen, wenn das Wirken eines Zaubers begonnen wird.",
+ SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber erfolgreich abgeschlossen wird.",
+ SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "Zauber basierend auf der Art einfärben.",
+ SPELL_DAMAGE_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit Schaden verursacht.",
+ SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "Färbt die Schadenszahl von Schwüngen, die nicht im Nahkampf stattfinden.",
+ SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "Den Namen der Schadensart einfärben. (z.B. Schatten)",
+ SPELL_DRAIN_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit Mana, Energie, Wut oder Fokus verringert.",
+ SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit zusätzliche Angriffe gewährt.",
+ SPELL_HEAL_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit Schaden heilt.",
+ SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "Nachrichten über spezielle Zauberarten anzeigen, die beispielsweise Haltbarkeitsverlust verursachen oder Schaden mit einem Begleiter teilen.",
+ SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit einen anderen Zauber unterbricht.",
+ SPELL_MISSED_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit keinen Schaden verursachen kann. Das schließt Ausweichen, Parieren, Blocken, Abwehren, Immunität, Absorbieren und Entkommen ein.",
+ SPELL_NAMES = "Zaubernamen",
+ SPELL_NAMES_COMBATLOG_TOOLTIP = "Namen von Zaubern einfärben.",
+ SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Klammern um Namen von Zaubern anzeigen.",
+ SPELL_PERIODIC_COMBATLOG_TOOLTIP = "Zauber anzeigen, die einen regelmäßigen Effekt ausführen.",
+ SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit regelmäßigen Schaden verursacht, z.B. Schattenwort: Schmerz oder Verderbnis.",
+ SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit regelmäßig Schaden heilt, z.B. Erneuerung oder Verjüngung.",
+ SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn der regelmäßige Schaden eines Zaubers oder einer Fähigkeit versagt. Das schließt Immunität, Absorbieren und Entkommen ein.",
+ SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit regelmäßig einen Effekt ausführt, z.B. das Wiederherstellen oder Entziehen von Mana.",
+ SPELL_RESURRECT_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit einen Spieler oder eine Kreatur wiedererweckt.",
+ SPELL_SUMMON_COMBATLOG_TOOLTIP = "Nachricht anzeigen, wenn ein Zauber oder eine Fähigkeit eine Kreatur beschwört oder ein Objekt erschafft.",
+ START = "Start",
STRING_SCHOOL_UNKNOWN = "Unbekannt",
+ SUCCESS = "Erfolg",
+ SUMMONS = "Herbeiruf.",
+ SWING_DAMAGE_COMBATLOG_TOOLTIP = "Zeigt Nahkampfangriffe an, die den vollen oder teilweise Schaden verursachen.",
+ SWING_MISSED_COMBATLOG_TOOLTIP = "Zeigt fehlgeschlagene Nahkampfangriffe an, die keinen Schaden verursachen.",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%s %s %s %s %s. %s %11$s",
TEXT_MODE_A_STRING_2 = "%1$s %3$s %2$s %4$s %5$s. %6$s",
@@ -530,9 +663,15 @@ pfUI_locale["deDE"]["combatlog"] = {
TEXT_MODE_A_STRING_VALUE_SCHOOL = "%s %s",
TEXT_MODE_A_STRING_VALUE_TYPE = "%s (%s)",
TEXT_MODE_A_TIMESTAMP = "%H:%M:%S",
+ TIMESTAMP_COMBATLOG_TOOLTIP = "Den Zeitstempel für Nachrichten im Kampflog anzeigen.",
+ UNIT_COLORS = "Einheitenfarben:",
+ UNIT_NAMES = "Einheitennamen",
+ UNIT_NAMES_COMBATLOG_TOOLTIP = "Namen von Einheiten einfärben.",
+ UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Klammern um Namen von Einheiten anzeigen.",
UNIT_YOU = "Ihr",
UNIT_YOU_DEST = "Euch",
UNIT_YOU_DEST_POSSESSIVE = "Euer",
UNIT_YOU_SOURCE = "Euer Charakter",
UNIT_YOU_SOURCE_POSSESSIVE = "Euer",
+ USE_FULL_TEXT_MODE = "Volltextmodus verwenden",
}
diff --git a/env/combatlog_enUS.lua b/env/combatlog_enUS.lua
index b6f0b060..19206ba1 100644
--- a/env/combatlog_enUS.lua
+++ b/env/combatlog_enUS.lua
@@ -470,6 +470,11 @@ pfUI_locale["enUS"]["combatlog"] = {
ACTION_UNIT_DISSIPATES_POSSESSIVE = "0",
ADD = "Add",
ADDITIONAL_FILTERS = "Additional Filters",
+ ADD_FILTER = "Add Filter",
+ AURAS = "Auras",
+ AURAS_COMBATLOG_TOOLTIP = "Shows message about beneficial and harmful state effects.",
+ BENEFICIAL = "Beneficial",
+ BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "Show when you gain or lose a beneficial aura.",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "Show everything involving %s?",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "Show everything",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "What happened to %s?",
@@ -479,21 +484,149 @@ pfUI_locale["enUS"]["combatlog"] = {
BLIZZARD_COMBAT_LOG_MENU_SAVE = "Save as a new filter",
BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE = "Hide messages like this one.",
BLIZZARD_COMBAT_LOG_MENU_SPELL_LINK = "Link %s to chat.",
+ BY_SOURCE = "By Source",
+ BY_SOURCE_COMBATLOG_TOOLTIP = "Line color based on caster.",
+ BY_TARGET = "By Target",
+ BY_TARGET_COMBATLOG_TOOLTIP = "Line color based on target.",
+ COLORIZE = "Colorize:",
+ COLORS = "Colors",
+ COLOR_BY_SCHOOL = "Color-by-School",
+ COMBATLOG_DEFAULTS = "Combat Log Defaults",
+ COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "Custom Unit",
+ COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "Friends",
+ COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "Enemy Players",
+ COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "Enemy Units",
+ COMBATLOG_FILTER_STRING_ME = "Me",
+ COMBATLOG_FILTER_STRING_MY_PET = "Pet",
+ COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "Neutral",
+ COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "Unknown",
+ COMBATLOG_HIGHLIGHT_ABILITY = "Ability",
+ COMBATLOG_HIGHLIGHT_DAMAGE = "Damage",
+ COMBATLOG_HIGHLIGHT_KILL = "Kill",
+ COMBATLOG_HIGHLIGHT_SCHOOL = "School",
COMBATLOG_UNKNOWN_UNIT = "Something",
COMBAT_FACTION_CHANGE = "Reputation",
COMBAT_HONOR_GAIN = "Honor",
COMBAT_LOG_UNIT_YOU_ENABLED = "1",
COMBAT_MISC_INFO = "Misc Info",
COMBAT_XP_GAIN = "Experience",
+ CONFIRM_COMBAT_FILTER_DEFAULTS = "Do you really want to reset your filters to their default values?",
+ CONFIRM_COMBAT_FILTER_DELETE = "Do you really want to delete this filter?",
+ COPY_FILTER = "Copy Filter",
+ DAMAGE_NUMBER = "Damage Number",
+ DAMAGE_SCHOOL_TEXT = "Damage School",
DAMAGE_SHIELD = "Damage Shields",
+ DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "Show messages when a spell or ability deals damage in reaction to a melee swing, such as Thorns.",
+ DEATHS_COMBATLOG_TOOLTIP = "Show messages when something dies.",
DEFAULT_COMBATLOG_FILTER_NAME = "Filter %d",
+ DISPELS = "Dispels",
+ DISPEL_AURA_COMBATLOG_TOOLTIP = "Show when an aura is removed, broken, or stolen.",
+ DONE_BY = "Done By:",
+ DONE_TO = "Done To:",
+ DRAINS = "Drains",
ENTER_FILTER_NAME = "Enter filter name:",
+ ENTIRE_LINE = "Entire Line",
+ ENTIRE_LINE_COMBATLOG_TOOLTIP = "Color the entire line based on the selection below.",
ENVIRONMENTAL_DAMAGE = "Environmental Damage",
+ ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "Show messages when someone takes damage from falling, drowning or swimming in lava.",
+ EXAMPLE_SPELL_FIREBALL = "Fireball",
+ EXAMPLE_SPELL_FROSTBOLT = "Frostbolt",
+ EXAMPLE_TARGET_MONSTER = "Monster",
+ EXAMPLE_TEXT = "Example Text:",
+ EXTRA_ATTACKS = "Extra Attacks",
+ FAILURES = "Failures",
+ FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "Actions performed by hostile creatures and pets.",
+ FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "Actions performed by friendly players, pets, and creatures.",
+ FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Actions performed by hostile players.",
+ FILTER_BY_ME_COMBATLOG_TOOLTIP = "Actions performed by you, your traps, and your spells.",
+ FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "Actions performed by neutral creatures.",
+ FILTER_BY_PET_COMBATLOG_TOOLTIP = "Actions performed by your pets, summoned guardians, and charmed players.",
+ FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "Actions performed by undefined sources such as falling, acid, or lava.",
+ FILTER_NAME = "Filter Name",
+ FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "Actions performed on friendly players, pets, and creatures.",
+ FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "Actions performed on hostile pets and creatures.",
+ FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Actions performed on hostile players.",
+ FILTER_TO_ME_COMBATLOG_TOOLTIP = "Actions performed on you.",
+ FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "Actions performed on neutral creatures.",
+ FILTER_TO_PET_COMBATLOG_TOOLTIP = "Actions performed on your pets, summoned guardians, and charmed players.",
+ FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "Actions performed on invisible targets.",
+ FORMATTING = "Formatting",
+ FULL_TEXT_COMBATLOG_TOOLTIP = "Show combat log entries as full sentences.",
+ HARMFUL_AURA_COMBATLOG_TOOLTIP = "Show when you gain or lose a harmful aura.",
+ HEALS = "Heals",
+ HIGHLIGHTING = "Highlighting:",
+ HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "Highlight ability names in combat messages.",
+ HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "Highlight damage numbers in combat messages.",
+ HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "Highlights the entire line when you or a party member makes a kill.",
+ HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "Highlight the school of a spell in combat messages.",
+ HOSTILE = "Hostile",
+ INTERRUPTS = "Interrupts",
+ ITEM_NAMES = "Item Names",
+ ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Show braces around item names.",
+ KILLS_COMBATLOG_TOOLTIP = "Show messages when a member of your party kills something.",
+ MELEE = "Melee",
+ MELEE_COMBATLOG_TOOLTIP = "Shows natural melee swings.",
+ MESSAGE_SOURCES = "Message Sources",
+ MISSES = "Misses",
+ MOVE_FILTER_DOWN = "Move Filter Down",
+ MOVE_FILTER_UP = "Move Filter Up",
+ OTHER = "Other",
+ PERIODIC = "Periodic",
+ POWER_GAINS = "Power Gains",
+ POWER_GAINS_COMBATLOG_TOOLTIP = "Show messages when a spell or ability restores mana, energy, rage, focus, chi, holy power, or shadow orbs.",
+ QUICKBUTTON_NAME_EVERYTHING = "Everything",
+ QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "Show all combat messages.",
+ QUICKBUTTON_NAME_KILLS = "Kills",
+ QUICKBUTTON_NAME_KILLS_TOOLTIP = "Show all deaths and kills.",
QUICKBUTTON_NAME_ME = "What happened to me?",
QUICKBUTTON_NAME_ME_TOOLTIP = "Show everything done to me.",
- QUICKBUTTON_NAME_MY_ACTIONS = "My actions",
- QUICKBUTTON_NAME_MY_ACTIONS_TOOLTIP = "Show messages of actions done by you.",
+ QUICKBUTTON_NAME_SELF = "Self",
+ QUICKBUTTON_NAME_SELF_TOOLTIP = "Show messages of actions done by you and done to you.",
+ QUICK_BUTTON_COMBATLOG_TOOLTIP = "Places a shortcut to this filter on the chat window.",
+ RANGED = "Ranged",
+ RANGED_COMBATLOG_TOOLTIP = "Shows attacks from bows, guns, thrown weapons, and wands.",
+ RANGE_DAMAGE_COMBATLOG_TOOLTIP = "Show ranged shots that deal full or partial damage.",
+ RANGE_MISSED_COMBATLOG_TOOLTIP = "Show ranged shots that fail to deal damage.",
+ RESURRECT = "Resurrections",
+ SETTINGS = "Settings",
+ SHOW_BRACES = "Show Braces",
+ SHOW_BRACES_COMBATLOG_TOOLTIP = "Display braces around hyperlinks in combat log messages.",
+ SHOW_QUICK_BUTTON = "Show Quick Button",
+ SHOW_TIMESTAMP = "Show Timestamp",
+ SOURCE = "Source:",
+ SPECIAL = "Special",
+ SPELLS_COMBATLOG_TOOLTIP = "Shows messages about spells and special abilities.",
+ SPELL_CASTING = "Spell Casting",
+ SPELL_CASTING_COMBATLOG_TOOLTIP = "Show messages about spell casting.",
+ SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "Show messages when a spell cannot be cast or fails to cast.",
+ SPELL_CAST_START_COMBATLOG_TOOLTIP = "Show messages when a spell begins casting.",
+ SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "Show messages when a spell successfully completes.",
+ SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "Color spell names by school.",
+ SPELL_DAMAGE_COMBATLOG_TOOLTIP = "Show messages when a spell or ability deals damage.",
+ SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "Colorizes the damage number on non-melee swings.",
+ SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "Color the damage school name. (e.g. shadow)",
+ SPELL_DRAIN_COMBATLOG_TOOLTIP = "Show messages when a spell or ability reduces mana, energy, rage, or focus.",
+ SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "Show messages when a spell or ability grants additional attacks.",
+ SPELL_HEAL_COMBATLOG_TOOLTIP = "Show messages when a spell or ability heals damage.",
+ SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "Show messages about special spell types, such as those that inflict durability loss or share damage with a pet.",
+ SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "Show messages when a spell or ability interrupts another spell.",
+ SPELL_MISSED_COMBATLOG_TOOLTIP = "Show messages when a spell or ability fails to deal damage. This includes dodges, parries, blocks, deflections, immunes, absorbs and evades.",
+ SPELL_NAMES = "Spell Names",
+ SPELL_NAMES_COMBATLOG_TOOLTIP = "Color spell names.",
+ SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Show braces around spell names.",
+ SPELL_PERIODIC_COMBATLOG_TOOLTIP = "Show spells that perform an effect incrementally.",
+ SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "Show messages when a spell or ability periodically deals damage, such as Shadow Word: Pain or Corruption.",
+ SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "Show messages when a spell or ability periodically heals damage, such as Renew or Rejuvenation.",
+ SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "Show messages when a spell or ability fails to periodically deal damage. This includes immunes, absorbs and evades.",
+ SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "Show messages when a spell or ability periodically performs any other effect, such as restoring or draining mana.",
+ SPELL_RESURRECT_COMBATLOG_TOOLTIP = "Show messages when a spell or ability resurrects another player or creature.",
+ SPELL_SUMMON_COMBATLOG_TOOLTIP = "Show messages when a spell or ability summons a creature or creates an object.",
+ START = "Start",
STRING_SCHOOL_UNKNOWN = "Unknown",
+ SUCCESS = "Success",
+ SUMMONS = "Summons",
+ SWING_DAMAGE_COMBATLOG_TOOLTIP = "Shows melee swings that deal full or partial damage.",
+ SWING_MISSED_COMBATLOG_TOOLTIP = "Show melee swings that do not deal damage.",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%s %s %s %s %s. %s %11$s",
TEXT_MODE_A_STRING_2 = "%1$s %3$s %2$s %4$s %5$s. %6$s",
@@ -530,9 +663,15 @@ pfUI_locale["enUS"]["combatlog"] = {
TEXT_MODE_A_STRING_VALUE_SCHOOL = "%s %s",
TEXT_MODE_A_STRING_VALUE_TYPE = "%s (%s)",
TEXT_MODE_A_TIMESTAMP = "%H:%M:%S",
+ TIMESTAMP_COMBATLOG_TOOLTIP = "Display the timestamp for combat log messages.",
+ UNIT_COLORS = "Unit Colors:",
+ UNIT_NAMES = "Unit Names",
+ UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names.",
+ UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Show braces around unit names.",
UNIT_YOU = "You",
UNIT_YOU_DEST = "You",
UNIT_YOU_DEST_POSSESSIVE = "Your",
UNIT_YOU_SOURCE = "You",
UNIT_YOU_SOURCE_POSSESSIVE = "Your",
+ USE_FULL_TEXT_MODE = "Use Verbose Mode",
}
diff --git a/env/combatlog_esES.lua b/env/combatlog_esES.lua
index e62d8e4e..267171f5 100644
--- a/env/combatlog_esES.lua
+++ b/env/combatlog_esES.lua
@@ -470,6 +470,11 @@ pfUI_locale["esES"]["combatlog"] = {
ACTION_UNIT_DISSIPATES_POSSESSIVE = "0",
ADD = "Añadir",
ADDITIONAL_FILTERS = "Filtros adicionales",
+ ADD_FILTER = "Añadir",
+ AURAS = "Auras",
+ AURAS_COMBATLOG_TOOLTIP = "Mostrar mensajes sobre efectos de estados beneficiosos y dañinos.",
+ BENEFICIAL = "Beneficioso",
+ BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "Mostrar cuando ganas o pierdes un aura beneficiosa.",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "¿Mostrar todo lo referente a %s?",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "Mostrar todo",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "¿Qué le pasó a %s?",
@@ -479,21 +484,149 @@ pfUI_locale["esES"]["combatlog"] = {
BLIZZARD_COMBAT_LOG_MENU_SAVE = "Guardar como nuevo filtro",
BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE = "Ocultar los mensajes como este.",
BLIZZARD_COMBAT_LOG_MENU_SPELL_LINK = "Vincular %s a chat.",
+ BY_SOURCE = "Por origen",
+ BY_SOURCE_COMBATLOG_TOOLTIP = "Color de línea según taumaturgo.",
+ BY_TARGET = "Por objetivo",
+ BY_TARGET_COMBATLOG_TOOLTIP = "Color de línea según objetivo.",
+ COLORIZE = "Colorear:",
+ COLORS = "Colores",
+ COLOR_BY_SCHOOL = "Colorear según escuela",
+ COMBATLOG_DEFAULTS = "Restablecer reg. combate",
+ COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "Unidad personalizada",
+ COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "Amigos",
+ COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "Jugadores enemigos",
+ COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "Unidades enemigas",
+ COMBATLOG_FILTER_STRING_ME = "Yo",
+ COMBATLOG_FILTER_STRING_MY_PET = "Mascota",
+ COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "Neutral",
+ COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "Desconocido",
+ COMBATLOG_HIGHLIGHT_ABILITY = "Facultad",
+ COMBATLOG_HIGHLIGHT_DAMAGE = "Daño",
+ COMBATLOG_HIGHLIGHT_KILL = "Muerte",
+ COMBATLOG_HIGHLIGHT_SCHOOL = "Escuela",
COMBATLOG_UNKNOWN_UNIT = "Algo",
COMBAT_FACTION_CHANGE = "Reputación",
COMBAT_HONOR_GAIN = "Honor",
COMBAT_LOG_UNIT_YOU_ENABLED = "0",
COMBAT_MISC_INFO = "Info. misc.",
COMBAT_XP_GAIN = "Experiencia",
+ CONFIRM_COMBAT_FILTER_DEFAULTS = "¿De verdad quieres restablecer la configuración inicial?",
+ CONFIRM_COMBAT_FILTER_DELETE = "¿Realmente quieres borrar este filtro?",
+ COPY_FILTER = "Copiar",
+ DAMAGE_NUMBER = "Cifra de daño",
+ DAMAGE_SCHOOL_TEXT = "Escuela de daño",
DAMAGE_SHIELD = "Escudos de daño",
+ DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad hace daño en reacción a un golpe cuerpo a cuerpo, como Espinas.",
+ DEATHS_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando haya una muerte.",
DEFAULT_COMBATLOG_FILTER_NAME = "Filtro %d",
+ DISPELS = "Disipación",
+ DISPEL_AURA_COMBATLOG_TOOLTIP = "Mostrar cuando se elimina, rompe o roba un aura.",
+ DONE_BY = "Hecho por:",
+ DONE_TO = "Hecho a:",
+ DRAINS = "drena",
ENTER_FILTER_NAME = "Escribe el nombre del filtro:",
+ ENTIRE_LINE = "Toda la línea",
+ ENTIRE_LINE_COMBATLOG_TOOLTIP = "Colorear toda la línea según la siguiente opción.",
ENVIRONMENTAL_DAMAGE = "Daño del entorno",
+ ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando alguien sufra daño al caer, ahogarse o nadar en lava.",
+ EXAMPLE_SPELL_FIREBALL = "Bola de Fuego",
+ EXAMPLE_SPELL_FROSTBOLT = "Descarga de Escarcha",
+ EXAMPLE_TARGET_MONSTER = "Monstruo",
+ EXAMPLE_TEXT = "Texto de muestra:",
+ EXTRA_ATTACKS = "Ataques extra",
+ FAILURES = "Fallos",
+ FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "Acciones llevadas a cabo por criaturas y mascotas hostiles.",
+ FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "Acciones llevadas a cabo por jugadores, mascotas y criaturas aliados.",
+ FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Acciones llevadas a cabo por jugadores hostiles.",
+ FILTER_BY_ME_COMBATLOG_TOOLTIP = "Acciones llevadas a cabo por ti, tus trampas y tus hechizos.",
+ FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "Acciones llevadas a cabo por criaturas neutrales.",
+ FILTER_BY_PET_COMBATLOG_TOOLTIP = "Acciones llevadas a cabo por tus mascotas, guardianes invocados y jugadores embelesados.",
+ FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "Acciones de origen sin especificar como caídas, ácido o lava.",
+ FILTER_NAME = "Nombre del filtro",
+ FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "Acciones realizadas a jugadores, mascotas y criaturas aliados.",
+ FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "Acciones realizadas a mascotas y criaturas hostiles.",
+ FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Acciones realizadas a jugadores hostiles.",
+ FILTER_TO_ME_COMBATLOG_TOOLTIP = "Acciones realizadas a ti.",
+ FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "Acciones realizadas a criaturas neutrales.",
+ FILTER_TO_PET_COMBATLOG_TOOLTIP = "Acciones realizadas a tus mascotas, guardianes invocados y jugadores embelesados.",
+ FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "Acciones realizadas a objetivos invisibles.",
+ FORMATTING = "Formato",
+ FULL_TEXT_COMBATLOG_TOOLTIP = "Mostrar las entradas del registro de combate como frases completas.",
+ HARMFUL_AURA_COMBATLOG_TOOLTIP = "Mostrar cuando ganas o pierdes un aura dañina.",
+ HEALS = "Sanaciones",
+ HIGHLIGHTING = "Resaltar:",
+ HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "Resaltar nombres de facultades en mensajes de combate.",
+ HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "Resaltar cifras de daño en mensajes de combate.",
+ HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "Resaltar toda la línea cuando matas o lo hace un miembro de tu grupo.",
+ HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "Resaltar la escuela del hechizo en el mensaje de combate.",
+ HOSTILE = "Hostil",
+ INTERRUPTS = "interrumpe",
+ ITEM_NAMES = "Nombres de objetos",
+ ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Mostrar nombres de objetos entre corchetes.",
+ KILLS_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un miembro de tu grupo mata.",
+ MELEE = "Cuerpo a cuerpo",
+ MELEE_COMBATLOG_TOOLTIP = "Mostrar golpes cuerpo a cuerpo naturales.",
+ MESSAGE_SOURCES = "Origen mensaje",
+ MISSES = "Fallos",
+ MOVE_FILTER_DOWN = "Mover filtro abajo",
+ MOVE_FILTER_UP = "Mover filtro arriba",
+ OTHER = "Otros",
+ PERIODIC = "Periódico",
+ POWER_GAINS = "Ganancia de poder",
+ POWER_GAINS_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad restaure maná, energía, ira, enfoque, chi, Poder Sagrado u orbes de las Sombras.",
+ QUICKBUTTON_NAME_EVERYTHING = "Todo",
+ QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "Mostrar todos los mensajes de combate.",
+ QUICKBUTTON_NAME_KILLS = "Muertes",
+ QUICKBUTTON_NAME_KILLS_TOOLTIP = "Mostrar todas las muertes aliadas y enemigas.",
QUICKBUTTON_NAME_ME = "Me afecta",
QUICKBUTTON_NAME_ME_TOOLTIP = "Mostrar todo lo que me afecta.",
- QUICKBUTTON_NAME_MY_ACTIONS = "Mis acciones",
- QUICKBUTTON_NAME_MY_ACTIONS_TOOLTIP = "Mostrar mensajes de tus acciones.",
+ QUICKBUTTON_NAME_SELF = "Self",
+ QUICKBUTTON_NAME_SELF_TOOLTIP = "Show messages of actions done by you and done to you.",
+ QUICK_BUTTON_COMBATLOG_TOOLTIP = "Coloca un acceso rápido a este filtro en la ventana de chat.",
+ RANGED = "A distancia",
+ RANGED_COMBATLOG_TOOLTIP = "Mostrar ataques con arcos, armas de fuego, armas arrojadizas y varitas.",
+ RANGE_DAMAGE_COMBATLOG_TOOLTIP = "Mostrar los golpes a distancia que infligen daño total o parcial.",
+ RANGE_MISSED_COMBATLOG_TOOLTIP = "Mostrar los golpes a distancia que no logran infligir daño.",
+ RESURRECT = "Resurrecciones",
+ SETTINGS = "Configuración",
+ SHOW_BRACES = "Mostrar corchetes",
+ SHOW_BRACES_COMBATLOG_TOOLTIP = "Mostrar los hipervínculos entre corchetes en los mensajes del registro de combate.",
+ SHOW_QUICK_BUTTON = "Mostrar botón de acceso rápido",
+ SHOW_TIMESTAMP = "Mostrar tiempo",
+ SOURCE = "Fuente:",
+ SPECIAL = "Especial",
+ SPELLS_COMBATLOG_TOOLTIP = "Mostrar mensajes sobre hechizos y facultades especiales.",
+ SPELL_CASTING = "Hechizos lanzados",
+ SPELL_CASTING_COMBATLOG_TOOLTIP = "Mostrar mensajes de los hechizos lanzados.",
+ SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando no se puede lanzar un hechizo o cuando no se logra lanzar.",
+ SPELL_CAST_START_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando se comienza a lanzar un hechizo.",
+ SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo se lance correctamente.",
+ SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "Colorear los nombres de hechizos según la escuela.",
+ SPELL_DAMAGE_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad inflige daño.",
+ SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "Colorear la cifra del daño de golpes otros que cuerpo a cuerpo.",
+ SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "Colorear el nombre de escuela del daño (p. ej., Sombras).",
+ SPELL_DRAIN_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad reduzca el maná, la energía, la ira o el enfoque.",
+ SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad otorgue ataques adicionales.",
+ SPELL_HEAL_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad sana daño.",
+ SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "Mostrar mensajes sobre tipos de hechizos especiales, como los que infligen pérdida de durabilidad o comparten daño con una mascota.",
+ SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad interrumpe otro hechizo.",
+ SPELL_MISSED_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad no logra infligir daño. Incluye cuando el objetivo es inmune o lo esquiva, para, bloquea, desvía, absorbe o evade.",
+ SPELL_NAMES = "Nombres de hechizos",
+ SPELL_NAMES_COMBATLOG_TOOLTIP = "Colorear los nombres de hechizos.",
+ SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Mostrar nombres de hechizos entre corchetes.",
+ SPELL_PERIODIC_COMBATLOG_TOOLTIP = "Mostrar los hechizos que tienen un efecto gradual.",
+ SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad inflige daño periódico, como Palabra de las Sombras: Dolor o Corrupción.",
+ SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad sana daño periódicamente, como Renovar o Rejuvenecimiento.",
+ SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad no logra infligir daño periódico. Incluye cuando el objetivo es inmune, lo absorbe o lo evade.",
+ SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad inflige cualquier otro efecto periódicamente, como restaurar o drenar maná.",
+ SPELL_RESURRECT_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad resucite a otro jugador o criatura.",
+ SPELL_SUMMON_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo invoque a una criatura o cree un objeto.",
+ START = "Inicio",
STRING_SCHOOL_UNKNOWN = "Desconocido",
+ SUCCESS = "Éxito",
+ SUMMONS = "Invocación",
+ SWING_DAMAGE_COMBATLOG_TOOLTIP = "Mostrar golpes cuerpo a cuerpo que infligen daño total o parcial.",
+ SWING_MISSED_COMBATLOG_TOOLTIP = "Mostrar golpes cuerpo a cuerpo que no infligen daño.",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%s %s %s %s %s. %s %11$s",
TEXT_MODE_A_STRING_2 = "%1$s %3$s %2$s %4$s %5$s. %6$s",
@@ -530,9 +663,15 @@ pfUI_locale["esES"]["combatlog"] = {
TEXT_MODE_A_STRING_VALUE_SCHOOL = "%s %s",
TEXT_MODE_A_STRING_VALUE_TYPE = "%s (%s)",
TEXT_MODE_A_TIMESTAMP = "%H:%M:%S",
+ TIMESTAMP_COMBATLOG_TOOLTIP = "Mostrar el tiempo en los mensajes del registro de combate.",
+ UNIT_COLORS = "Colores de unidades:",
+ UNIT_NAMES = "Nombres de unidades",
+ UNIT_NAMES_COMBATLOG_TOOLTIP = "Colorear el nombre de unidades.",
+ UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Mostrar nombres de unidades entre corchetes.",
UNIT_YOU = "Tú",
UNIT_YOU_DEST = "Tú",
UNIT_YOU_DEST_POSSESSIVE = "Tu",
UNIT_YOU_SOURCE = "Tú",
UNIT_YOU_SOURCE_POSSESSIVE = "Tu",
+ USE_FULL_TEXT_MODE = "Mostrar texto completo",
}
diff --git a/env/combatlog_frFR.lua b/env/combatlog_frFR.lua
index 1b51f0c9..13c19261 100644
--- a/env/combatlog_frFR.lua
+++ b/env/combatlog_frFR.lua
@@ -470,6 +470,11 @@ pfUI_locale["frFR"]["combatlog"] = {
ACTION_UNIT_DISSIPATES_POSSESSIVE = "0",
ADD = "Ajouter",
ADDITIONAL_FILTERS = "Filtres supplémentaires",
+ ADD_FILTER = "Aj. filtre",
+ AURAS = "Auras",
+ AURAS_COMBATLOG_TOOLTIP = "Montre les messages liés aux états bénéfiques ou néfastes.",
+ BENEFICIAL = "Bénéfique",
+ BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "Montre quand vous gagnez ou perdez une aura bénéfique.",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "Afficher tout ce qui concerne %s.",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "Afficher tout",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "Qu'est-il arrivé à %s ?",
@@ -479,21 +484,149 @@ pfUI_locale["frFR"]["combatlog"] = {
BLIZZARD_COMBAT_LOG_MENU_SAVE = "Enregistrer comme nouveau filtre",
BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE = "Cacher les messages comme celui-ci.",
BLIZZARD_COMBAT_LOG_MENU_SPELL_LINK = "Lier %s dans la discussion.",
+ BY_SOURCE = "Par source",
+ BY_SOURCE_COMBATLOG_TOOLTIP = "Colorer en fonction du lanceur.",
+ BY_TARGET = "Par cible",
+ BY_TARGET_COMBATLOG_TOOLTIP = "Colorer en fonction de la cible.",
+ COLORIZE = "Coloriser :",
+ COLORS = "Couleurs",
+ COLOR_BY_SCHOOL = "Couleur par type",
+ COMBATLOG_DEFAULTS = "Journal par défaut",
+ COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "Unité personnalisée",
+ COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "Amis",
+ COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "Joueurs ennemis",
+ COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "Ennemis",
+ COMBATLOG_FILTER_STRING_ME = "Moi",
+ COMBATLOG_FILTER_STRING_MY_PET = "Familier",
+ COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "Neutre",
+ COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "Inconnu",
+ COMBATLOG_HIGHLIGHT_ABILITY = "Technique",
+ COMBATLOG_HIGHLIGHT_DAMAGE = "Dégâts",
+ COMBATLOG_HIGHLIGHT_KILL = "Mort",
+ COMBATLOG_HIGHLIGHT_SCHOOL = "Type",
COMBATLOG_UNKNOWN_UNIT = "Quelque chose",
COMBAT_FACTION_CHANGE = "Réputation",
COMBAT_HONOR_GAIN = "Honneur",
COMBAT_LOG_UNIT_YOU_ENABLED = "1",
COMBAT_MISC_INFO = "Infos div.",
COMBAT_XP_GAIN = "Expérience",
+ CONFIRM_COMBAT_FILTER_DEFAULTS = "Voulez-vous revenir aux valeurs par défaut des filtres ?",
+ CONFIRM_COMBAT_FILTER_DELETE = "Voulez-vous vraiment effacer ce filtre ?",
+ COPY_FILTER = "Copier filtre",
+ DAMAGE_NUMBER = "Valeurs de dégâts",
+ DAMAGE_SCHOOL_TEXT = "Type de dégâts",
DAMAGE_SHIELD = "Boucliers de dégâts",
+ DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique inflige des dégâts en réaction à une attaque de mêlée, comme Epines.",
+ DEATHS_COMBATLOG_TOOLTIP = "Montre un message quand quelqu'un meurt.",
DEFAULT_COMBATLOG_FILTER_NAME = "Filtre %d",
+ DISPELS = "Dissipations",
+ DISPEL_AURA_COMBATLOG_TOOLTIP = "Montre quand une aura est retirée, détruite ou volée.",
+ DONE_BY = "Fait par :",
+ DONE_TO = "Fait à :",
+ DRAINS = "Drains",
ENTER_FILTER_NAME = "Indiquez le nom du filtre :",
+ ENTIRE_LINE = "Ligne entière",
+ ENTIRE_LINE_COMBATLOG_TOOLTIP = "Colorer toute la ligne selon la sélection ci-dessous.",
ENVIRONMENTAL_DAMAGE = "Dégâts de l'environnement",
+ ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "Montre un message quand quelqu'un subit des dégâts dus à une chute, une noyade ou le fait de nager dans la lave.",
+ EXAMPLE_SPELL_FIREBALL = "Boule de feu",
+ EXAMPLE_SPELL_FROSTBOLT = "Eclair de givre",
+ EXAMPLE_TARGET_MONSTER = "Monstre",
+ EXAMPLE_TEXT = "Texte d'exemple",
+ EXTRA_ATTACKS = "Attaques suppl.",
+ FAILURES = "Échecs",
+ FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "Les actions effectuées par les créatures et familiers hostiles.",
+ FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "Les actions effectuées par les personnages, familiers et créatures amicaux.",
+ FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Les actions effectuées par des joueurs hostiles.",
+ FILTER_BY_ME_COMBATLOG_TOOLTIP = "Les actions effectuées par vous-même, vos pièges et vos sorts.",
+ FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "Les actions effectuées par les créatures neutres.",
+ FILTER_BY_PET_COMBATLOG_TOOLTIP = "Les actions effectuées par vos familiers, gardiens invoqués ou personnages charmés.",
+ FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "Les actions effectuées par des sources indéfinies, telles que les chutes, l'acide ou la lave.",
+ FILTER_NAME = "Nom du filtre :",
+ FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "Les actions effectuées sur les personnages, familiers et créatures amicaux.",
+ FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "Les actions effectuées sur les familiers et créatures hostiles.",
+ FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Les actions effectuées contre des joueurs hostiles.",
+ FILTER_TO_ME_COMBATLOG_TOOLTIP = "Les actions effectuées sur vous.",
+ FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "Les actions effectuées sur les créatures neutres.",
+ FILTER_TO_PET_COMBATLOG_TOOLTIP = "Les actions effectuées sur vos familiers, gardiens invoqués ou personnages charmés.",
+ FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "Les actions effectuées sur des cibles invisibles.",
+ FORMATTING = "Mise en forme",
+ FULL_TEXT_COMBATLOG_TOOLTIP = "Montre les évènements du journal de combat sous forme de phrases.",
+ HARMFUL_AURA_COMBATLOG_TOOLTIP = "Montre quand vous gagnez ou perdez une aura néfaste.",
+ HEALS = "Soins",
+ HIGHLIGHTING = "Surlignage :",
+ HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "Surligne les noms des techniques dans les messages de combat.",
+ HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "Surligne les montants de dégâts dans les messages de combat.",
+ HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "Surligne toute la ligne lorsque vous-même ou un membre de votre groupe tuez un adversaire.",
+ HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "Surligne les types de sort dans les messages de combat.",
+ HOSTILE = "Hostile",
+ INTERRUPTS = "Interruptions",
+ ITEM_NAMES = "Noms des objets",
+ ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Mettre des liens autour des noms d'objets.",
+ KILLS_COMBATLOG_TOOLTIP = "Montre un message quand un membre de votre groupe tue quelqu'un.",
+ MELEE = "Mêlée",
+ MELEE_COMBATLOG_TOOLTIP = "Montre les attaques de mêlée naturelles.",
+ MESSAGE_SOURCES = "Sources",
+ MISSES = "Ratés",
+ MOVE_FILTER_DOWN = "Descendre le filtre",
+ MOVE_FILTER_UP = "Remonter le filtre",
+ OTHER = "Autre",
+ PERIODIC = "Périodique",
+ POWER_GAINS = "Gains de puissance",
+ POWER_GAINS_COMBATLOG_TOOLTIP = "Affiche un message quand un sort ou une technique rend des points de mana, d’énergie, de rage, de focalisation, de chi ou de puissance sacrée ou des orbes d’ombre.",
+ QUICKBUTTON_NAME_EVERYTHING = "Tout",
+ QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "Montrer tous les messages de combat.",
+ QUICKBUTTON_NAME_KILLS = "Tués",
+ QUICKBUTTON_NAME_KILLS_TOOLTIP = "Montrer tous les tués.",
QUICKBUTTON_NAME_ME = "Qu'est-ce qui m'est arrivé ?",
QUICKBUTTON_NAME_ME_TOOLTIP = "Montrer tout ce qu'on m'a fait.",
- QUICKBUTTON_NAME_MY_ACTIONS = "Mes actions",
- QUICKBUTTON_NAME_MY_ACTIONS_TOOLTIP = "Montre des messages pour les actions effectuées par vous.",
+ QUICKBUTTON_NAME_SELF = "Self",
+ QUICKBUTTON_NAME_SELF_TOOLTIP = "Show messages of actions done by you and done to you.",
+ QUICK_BUTTON_COMBATLOG_TOOLTIP = "Pose un raccourci vers ce filtre dans la fenêtre de discussion.",
+ RANGED = "Distance",
+ RANGED_COMBATLOG_TOOLTIP = "Montre les attaques des arcs, arbalètes, fusils, armes de jet et baguettes.",
+ RANGE_DAMAGE_COMBATLOG_TOOLTIP = "Montre les attaques à distance qui infligent des dégâts complets ou partiels.",
+ RANGE_MISSED_COMBATLOG_TOOLTIP = "Montre les attaques à distance qui n'infligent pas de dégâts.",
+ RESURRECT = "Résurrections",
+ SETTINGS = "Réglages",
+ SHOW_BRACES = "Afficher les crochets",
+ SHOW_BRACES_COMBATLOG_TOOLTIP = "Afficher des crochets autour des liens dans les messages du journal de combat.",
+ SHOW_QUICK_BUTTON = "Montrer accès rapide",
+ SHOW_TIMESTAMP = "Afficher l'heure",
+ SOURCE = "Source :",
+ SPECIAL = "Spécial",
+ SPELLS_COMBATLOG_TOOLTIP = "Montre les messages liés aux sorts et aux techniques spéciales.",
+ SPELL_CASTING = "Incantations",
+ SPELL_CASTING_COMBATLOG_TOOLTIP = "Montre les messages concernant l'incantation des sorts.",
+ SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "Montre les messages indiquant qu'un sort ne peut être lancé ou que l'incantation a échoué.",
+ SPELL_CAST_START_COMBATLOG_TOOLTIP = "Montre les messages indiquant le début de l'incantation d'un sort.",
+ SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "Montre les messages indiquant la réussite de l'incantation d'un sort.",
+ SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "Colorer les noms des sorts par type.",
+ SPELL_DAMAGE_COMBATLOG_TOOLTIP = "Montre quand un sort ou une technique inflige des dégâts.",
+ SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "Colorer les valeurs de dégâts pour les attaques hors-mêlée.",
+ SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "Colorer les noms des types de dégâts (par ex. Ombre).",
+ SPELL_DRAIN_COMBATLOG_TOOLTIP = "Affiche un message quand un sort ou une technique enlève des points de mana, d’énergie, de rage ou de focalisation.",
+ SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "Affiche un message quand un sort ou une technique octroie des attaques supplémentaires.",
+ SPELL_HEAL_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique soigne des dégâts.",
+ SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "Montre les messages des sorts d'une catégorie spéciale, comme ceux qui infligent une perte de durabilité ou qui partagent les dégâts avec un familier.",
+ SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique interrompt un autre sort.",
+ SPELL_MISSED_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique ne parvient pas à infliger des dégâts. Que ce soit dû à une esquive, une parade, un blocage, une déviation, une immunité, une absorption ou un évitement.",
+ SPELL_NAMES = "Noms des sorts",
+ SPELL_NAMES_COMBATLOG_TOOLTIP = "Colorer les noms de sorts.",
+ SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Mettre des liens autour des noms de sorts.",
+ SPELL_PERIODIC_COMBATLOG_TOOLTIP = "Montre les sorts qui ont un effet incrémentiel.",
+ SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique inflige des dégâts de façon périodique, comme Mot de l'ombre : Douleur ou Corruption.",
+ SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique soigne de façon périodique, comme Rénovation ou Récupération.",
+ SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique ne parvient pas à infliger des dégâts périodiques. Cela peut être dû à une immunité, une absorption ou un évitement.",
+ SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique déclenche un autre type d'effet de façon périodique, comme de rendre ou de prendre des points de mana.",
+ SPELL_RESURRECT_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique ressuscite une créature ou un autre personnage.",
+ SPELL_SUMMON_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique invoque une créature ou crée un objet.",
+ START = "Démarrage",
STRING_SCHOOL_UNKNOWN = "(Inconnu)",
+ SUCCESS = "Réussites",
+ SUMMONS = "Invocations",
+ SWING_DAMAGE_COMBATLOG_TOOLTIP = "Montre les attaques de mêlée qui infligent des dégâts complets ou partiels.",
+ SWING_MISSED_COMBATLOG_TOOLTIP = "Montre les attaques de mêlée qui n'infligent pas de dégâts.",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%s %s %s %s %s. %s %11$s",
TEXT_MODE_A_STRING_2 = "%1$s %3$s %2$s %4$s %5$s. %6$s",
@@ -530,9 +663,15 @@ pfUI_locale["frFR"]["combatlog"] = {
TEXT_MODE_A_STRING_VALUE_SCHOOL = "%s %s",
TEXT_MODE_A_STRING_VALUE_TYPE = "%s (%s)",
TEXT_MODE_A_TIMESTAMP = "%H:%M:%S",
+ TIMESTAMP_COMBATLOG_TOOLTIP = "Afficher l'heure des messages du journal de combat.",
+ UNIT_COLORS = "Couleurs d'unités :",
+ UNIT_NAMES = "Noms des unités",
+ UNIT_NAMES_COMBATLOG_TOOLTIP = "Colorer les noms des unités.",
+ UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Mettre des liens autour des noms d'unités.",
UNIT_YOU = "Vous",
UNIT_YOU_DEST = "Vous",
UNIT_YOU_DEST_POSSESSIVE = "votre personnage",
UNIT_YOU_SOURCE = "Vous",
UNIT_YOU_SOURCE_POSSESSIVE = "votre",
+ USE_FULL_TEXT_MODE = "Mode prolixe",
}
diff --git a/env/combatlog_koKR.lua b/env/combatlog_koKR.lua
index 5e88967b..6a5e6fa9 100644
--- a/env/combatlog_koKR.lua
+++ b/env/combatlog_koKR.lua
@@ -470,6 +470,11 @@ pfUI_locale["koKR"]["combatlog"] = {
ACTION_UNIT_DISSIPATES_POSSESSIVE = "0",
ADD = "추가",
ADDITIONAL_FILTERS = "추가 필터",
+ ADD_FILTER = "필터 추가",
+ AURAS = "오라",
+ AURAS_COMBATLOG_TOOLTIP = "이로운 효과나 해로운 효과에 대한 메시지를 표시합니다.",
+ BENEFICIAL = "이로운 효과",
+ BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "강화 효과를 얻거나 잃었을 때 메시지를 표시합니다.",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "%s|1과;와; 관련된 기록을 모두 보여주십시오.",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "모두",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "%s에게 무슨 일이 일어났습니까?",
@@ -479,21 +484,149 @@ pfUI_locale["koKR"]["combatlog"] = {
BLIZZARD_COMBAT_LOG_MENU_SAVE = "새 필터로 저장",
BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE = "같은 종류의 메시지 숨기기",
BLIZZARD_COMBAT_LOG_MENU_SPELL_LINK = "%s|1을;를; 대화창으로 링크",
+ BY_SOURCE = "행위자",
+ BY_SOURCE_COMBATLOG_TOOLTIP = "행위자를 기준으로 문장에 색을 입힙니다.",
+ BY_TARGET = "대상",
+ BY_TARGET_COMBATLOG_TOOLTIP = "대상을 기준으로 문장에 색을 입힙니다.",
+ COLORIZE = "색 지정",
+ COLORS = "색상",
+ COLOR_BY_SCHOOL = "마법 계열별 색 설정",
+ COMBATLOG_DEFAULTS = "원래대로",
+ COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "사용자 개체",
+ COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "친구",
+ COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "적대적인 플레이어",
+ COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "적대적 대상",
+ COMBATLOG_FILTER_STRING_ME = "자신",
+ COMBATLOG_FILTER_STRING_MY_PET = "소환수",
+ COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "중립적 대상",
+ COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "알 수 없음",
+ COMBATLOG_HIGHLIGHT_ABILITY = "주문 및 기술",
+ COMBATLOG_HIGHLIGHT_DAMAGE = "피해",
+ COMBATLOG_HIGHLIGHT_KILL = "처치",
+ COMBATLOG_HIGHLIGHT_SCHOOL = "마법 계열",
COMBATLOG_UNKNOWN_UNIT = "무엇인가",
COMBAT_FACTION_CHANGE = "평판",
COMBAT_HONOR_GAIN = "명예",
COMBAT_LOG_UNIT_YOU_ENABLED = "1",
COMBAT_MISC_INFO = "기타 정보",
COMBAT_XP_GAIN = "경험치",
+ CONFIRM_COMBAT_FILTER_DEFAULTS = "정말 필터를 초기화하시겠습니까?",
+ CONFIRM_COMBAT_FILTER_DELETE = "정말 이 필터를 삭제하시겠습니까?",
+ COPY_FILTER = "필터 복사",
+ DAMAGE_NUMBER = "피해 수치",
+ DAMAGE_SCHOOL_TEXT = "마법 계열",
DAMAGE_SHIELD = "피해 보호막",
+ DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "근접 공격자에게 피해를 입히는 주문이나 능력으로 인한 피해 메시지를 표시합니다. 예: 가시 등",
+ DEATHS_COMBATLOG_TOOLTIP = "무엇인가가 죽었을 때 메시지를 표시합니다.",
DEFAULT_COMBATLOG_FILTER_NAME = "필터: %d",
+ DISPELS = "무효화",
+ DISPEL_AURA_COMBATLOG_TOOLTIP = "효과가 제거되거나, 파괴되거나, 훔쳐졌을 때 메시지를 표시합니다.",
+ DONE_BY = "행위자",
+ DONE_TO = "대상",
+ DRAINS = "소진",
ENTER_FILTER_NAME = "필터 이름을 입력하십시오.",
+ ENTIRE_LINE = "전체 문장",
+ ENTIRE_LINE_COMBATLOG_TOOLTIP = "아래 선택에 따라 전체 문장에 색을 입힙니다.",
ENVIRONMENTAL_DAMAGE = "환경 피해",
+ ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "낙하, 익사, 용암에 의한 피해를 입었을 때 메시지를 표시합니다.",
+ EXAMPLE_SPELL_FIREBALL = "화염구",
+ EXAMPLE_SPELL_FROSTBOLT = "얼음 화살",
+ EXAMPLE_TARGET_MONSTER = "몬스터",
+ EXAMPLE_TEXT = "예시 문구",
+ EXTRA_ATTACKS = "추가 공격",
+ FAILURES = "실패",
+ FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "적대적인 NPC, 소환수의 동작",
+ FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "아군 플레이어, 소환수, NPC의 동작",
+ FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "적대적인 플레이어의 동작",
+ FILTER_BY_ME_COMBATLOG_TOOLTIP = "자신, 자신의 덫, 자신의 주문에 의한 동작",
+ FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "중립적 NPC의 동작",
+ FILTER_BY_PET_COMBATLOG_TOOLTIP = "자신의 소환수, 소환된 수호물, 자신이 현혹한 플레이어의 동작",
+ FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "낙하 피해, 독, 용암 등에 의한 동작",
+ FILTER_NAME = "필터 이름",
+ FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "아군 플레이어, 소환수, NPC에게 행해진 동작",
+ FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "적대적인 소환수, NPC에게 행해진 동작",
+ FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "적대적인 플레이어에게 행해진 동작",
+ FILTER_TO_ME_COMBATLOG_TOOLTIP = "자신에게 행해진 동작",
+ FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "중립적 NPC에게 행해진 동작",
+ FILTER_TO_PET_COMBATLOG_TOOLTIP = "자신의 소환수, 소환된 수호물, 자신이 현혹한 플레이어에게 행해진 동작",
+ FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "보이지 않는 대상에게 행해진 동작",
+ FORMATTING = "형식",
+ FULL_TEXT_COMBATLOG_TOOLTIP = "전투 메시지를 전체 문장으로 표시합니다.",
+ HARMFUL_AURA_COMBATLOG_TOOLTIP = "약화 효과를 얻거나 잃었을 때 메시지를 표시합니다.",
+ HEALS = "치유",
+ HIGHLIGHTING = "강조",
+ HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "전투 메시지 상에서 능력의 이름을 강조합니다.",
+ HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "전투 메시지 상에서 피해의 수치를 강조합니다.",
+ HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "자신이나 파티원이 대상을 처치했을 때 메시지를 강조합니다.",
+ HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "전투 메시지 상에서 주문의 마법 계열을 강조합니다.",
+ HOSTILE = "해로운 효과",
+ INTERRUPTS = "차단",
+ ITEM_NAMES = "아이템 이름",
+ ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "아이템에 괄호 표시",
+ KILLS_COMBATLOG_TOOLTIP = "파티원이 어떤 대상을 처치했을 때 메시지를 표시합니다.",
+ MELEE = "근접 공격",
+ MELEE_COMBATLOG_TOOLTIP = "근접 공격에 관련된 메시지를 표시합니다.",
+ MESSAGE_SOURCES = "메시지 출처",
+ MISSES = "적중하지 않음",
+ MOVE_FILTER_DOWN = "필터를 아래로 이동",
+ MOVE_FILTER_UP = "필터를 위로 이동",
+ OTHER = "기타",
+ PERIODIC = "주기적인 효과",
+ POWER_GAINS = "얻은 자원",
+ POWER_GAINS_COMBATLOG_TOOLTIP = "주문이나 능력으로 마나, 기력, 분노, 집중, 기, 신성한 힘, 암흑 구슬이 회복될 때 메시지를 표시합니다.",
+ QUICKBUTTON_NAME_EVERYTHING = "모두",
+ QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "모든 전투 메시지를 표시합니다.",
+ QUICKBUTTON_NAME_KILLS = "처치",
+ QUICKBUTTON_NAME_KILLS_TOOLTIP = "처치 및 죽음에 대한 메시지를 표시합니다.",
QUICKBUTTON_NAME_ME = "자신(대상)",
QUICKBUTTON_NAME_ME_TOOLTIP = "자신에게 행해진 모든 내용을 표시합니다.",
- QUICKBUTTON_NAME_MY_ACTIONS = "자신의 행위",
- QUICKBUTTON_NAME_MY_ACTIONS_TOOLTIP = "자신의 행위에 대한 메시지를 표시합니다.",
+ QUICKBUTTON_NAME_SELF = "Self",
+ QUICKBUTTON_NAME_SELF_TOOLTIP = "Show messages of actions done by you and done to you.",
+ QUICK_BUTTON_COMBATLOG_TOOLTIP = "대화창에 필터를 추가합니다.",
+ RANGED = "원거리 공격",
+ RANGED_COMBATLOG_TOOLTIP = "활, 총, 투척 무기, 마법봉 공격 메시지를 표시합니다.",
+ RANGE_DAMAGE_COMBATLOG_TOOLTIP = "원거리 공격으로 입힌 전체 피해나 부분적인 피해를 표시합니다.",
+ RANGE_MISSED_COMBATLOG_TOOLTIP = "피해를 입히지 못한 원거리 공격에 대한 메시지를 표시합니다.",
+ RESURRECT = "부활",
+ SETTINGS = "설정",
+ SHOW_BRACES = "괄호 표시",
+ SHOW_BRACES_COMBATLOG_TOOLTIP = "전투 메시지에서 링크 정보가 있는 단어를 괄호로 묶습니다.",
+ SHOW_QUICK_BUTTON = "빠른 버튼 표시하기",
+ SHOW_TIMESTAMP = "시간 표시",
+ SOURCE = "획득 방법:",
+ SPECIAL = "특수 주문",
+ SPELLS_COMBATLOG_TOOLTIP = "주문과 특수 능력에 관한 메시지를 표시합니다.",
+ SPELL_CASTING = "주문 시전",
+ SPELL_CASTING_COMBATLOG_TOOLTIP = "주문 시전에 관련된 메시지를 표시합니다.",
+ SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "주문을 시전하지 못하거나 시전에 실패했을 때 메시지를 표시합니다.",
+ SPELL_CAST_START_COMBATLOG_TOOLTIP = "주문 시전을 시작할 때 메시지를 표시합니다.",
+ SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "성공적으로 주문을 시전했을 때 메시지를 표시합니다.",
+ SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "주문의 마법 계열에 색을 입힙니다.",
+ SPELL_DAMAGE_COMBATLOG_TOOLTIP = "주문이나 능력으로 피해를 입혔을 때 메시지를 표시합니다.",
+ SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "근접 공격을 제외한 공격 피해에 색을 입힙니다.",
+ SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "공격 마법 계열에 색을 입힙니다. (예: 암흑)",
+ SPELL_DRAIN_COMBATLOG_TOOLTIP = "주문이나 능력으로 마나, 기력, 분노, 집중이 감소할 때 메시지를 표시합니다.",
+ SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "주문이나 능력으로 추가 공격 기회를 얻었을 때 메시지를 표시합니다.",
+ SPELL_HEAL_COMBATLOG_TOOLTIP = "주문이나 능력으로 피해가 치유될 때 메시지를 표시합니다.",
+ SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "내구도 감소나 소환수에게 분배되는 피해 등 특별한 형태의 메시지를 표시합니다.",
+ SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "주문이나 능력으로 다른 주문이 취소될 때 메시지를 표시합니다.",
+ SPELL_MISSED_COMBATLOG_TOOLTIP = "주문이나 능력으로 피해를 입히지 못했을 때 메시지를 표시합니다. 피함, 막음, 방어함, 튕김, 면역, 흡수, 벗어남이 포함됩니다.",
+ SPELL_NAMES = "주문 이름",
+ SPELL_NAMES_COMBATLOG_TOOLTIP = "주문의 이름에 색을 입힙니다.",
+ SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "주문이나 기술에 괄호 표시",
+ SPELL_PERIODIC_COMBATLOG_TOOLTIP = "효과가 증가하는 주문을 표시합니다.",
+ SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "주문이나 능력으로 주기적인 피해를 입힐 때 메시지를 표시합니다. 예: 어둠의 권능: 고통, 부패 등",
+ SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "주문이나 능력으로 주기적인 치유가 이루어질 때 메시지를 표시합니다. 예: 소생, 회복 등",
+ SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "주문이나 능력으로 인한 주기적인 피해가 실패했을 때 메시지를 표시합니다. 면역, 흡수, 벗어남 등이 포함됩니다.",
+ SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "주문이나 능력으로 주기적인 효과가 발생할 때 메시지를 표시합니다. 예: 마나 회복, 마나 흡수 등",
+ SPELL_RESURRECT_COMBATLOG_TOOLTIP = "다른 플레이어나 NPC를 부활시키는 주문에 대한 메시지를 표시합니다.",
+ SPELL_SUMMON_COMBATLOG_TOOLTIP = "몬스터나 NPC를 소환하거나 물건을 창조할 때 메시지를 표시합니다.",
+ START = "시작",
STRING_SCHOOL_UNKNOWN = "알 수 없음",
+ SUCCESS = "성공",
+ SUMMONS = "소환",
+ SWING_DAMAGE_COMBATLOG_TOOLTIP = "근접 공격으로 입힌 전체 피해나 부분적인 피해를 표시합니다.",
+ SWING_MISSED_COMBATLOG_TOOLTIP = "피해를 입히지 못한 근접 공격에 대한 메시지를 표시합니다.",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%1$s %2$s %4$s %5$s %3$s %6$s %11$s",
TEXT_MODE_A_STRING_2 = "%1$s %2$s %4$s %5$s %3$s %6$s",
@@ -530,9 +663,15 @@ pfUI_locale["koKR"]["combatlog"] = {
TEXT_MODE_A_STRING_VALUE_SCHOOL = "(%s %s)",
TEXT_MODE_A_STRING_VALUE_TYPE = "%s (%s)",
TEXT_MODE_A_TIMESTAMP = "%H:%M:%S",
+ TIMESTAMP_COMBATLOG_TOOLTIP = "전투 메시지에 시간을 표시합니다.",
+ UNIT_COLORS = "대상 색:",
+ UNIT_NAMES = "플레이어, NPC, 몬스터 이름",
+ UNIT_NAMES_COMBATLOG_TOOLTIP = "플레이어, NPC, 몬스터 이름에 색을 입힙니다.",
+ UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "이름에 괄호 표시",
UNIT_YOU = "당신",
UNIT_YOU_DEST = "당신",
UNIT_YOU_DEST_POSSESSIVE = "당신",
UNIT_YOU_SOURCE = "당신",
UNIT_YOU_SOURCE_POSSESSIVE = "당신",
+ USE_FULL_TEXT_MODE = "전체 문장으로 보기",
}
diff --git a/env/combatlog_ruRU.lua b/env/combatlog_ruRU.lua
index 38004a2a..7b426aa8 100644
--- a/env/combatlog_ruRU.lua
+++ b/env/combatlog_ruRU.lua
@@ -470,6 +470,11 @@ pfUI_locale["ruRU"]["combatlog"] = {
ACTION_UNIT_DISSIPATES_POSSESSIVE = "0",
ADD = "Добавить",
ADDITIONAL_FILTERS = "Дополнительные фильтры",
+ ADD_FILTER = "Добавить",
+ AURAS = "Ауры",
+ AURAS_COMBATLOG_TOOLTIP = "Отображение сообщений о благотворных и вредоносных состояниях.",
+ BENEFICIAL = "Защитные",
+ BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "Отображение сообщений о приобретении или потере благотворной ауры вашим персонажем.",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "Все действия, касающиеся |3-1(%s)",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "Показывать все",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "Действия по отношению к |3-2(%s)?",
@@ -479,21 +484,149 @@ pfUI_locale["ruRU"]["combatlog"] = {
BLIZZARD_COMBAT_LOG_MENU_SAVE = "Сохранить как новый фильтр",
BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE = "Скрывать подобные сообщения.",
BLIZZARD_COMBAT_LOG_MENU_SPELL_LINK = "Отправить ссылку на \"%s\" в чат.",
+ BY_SOURCE = "Источник",
+ BY_SOURCE_COMBATLOG_TOOLTIP = "Цвет строки зависит от источника.",
+ BY_TARGET = "Цель",
+ BY_TARGET_COMBATLOG_TOOLTIP = "Цвет строки зависит от цели.",
+ COLORIZE = "Цвета:",
+ COLORS = "Цвета",
+ COLOR_BY_SCHOOL = "Цвета школ",
+ COMBATLOG_DEFAULTS = "По умолчанию",
+ COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "По выбору",
+ COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "Друзья",
+ COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "Враждебные игроки",
+ COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "Индикаторы противников",
+ COMBATLOG_FILTER_STRING_ME = "Я",
+ COMBATLOG_FILTER_STRING_MY_PET = "Питомец",
+ COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "Нейтральный",
+ COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "Неизвестно",
+ COMBATLOG_HIGHLIGHT_ABILITY = "Способность",
+ COMBATLOG_HIGHLIGHT_DAMAGE = "Урон",
+ COMBATLOG_HIGHLIGHT_KILL = "Убийства",
+ COMBATLOG_HIGHLIGHT_SCHOOL = "Школы магии",
COMBATLOG_UNKNOWN_UNIT = "Что-то",
COMBAT_FACTION_CHANGE = "Репутация",
COMBAT_HONOR_GAIN = "Честь",
COMBAT_LOG_UNIT_YOU_ENABLED = "1",
COMBAT_MISC_INFO = "Разное",
COMBAT_XP_GAIN = "Опыт",
+ CONFIRM_COMBAT_FILTER_DEFAULTS = "Вы действительно хотите сбросить настройки фильтров?",
+ CONFIRM_COMBAT_FILTER_DELETE = "Удалить этот фильтр?",
+ COPY_FILTER = "Копировать",
+ DAMAGE_NUMBER = "Величина урона",
+ DAMAGE_SCHOOL_TEXT = "Школа магии",
DAMAGE_SHIELD = "Ответные повреждения",
+ DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "Отображение сообщений об уроне, наносимом заклинаниями или способностями в ответ на атаки в ближнем бою (\"Шипы\" и т. п.).",
+ DEATHS_COMBATLOG_TOOLTIP = "Отображение сообщений о смерти различных существ.",
DEFAULT_COMBATLOG_FILTER_NAME = "Фильтр %d",
+ DISPELS = "Развеивание",
+ DISPEL_AURA_COMBATLOG_TOOLTIP = "Отображение сообщений об исчезновении, разрушении или похищении аур.",
+ DONE_BY = "Источник:",
+ DONE_TO = "Цель:",
+ DRAINS = "Похищение",
ENTER_FILTER_NAME = "Введите название фильтра:",
+ ENTIRE_LINE = "Вся строка",
+ ENTIRE_LINE_COMBATLOG_TOOLTIP = "Цветовое выделение всей строки в соответствии с параметрами, указанными ниже.",
ENVIRONMENTAL_DAMAGE = "Урон от окружающего мира",
+ ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "Отображение сообщений о получении разными персонажами урона от падения, утопления или погружения в лаву.",
+ EXAMPLE_SPELL_FIREBALL = "Огненный шар",
+ EXAMPLE_SPELL_FROSTBOLT = "Ледяная стрела",
+ EXAMPLE_TARGET_MONSTER = "Монстр",
+ EXAMPLE_TEXT = "Пример текста:",
+ EXTRA_ATTACKS = "Дополнит. атаки",
+ FAILURES = "Неудачное",
+ FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "Действия враждебных игроков, питомцев и существ.",
+ FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "Действия дружественных игроков, питомцев и существ.",
+ FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Действия враждебных игроков.",
+ FILTER_BY_ME_COMBATLOG_TOOLTIP = "Действия вашего персонажа, а также его ловушек и заклинаний.",
+ FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "Действия нейтральных существ.",
+ FILTER_BY_PET_COMBATLOG_TOOLTIP = "Действия ваших питомцев, вызванных существ и подчиненных персонажей.",
+ FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "Действия окружающего мира: падение, кислота, лава и т.п.",
+ FILTER_NAME = "Название фильтра",
+ FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "Действия в отношении дружественных игроков, питомцев и существ.",
+ FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "Действия в отношении враждебных питомцев и существ.",
+ FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Действия в отношении враждебных игроков.",
+ FILTER_TO_ME_COMBATLOG_TOOLTIP = "Действия в отношении вашего персонажа.",
+ FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "Действия в отношении нейтральных существ.",
+ FILTER_TO_PET_COMBATLOG_TOOLTIP = "Действия в отношении ваших питомцев, вызванных существ и подчиненных персонажей.",
+ FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "Действия в отношении невидимых целей.",
+ FORMATTING = "Формат",
+ FULL_TEXT_COMBATLOG_TOOLTIP = "Показывать записи журнала боя в полном виде.",
+ HARMFUL_AURA_COMBATLOG_TOOLTIP = "Отображение сообщений о приобретении или потере губительной ауры вашим персонажем.",
+ HEALS = "Лечение",
+ HIGHLIGHTING = "Подсветка:",
+ HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "Подсветка названий способностей в боевых сообщениях.",
+ HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "Подсветка величины урона в боевых сообщениях.",
+ HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "Подсветка всей строки при убийстве противника вами или другим членом вашей группы.",
+ HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "Подсветка названий школ магии в боевых сообщениях.",
+ HOSTILE = "Губительные",
+ INTERRUPTS = "Прерывание",
+ ITEM_NAMES = "Названия предметов",
+ ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Заключение в скобки названий предметов.",
+ KILLS_COMBATLOG_TOOLTIP = "Отображение сообщений об убийстве противников членами вашей группы.",
+ MELEE = "Ближний бой",
+ MELEE_COMBATLOG_TOOLTIP = "Отображение информации об ударах ближнего боя.",
+ MESSAGE_SOURCES = "Источники сообщений",
+ MISSES = "Промах",
+ MOVE_FILTER_DOWN = "Переместить ниже",
+ MOVE_FILTER_UP = "Переместить выше",
+ OTHER = "Другое",
+ PERIODIC = "Периодические эффекты",
+ POWER_GAINS = "Получение энергии",
+ POWER_GAINS_COMBATLOG_TOOLTIP = "Отображение сообщений о восполнении маны, энергии, ярости, концентрации, энергии ци, энергии Света или сфер Тьмы с помощью заклинаний или способностей.",
+ QUICKBUTTON_NAME_EVERYTHING = "Все",
+ QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "Отображение всех сообщений о бое.",
+ QUICKBUTTON_NAME_KILLS = "Убийства",
+ QUICKBUTTON_NAME_KILLS_TOOLTIP = "Показ всех смертей и убийств.",
QUICKBUTTON_NAME_ME = "Что случилось с персонажем?",
QUICKBUTTON_NAME_ME_TOOLTIP = "Отображение всех действий в отношении вашего персонажа.",
- QUICKBUTTON_NAME_MY_ACTIONS = "Мои действия",
- QUICKBUTTON_NAME_MY_ACTIONS_TOOLTIP = "Отображение сообщений о действиях, совершенных вашим персонажем.",
+ QUICKBUTTON_NAME_SELF = "Self",
+ QUICKBUTTON_NAME_SELF_TOOLTIP = "Show messages of actions done by you and done to you.",
+ QUICK_BUTTON_COMBATLOG_TOOLTIP = "Помещение ссылки на фильтр в окно чата.",
+ RANGED = "Дальний бой",
+ RANGED_COMBATLOG_TOOLTIP = "Природа",
+ RANGE_DAMAGE_COMBATLOG_TOOLTIP = "Отображение информации об атаках дальнего боя, наносящих полный или частичный урон.",
+ RANGE_MISSED_COMBATLOG_TOOLTIP = "Отображение информации об атаках дальнего боя, не наносящих урона.",
+ RESURRECT = "Воскрешений",
+ SETTINGS = "Параметры",
+ SHOW_BRACES = "Выделять скобками",
+ SHOW_BRACES_COMBATLOG_TOOLTIP = "Выделение ссылок в сообщениях журнала боя.",
+ SHOW_QUICK_BUTTON = "Быстрый вызов",
+ SHOW_TIMESTAMP = "Отображать время",
+ SOURCE = "Источник:",
+ SPECIAL = "Особые",
+ SPELLS_COMBATLOG_TOOLTIP = "Отображение сообщений о заклинаниях и особых способностях.",
+ SPELL_CASTING = "Применение заклинаний",
+ SPELL_CASTING_COMBATLOG_TOOLTIP = "Отображение сообщений о применении заклинаний.",
+ SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "Отображение сообщений о невозможности применения заклинаний.",
+ SPELL_CAST_START_COMBATLOG_TOOLTIP = "Отображение сообщений о начале применения заклинаний.",
+ SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "Отображение сообщений об успешном завершении заклинаний.",
+ SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "Цветовое выделение названий заклинаний в соответствии с школами магии.",
+ SPELL_DAMAGE_COMBATLOG_TOOLTIP = "Отображение сообщений о нанесении урона заклинаниями или способностями.",
+ SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "Цветовое выделение величины урона (кроме ближнего боя).",
+ SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "Цветовое выделение школ урона (\"Темной магии\" и т.п.)",
+ SPELL_DRAIN_COMBATLOG_TOOLTIP = "Отображение сообщений о снижении объема маны, энергии, ярости и концентрации под влиянием заклинаний или способностей.",
+ SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "Отображение сообщений о дополнительных атаках, вызванных заклинаниями или способностями.",
+ SPELL_HEAL_COMBATLOG_TOOLTIP = "Отображение сообщений об исцеляющих заклинаниях и способностях.",
+ SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "Отображение сообщений об особых заклинаниях: например, повреждающих экипировку или наносящих урон питомцам.",
+ SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "Отображение сообщений о прерывании заклинаниями или способностями действия других заклинаний.",
+ SPELL_MISSED_COMBATLOG_TOOLTIP = "Отображение сообщений о неудачном применении боевых заклинаний и способностей, в т.ч., связанном с уклонением, парированием, блоком, отражением, невосприимчивостью, поглощением и уверткой.",
+ SPELL_NAMES = "Названия заклинаний",
+ SPELL_NAMES_COMBATLOG_TOOLTIP = "Цветовое выделение названий заклинаний.",
+ SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Заключение в скобки названий заклинаний.",
+ SPELL_PERIODIC_COMBATLOG_TOOLTIP = "Отображение информации о заклинаниях постепенного действия.",
+ SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "Отображение сообщений о периодическом уроне от заклинаний или способностей (\"Слово Тьмы: Боль\", \"Порча\" и т. п.).",
+ SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "Отображение сообщений о периодическом исцелении от заклинаний или способностей (\"Обновление\", \"Омоложение\" и т. п.).",
+ SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "Отображение сообщений о частично неудачном применении боевых заклинаний и способностей, в т.ч., связанных с невосприимчивостью, поглощением и уверткой.",
+ SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "Отображение сообщений о других видах периодических эффектов заклинаний и способностей, например, восполнении или похищении маны.",
+ SPELL_RESURRECT_COMBATLOG_TOOLTIP = "Показывать сообщения о воскрешении игрока или существа с помощью заклинания или способности.",
+ SPELL_SUMMON_COMBATLOG_TOOLTIP = "Показывать сообщения, когда с помощью заклинания призывается существо.",
+ START = "Начало",
STRING_SCHOOL_UNKNOWN = "Неизвестно",
+ SUCCESS = "Успешное",
+ SUMMONS = "Призывов",
+ SWING_DAMAGE_COMBATLOG_TOOLTIP = "Отображение информации об ударах в ближнем бою, наносящих полный или частичный урон.",
+ SWING_MISSED_COMBATLOG_TOOLTIP = "Отображение атак в ближнем бою, не наносящих урона.",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%s %s %s %s %s. %s %11$s",
TEXT_MODE_A_STRING_2 = "%2$s |3-1(%1$s) - %3$s - %4$s - %5$s%6$s.",
@@ -530,9 +663,15 @@ pfUI_locale["ruRU"]["combatlog"] = {
TEXT_MODE_A_STRING_VALUE_SCHOOL = "%s (%s)",
TEXT_MODE_A_STRING_VALUE_TYPE = "%s (%s)",
TEXT_MODE_A_TIMESTAMP = "%H:%M:%S",
+ TIMESTAMP_COMBATLOG_TOOLTIP = "Отображение даты и времени в сообщениях журнала боя.",
+ UNIT_COLORS = "Цвета объектов:",
+ UNIT_NAMES = "Объект действия",
+ UNIT_NAMES_COMBATLOG_TOOLTIP = "Цветовое выделение названий объектов.",
+ UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Заключение в скобки названий объектов.",
UNIT_YOU = "Вы",
UNIT_YOU_DEST = "Вы",
UNIT_YOU_DEST_POSSESSIVE = "Ваш",
UNIT_YOU_SOURCE = "Вы",
UNIT_YOU_SOURCE_POSSESSIVE = "Ваше",
+ USE_FULL_TEXT_MODE = "Использовать полный режим",
}
diff --git a/env/combatlog_zhCN.lua b/env/combatlog_zhCN.lua
index 475ca88a..32ebd734 100644
--- a/env/combatlog_zhCN.lua
+++ b/env/combatlog_zhCN.lua
@@ -470,6 +470,11 @@ pfUI_locale["zhCN"]["combatlog"] = {
ACTION_UNIT_DISSIPATES_POSSESSIVE = "0",
ADD = "添加",
ADDITIONAL_FILTERS = "更多过滤条件",
+ ADD_FILTER = "添加过滤",
+ AURAS = "光环",
+ AURAS_COMBATLOG_TOOLTIP = "显示有关增益和负面状态效果的信息。",
+ BENEFICIAL = "增益",
+ BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "当你获得或失去有益光环时显示信息。",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "显示所有与%s有关的信息?",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "全部显示",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "%s发生了什么事情?",
@@ -479,21 +484,149 @@ pfUI_locale["zhCN"]["combatlog"] = {
BLIZZARD_COMBAT_LOG_MENU_SAVE = "保存为新的过滤条件",
BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE = "隐藏与这一条类似的信息。",
BLIZZARD_COMBAT_LOG_MENU_SPELL_LINK = "将%s链接到聊天频道中。",
+ BY_SOURCE = "按来源",
+ BY_SOURCE_COMBATLOG_TOOLTIP = "按照施法者以颜色区分。",
+ BY_TARGET = "按目标",
+ BY_TARGET_COMBATLOG_TOOLTIP = "按照目标以颜色区分。",
+ COLORIZE = "彩色标记:",
+ COLORS = "颜色",
+ COLOR_BY_SCHOOL = "按类型区分颜色",
+ COMBATLOG_DEFAULTS = "战斗记录默认",
+ COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "自定义单位",
+ COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "友方",
+ COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "敌方玩家",
+ COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "敌方单位",
+ COMBATLOG_FILTER_STRING_ME = "我",
+ COMBATLOG_FILTER_STRING_MY_PET = "宠物",
+ COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "中立",
+ COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "未知",
+ COMBATLOG_HIGHLIGHT_ABILITY = "技能",
+ COMBATLOG_HIGHLIGHT_DAMAGE = "伤害",
+ COMBATLOG_HIGHLIGHT_KILL = "杀死",
+ COMBATLOG_HIGHLIGHT_SCHOOL = "类型",
COMBATLOG_UNKNOWN_UNIT = "某目标",
COMBAT_FACTION_CHANGE = "声望",
COMBAT_HONOR_GAIN = "荣誉",
COMBAT_LOG_UNIT_YOU_ENABLED = "1",
COMBAT_MISC_INFO = "其它信息",
COMBAT_XP_GAIN = "经验",
+ CONFIRM_COMBAT_FILTER_DEFAULTS = "你确定要将过滤条件设定为初始状态吗?",
+ CONFIRM_COMBAT_FILTER_DELETE = "你确认要删除这个过滤条件?",
+ COPY_FILTER = "复制过滤",
+ DAMAGE_NUMBER = "伤害数值",
+ DAMAGE_SCHOOL_TEXT = "伤害类型",
DAMAGE_SHIELD = "伤害护盾",
+ DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "当法术或技能(如荆棘术)对近战攻击造成反弹伤害时显示信息。",
+ DEATHS_COMBATLOG_TOOLTIP = "当某生物死亡时显示信息。",
DEFAULT_COMBATLOG_FILTER_NAME = "过滤条件%d",
+ DISPELS = "驱散",
+ DISPEL_AURA_COMBATLOG_TOOLTIP = "当光环被移除、破坏或偷取时显示信息。",
+ DONE_BY = "来源为:",
+ DONE_TO = "目标为:",
+ DRAINS = "吸取",
ENTER_FILTER_NAME = "输入过滤名称:",
+ ENTIRE_LINE = "整条信息",
+ ENTIRE_LINE_COMBATLOG_TOOLTIP = "按照下面的方式用彩色标记整条信息。",
ENVIRONMENTAL_DAMAGE = "环境伤害",
+ ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "当某人因摔落、溺水或泡在岩浆中而损失生命值时显示信息。",
+ EXAMPLE_SPELL_FIREBALL = "火球术",
+ EXAMPLE_SPELL_FROSTBOLT = "寒冰箭",
+ EXAMPLE_TARGET_MONSTER = "怪物",
+ EXAMPLE_TEXT = "范例文字:",
+ EXTRA_ATTACKS = "额外攻击",
+ FAILURES = "失败",
+ FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "敌方怪物和宠物进行的动作。",
+ FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "由友方玩家、宠物和怪物进行的动作。",
+ FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "敌方玩家进行的动作。",
+ FILTER_BY_ME_COMBATLOG_TOOLTIP = "由你、你的陷阱和你的法术进行的动作。",
+ FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "由中立生物进行的动作。",
+ FILTER_BY_PET_COMBATLOG_TOOLTIP = "由你的宠物、召唤生物和被魅惑玩家进行的动作。",
+ FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "由掉落、酸液或岩浆之类的源头产生的动作。",
+ FILTER_NAME = "过滤名称",
+ FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "对友方玩家、宠物和怪物进行的动作。",
+ FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "对敌方宠物和怪物进行的动作。",
+ FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "对敌方玩家进行的动作。",
+ FILTER_TO_ME_COMBATLOG_TOOLTIP = "对你进行的动作。",
+ FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "对中立生物进行的动作。",
+ FILTER_TO_PET_COMBATLOG_TOOLTIP = "对你的宠物、召唤生物和被魅惑玩家进行的动作。",
+ FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "对隐形目标进行的动作。",
+ FORMATTING = "格式",
+ FULL_TEXT_COMBATLOG_TOOLTIP = "整句显示战斗记录信息。",
+ HARMFUL_AURA_COMBATLOG_TOOLTIP = "当你获得或失去有害光环时显示信息。",
+ HEALS = "治疗",
+ HIGHLIGHTING = "高亮显示:",
+ HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "在战斗信息中高亮显示技能名。",
+ HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "在战斗信息中高亮显示伤害数值。",
+ HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "高亮显示你或你的队友杀死敌人时所显示的信息。",
+ HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "在战斗信息中高亮显示法术的类型。",
+ HOSTILE = "敌对",
+ INTERRUPTS = "打断",
+ ITEM_NAMES = "物品名",
+ ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "在物品名称外显示括号。",
+ KILLS_COMBATLOG_TOOLTIP = "当你的队友杀死某目标时显示信息。",
+ MELEE = "近战",
+ MELEE_COMBATLOG_TOOLTIP = "显示普通的近战攻击。",
+ MESSAGE_SOURCES = "信息来源",
+ MISSES = "未命中",
+ MOVE_FILTER_DOWN = "过滤条件下移",
+ MOVE_FILTER_UP = "过滤条件上移",
+ OTHER = "其它",
+ PERIODIC = "周期",
+ POWER_GAINS = "获得能量",
+ POWER_GAINS_COMBATLOG_TOOLTIP = "当法术或技能恢复法力、能量、怒气、集中值、真气、神圣能量或暗影宝珠时显示信息。",
+ QUICKBUTTON_NAME_EVERYTHING = "所有",
+ QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "显示所有战斗信息。",
+ QUICKBUTTON_NAME_KILLS = "杀敌",
+ QUICKBUTTON_NAME_KILLS_TOOLTIP = "显示所有死亡和杀敌信息。",
QUICKBUTTON_NAME_ME = "我发生了什么?",
QUICKBUTTON_NAME_ME_TOOLTIP = "显示我所接收的所有行为信息。",
- QUICKBUTTON_NAME_MY_ACTIONS = "我的动作",
- QUICKBUTTON_NAME_MY_ACTIONS_TOOLTIP = "显示你所进行的动作的信息。",
+ QUICKBUTTON_NAME_SELF = "Self",
+ QUICKBUTTON_NAME_SELF_TOOLTIP = "Show messages of actions done by you and done to you.",
+ QUICK_BUTTON_COMBATLOG_TOOLTIP = "在聊天窗口中放置一个该过滤条件的快捷方式。",
+ RANGED = "远程",
+ RANGED_COMBATLOG_TOOLTIP = "显示弓箭、枪械、投掷武器和魔杖的攻击。",
+ RANGE_DAMAGE_COMBATLOG_TOOLTIP = "显示造成了全额或部分伤害的远程射击。",
+ RANGE_MISSED_COMBATLOG_TOOLTIP = "显示未能造成伤害的远程射击。",
+ RESURRECT = "复活",
+ SETTINGS = "设置",
+ SHOW_BRACES = "显示括号",
+ SHOW_BRACES_COMBATLOG_TOOLTIP = "在战斗记录信息中的超链接外显示括号。",
+ SHOW_QUICK_BUTTON = "显示快捷按钮",
+ SHOW_TIMESTAMP = "显示时间戳",
+ SOURCE = "来源:",
+ SPECIAL = "特殊",
+ SPELLS_COMBATLOG_TOOLTIP = "显示有关法术和特殊技能的信息。",
+ SPELL_CASTING = "法术施放",
+ SPELL_CASTING_COMBATLOG_TOOLTIP = "显示有关法术施放的信息。",
+ SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "当法术无法施放或施放失败时显示信息。",
+ SPELL_CAST_START_COMBATLOG_TOOLTIP = "当法术开始施放时显示信息。",
+ SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "当法术成功施放时显示信息。",
+ SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "按类型用彩色标记法术名。",
+ SPELL_DAMAGE_COMBATLOG_TOOLTIP = "当法术或技能造成伤害时显示信息。",
+ SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "以彩色标记非普通攻击的伤害数值。",
+ SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "彩色标记伤害类型。(例如:暗影)",
+ SPELL_DRAIN_COMBATLOG_TOOLTIP = "当法术或技能降低法力、能量、怒气、或集中值时显示信息。",
+ SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "当法术或技能提供额外攻击时显示信息。",
+ SPELL_HEAL_COMBATLOG_TOOLTIP = "当法术或技能恢复生命值时显示信息。",
+ SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "显示有关特殊法术类型的信息,比如造成耐久度损失或者与宠物分担伤害的法术。",
+ SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "当法术或技能打断另一个法术时显示信息。",
+ SPELL_MISSED_COMBATLOG_TOOLTIP = "当法术或技能未能造成伤害时显示信息。这包括躲闪、招架、格挡、偏转、免疫、吸收和闪避。",
+ SPELL_NAMES = "法术名",
+ SPELL_NAMES_COMBATLOG_TOOLTIP = "彩色标记法术名。",
+ SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "在法术名称外显示括号。",
+ SPELL_PERIODIC_COMBATLOG_TOOLTIP = "显示法术效果增量的信息。",
+ SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "当法术或技能周期性地造成伤害时(如暗言术:痛或腐蚀术)显示信息。",
+ SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "当法术或技能周期性地恢复生命值时(如恢复或回春术)显示信息。",
+ SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "当法术或技能未能造成周期性的伤害时显示信息。这包括免疫、吸收和闪避。",
+ SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "当法术或技能周期性地产生其它效果时(如恢复或吸取法力值)显示信息。",
+ SPELL_RESURRECT_COMBATLOG_TOOLTIP = "当法术或技能复活另一个玩家或怪物时显示信息。",
+ SPELL_SUMMON_COMBATLOG_TOOLTIP = "当法术召唤出怪物或创造一个物体时显示信息。",
+ START = "开始",
STRING_SCHOOL_UNKNOWN = "未知",
+ SUCCESS = "成功",
+ SUMMONS = "召唤",
+ SWING_DAMAGE_COMBATLOG_TOOLTIP = "显示造成了全额或部分伤害的近战攻击。",
+ SWING_MISSED_COMBATLOG_TOOLTIP = "显示未能造成伤害的近战攻击。",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%s %s %s %s %s. %s %11$s",
TEXT_MODE_A_STRING_2 = "%1$s %3$s%2$s%4$s%5$s。%6$s",
@@ -530,9 +663,15 @@ pfUI_locale["zhCN"]["combatlog"] = {
TEXT_MODE_A_STRING_VALUE_SCHOOL = "%s %s",
TEXT_MODE_A_STRING_VALUE_TYPE = "%s(%s)",
TEXT_MODE_A_TIMESTAMP = "%H:%M:%S",
+ TIMESTAMP_COMBATLOG_TOOLTIP = "显示战斗记录信息的时间戳。",
+ UNIT_COLORS = "单位颜色:",
+ UNIT_NAMES = "单位名称",
+ UNIT_NAMES_COMBATLOG_TOOLTIP = "彩色标记单位名。",
+ UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "在单位名称外显示括号。",
UNIT_YOU = "你",
UNIT_YOU_DEST = "你",
UNIT_YOU_DEST_POSSESSIVE = "你的",
UNIT_YOU_SOURCE = "你",
UNIT_YOU_SOURCE_POSSESSIVE = "你的",
+ USE_FULL_TEXT_MODE = "使用详细模式",
}
diff --git a/init/modules.xml b/init/modules.xml
index fd982fd2..50e353c9 100644
--- a/init/modules.xml
+++ b/init/modules.xml
@@ -8,6 +8,7 @@
+
diff --git a/modules/combatlog.lua b/modules/combatlog.lua
index 50e19184..4932aa08 100644
--- a/modules/combatlog.lua
+++ b/modules/combatlog.lua
@@ -1,7 +1,7 @@
pfUI:RegisterModule("combatlog", function ()
-- Classic Era's Blizzard_CombatLog in ChatFrame2. ClassicAPI runs the
-- engine: COMBAT_LOG_EVENT, CombatLogAddFilter, and the kept entries that
- -- the log refills itself from when it shows or changes filter.
+ -- the log refills itself from when its filter changes.
-- Classic's combat log GlobalStrings that the 1.12 client lacks
for name, text in pairs(L["combatlog"]) do
@@ -58,7 +58,7 @@ pfUI:RegisterModule("combatlog", function ()
local Blizzard_CombatLog_CreateActionMenu, Blizzard_CombatLog_CreateSpellMenu
local Blizzard_CombatLog_CreateUnitMenu, Blizzard_CombatLog_CreateFilterMenu
local Blizzard_CombatLog_UnitMenuClick, Blizzard_CombatLog_SpellMenuClick
- local CombatLog_OnEvent, CombatLog_AddEvent, CreateCombatLogContextMenu
+ local CombatLog_OnEvent, CombatLog_AddEvent, CreateCombatLogContextMenu, NewFilter
local Blizzard_CombatLog_Update_QuickButtons, Blizzard_CombatLog_QuickButton_OnClick, ShowQuickButton
-- runs the refilter a step per frame, and takes COMBAT_LOG_EVENT
@@ -270,6 +270,46 @@ pfUI:RegisterModule("combatlog", function ()
return flagList;
end
+ --
+ -- Default CombatLog Filter
+ -- This table is used to create new CombatLog filters
+ --
+ local DEFAULT_COMBATLOG_FILTER_TEMPLATE = {
+ -- Descriptive Information
+ hasQuickButton = true;
+ quickButtonDisplay = {
+ solo = true;
+ party = true;
+ raid = true;
+ };
+
+ -- Default Color and Formatting Options
+ settings = CopyTable(COMBATLOG_DEFAULT_SETTINGS);
+
+ -- Coloring
+ colors = CopyTable(COMBATLOG_DEFAULT_COLORS);
+
+ -- The actual client filters
+ filters = {
+ [1] = {
+ eventList = Blizzard_CombatLog_GenerateFullEventList();
+ sourceFlags = {
+ [COMBATLOG_FILTER_MINE] = true,
+ [COMBATLOG_FILTER_MY_PET] = true;
+ };
+ destFlags = nil;
+ };
+ [2] = {
+ eventList = Blizzard_CombatLog_GenerateFullEventList();
+ sourceFlags = nil;
+ destFlags = {
+ [COMBATLOG_FILTER_MINE] = true,
+ [COMBATLOG_FILTER_MY_PET] = true;
+ };
+ };
+ };
+ };
+
--
-- Persistant Variables
--
@@ -281,15 +321,15 @@ pfUI:RegisterModule("combatlog", function ()
filters = {
[1] = {
-- Descriptive Information
- name = QUICKBUTTON_NAME_MY_ACTIONS;
+ name = QUICKBUTTON_NAME_SELF;
hasQuickButton = true;
- quickButtonName = QUICKBUTTON_NAME_MY_ACTIONS;
+ quickButtonName = QUICKBUTTON_NAME_SELF;
quickButtonDisplay = {
solo = true;
party = true;
raid = true;
};
- tooltip = QUICKBUTTON_NAME_MY_ACTIONS_TOOLTIP;
+ tooltip = QUICKBUTTON_NAME_SELF_TOOLTIP;
-- Default Color and Formatting Options
settings = CopyTable(COMBATLOG_DEFAULT_SETTINGS);
@@ -301,54 +341,54 @@ pfUI:RegisterModule("combatlog", function ()
filters = {
[1] = {
eventList = {
- ["ENVIRONMENTAL_DAMAGE"] = false,
+ ["ENVIRONMENTAL_DAMAGE"] = true,
["SWING_DAMAGE"] = true,
- ["SWING_MISSED"] = false,
+ ["SWING_MISSED"] = true,
["RANGE_DAMAGE"] = true,
- ["RANGE_MISSED"] = false,
+ ["RANGE_MISSED"] = true,
--["SPELL_CAST_START"] = true,
--["SPELL_CAST_SUCCESS"] = true,
--["SPELL_CAST_FAILED"] = true,
- ["SPELL_MISSED"] = false,
+ ["SPELL_MISSED"] = true,
["SPELL_DAMAGE"] = true,
["SPELL_HEAL"] = true,
["SPELL_ENERGIZE"] = true,
- ["SPELL_DRAIN"] = false,
- ["SPELL_LEECH"] = false,
- ["SPELL_INSTAKILL"] = false,
- ["SPELL_INTERRUPT"] = false,
- ["SPELL_EXTRA_ATTACKS"] = false,
- ["SPELL_DURABILITY_DAMAGE"] = false,
- ["SPELL_DURABILITY_DAMAGE_ALL"] = false,
- ["SPELL_AURA_APPLIED"] = false,
- ["SPELL_AURA_APPLIED_DOSE"] = false,
- ["SPELL_AURA_REMOVED"] = false,
- ["SPELL_AURA_REMOVED_DOSE"] = false,
- ["SPELL_AURA_BROKEN"] = false,
- ["SPELL_AURA_BROKEN_SPELL"] = false,
- ["SPELL_AURA_REFRESH"] = false,
- ["SPELL_DISPEL"] = false,
- ["SPELL_STOLEN"] = false,
- ["ENCHANT_APPLIED"] = false,
- ["ENCHANT_REMOVED"] = false,
- ["SPELL_PERIODIC_MISSED"] = false,
+ ["SPELL_DRAIN"] = true,
+ ["SPELL_LEECH"] = true,
+ ["SPELL_INSTAKILL"] = true,
+ ["SPELL_INTERRUPT"] = true,
+ ["SPELL_EXTRA_ATTACKS"] = true,
+ --["SPELL_DURABILITY_DAMAGE"] = true,
+ --["SPELL_DURABILITY_DAMAGE_ALL"] = true,
+ ["SPELL_AURA_APPLIED"] = true,
+ ["SPELL_AURA_APPLIED_DOSE"] = true,
+ ["SPELL_AURA_REMOVED"] = true,
+ ["SPELL_AURA_REMOVED_DOSE"] = true,
+ ["SPELL_AURA_BROKEN"] = true,
+ ["SPELL_AURA_BROKEN_SPELL"] = true,
+ ["SPELL_AURA_REFRESH"] = true,
+ ["SPELL_DISPEL"] = true,
+ ["SPELL_STOLEN"] = true,
+ ["ENCHANT_APPLIED"] = true,
+ ["ENCHANT_REMOVED"] = true,
+ ["SPELL_PERIODIC_MISSED"] = true,
["SPELL_PERIODIC_DAMAGE"] = true,
["SPELL_PERIODIC_HEAL"] = true,
["SPELL_PERIODIC_ENERGIZE"] = true,
- ["SPELL_PERIODIC_DRAIN"] = false,
- ["SPELL_PERIODIC_LEECH"] = false,
- ["SPELL_DISPEL_FAILED"] = false,
+ ["SPELL_PERIODIC_DRAIN"] = true,
+ ["SPELL_PERIODIC_LEECH"] = true,
+ ["SPELL_DISPEL_FAILED"] = true,
--["DAMAGE_SHIELD"] = true,
--["DAMAGE_SHIELD_MISSED"] = true,
- ["DAMAGE_SPLIT"] = true,
+ --["DAMAGE_SPLIT"] = true,
["PARTY_KILL"] = true,
- ["UNIT_DIED"] = false,
+ ["UNIT_DIED"] = true,
["UNIT_DESTROYED"] = true,
- ["UNIT_DISSIPATES"] = true,
- ["UNIT_LOYALTY"] = false
+ ["UNIT_DISSIPATES"] = true
};
sourceFlags = {
- [COMBATLOG_FILTER_MINE] = true
+ [COMBATLOG_FILTER_MINE] = true,
+ [COMBATLOG_FILTER_MY_PET] = true;
};
destFlags = nil;
};
@@ -371,8 +411,8 @@ pfUI:RegisterModule("combatlog", function ()
["SPELL_INSTAKILL"] = true,
["SPELL_INTERRUPT"] = true,
["SPELL_EXTRA_ATTACKS"] = true,
- ["SPELL_DURABILITY_DAMAGE"] = true,
- ["SPELL_DURABILITY_DAMAGE_ALL"] = true,
+ --["SPELL_DURABILITY_DAMAGE"] = true,
+ --["SPELL_DURABILITY_DAMAGE_ALL"] = true,
--["SPELL_AURA_APPLIED"] = true,
--["SPELL_AURA_APPLIED_DOSE"] = true,
--["SPELL_AURA_REMOVED"] = true,
@@ -390,22 +430,53 @@ pfUI:RegisterModule("combatlog", function ()
["SPELL_DISPEL_FAILED"] = true,
--["DAMAGE_SHIELD"] = true,
--["DAMAGE_SHIELD_MISSED"] = true,
- ["DAMAGE_SPLIT"] = true,
+ --["DAMAGE_SPLIT"] = true,
["PARTY_KILL"] = true,
["UNIT_DIED"] = true,
["UNIT_DESTROYED"] = true,
- ["UNIT_DISSIPATES"] = true,
- ["UNIT_LOYALTY"] = false
+ ["UNIT_DISSIPATES"] = true
};
sourceFlags = nil;
- destFlags = {
- [COMBATLOG_FILTER_MINE] = false,
- [COMBATLOG_FILTER_MY_PET] = false;
+ destFlags = {
+ [COMBATLOG_FILTER_MINE] = true,
+ [COMBATLOG_FILTER_MY_PET] = true;
};
};
};
};
[2] = {
+ -- Descriptive Information
+ name = QUICKBUTTON_NAME_EVERYTHING;
+ hasQuickButton = true;
+ quickButtonName = QUICKBUTTON_NAME_EVERYTHING;
+ quickButtonDisplay = {
+ solo = true;
+ party = true;
+ raid = true;
+ };
+ tooltip = QUICKBUTTON_NAME_EVERYTHING_TOOLTIP;
+
+ -- Settings
+ settings = CopyTable(COMBATLOG_DEFAULT_SETTINGS);
+
+ -- Coloring
+ colors = CopyTable(COMBATLOG_DEFAULT_COLORS);
+
+ -- The actual client filters
+ filters = {
+ [1] = {
+ eventList = Blizzard_CombatLog_GenerateFullEventList();
+ sourceFlags = Blizzard_CombatLog_GenerateFullFlagList(true);
+ destFlags = nil;
+ };
+ [2] = {
+ eventList = Blizzard_CombatLog_GenerateFullEventList();
+ sourceFlags = nil;
+ destFlags = Blizzard_CombatLog_GenerateFullFlagList(true);
+ };
+ };
+ };
+ [3] = {
-- Descriptive Information
name = QUICKBUTTON_NAME_ME;
hasQuickButton = true;
@@ -426,19 +497,7 @@ pfUI:RegisterModule("combatlog", function ()
-- The actual client filters
filters = {
[1] = {
- eventList = {
- ["ENVIRONMENTAL_DAMAGE"] = true,
- ["SWING_DAMAGE"] = true,
- ["RANGE_DAMAGE"] = true,
- ["SPELL_DAMAGE"] = true,
- ["SPELL_HEAL"] = true,
- ["SPELL_PERIODIC_DAMAGE"] = true,
- ["SPELL_PERIODIC_HEAL"] = true,
- ["DAMAGE_SPLIT"] = true,
- ["UNIT_DIED"] = true,
- ["UNIT_DESTROYED"] = true,
- ["UNIT_DISSIPATES"] = true
- };
+ eventList = Blizzard_CombatLog_GenerateFullEventList();
sourceFlags = Blizzard_CombatLog_GenerateFullFlagList(false);
destFlags = nil;
};
@@ -447,11 +506,53 @@ pfUI:RegisterModule("combatlog", function ()
sourceFlags = nil;
destFlags = {
[COMBATLOG_FILTER_MINE] = true,
- [COMBATLOG_FILTER_MY_PET] = false;
+ [COMBATLOG_FILTER_MY_PET] = true;
};
};
};
};
+ [4] = {
+ -- Descriptive Information
+ name = QUICKBUTTON_NAME_KILLS;
+ hasQuickButton = false;
+ quickButtonName = QUICKBUTTON_NAME_KILLS;
+ quickButtonDisplay = {
+ solo = true;
+ party = true;
+ raid = true;
+ };
+ tooltip = QUICKBUTTON_NAME_KILLS_TOOLTIP;
+
+ -- Settings
+ settings = CopyTable(COMBATLOG_DEFAULT_SETTINGS);
+
+ -- Coloring
+ colors = CopyTable(COMBATLOG_DEFAULT_COLORS);
+
+ -- The actual client filters
+ filters = {
+ [1] = {
+ eventList = {
+ ["PARTY_KILL"] = true,
+ ["UNIT_DIED"] = true,
+ ["UNIT_DESTROYED"] = true,
+ ["UNIT_DISSIPATES"] = true
+ };
+ sourceFlags = Blizzard_CombatLog_GenerateFullFlagList(true);
+ destFlags = nil;
+ };
+ [2] = {
+ eventList = {
+ ["PARTY_KILL"] = true,
+ ["UNIT_DIED"] = true,
+ ["UNIT_DESTROYED"] = true,
+ ["UNIT_DISSIPATES"] = true
+ };
+ sourceFlags = nil;
+ destFlags = Blizzard_CombatLog_GenerateFullFlagList(true);
+ };
+ };
+ };
};
-- Current Filter
@@ -749,7 +850,7 @@ pfUI:RegisterModule("combatlog", function ()
--
function Blizzard_CombatLog_UnitMenuClick(event, unitName, unitGUID, unitFlags)
if ( event == "SAVE" ) then
- StaticPopup_Show("PFUI_COPY_COMBAT_FILTER", nil, nil, Blizzard_CombatLog_CurrentSettings);
+ NewFilter(Blizzard_CombatLog_CurrentSettings);
return;
elseif ( event == "RESET" ) then
Blizzard_CombatLog_CurrentSettings = Blizzard_CombatLog_Filters.filters[Blizzard_CombatLog_Filters.currentFilter];
@@ -2556,9 +2657,10 @@ pfUI:RegisterModule("combatlog", function ()
return HookChatFrame_OnHyperlinkShow(link, text, button)
end
- -- CombatConfig_CreateCombatFilter, without the config window to select it in
+ -- CombatConfig_CreateCombatFilter: adds a copy of filter, or a new one from
+ -- the template, and returns its index
local function CreateCombatFilter(name, filter)
- local newFilter = CopyTable(filter)
+ local newFilter = CopyTable(filter or DEFAULT_COMBATLOG_FILTER_TEMPLATE)
if not name or name == "" then
name = format(DEFAULT_COMBATLOG_FILTER_NAME, #Blizzard_CombatLog_Filters.filters)
end
@@ -2568,27 +2670,20 @@ pfUI:RegisterModule("combatlog", function ()
newFilter.isTemp = nil
tinsert(Blizzard_CombatLog_Filters.filters, newFilter)
Blizzard_CombatLog_Update_QuickButtons()
+ return #Blizzard_CombatLog_Filters.filters
end
- -- the unit menu's "Save" (COPY_COMBAT_FILTER); the filter arrives as data
- StaticPopupDialogs["PFUI_COPY_COMBAT_FILTER"] = {
- text = ENTER_FILTER_NAME,
- button1 = ACCEPT,
- button2 = CANCEL,
- hasEditBox = 1,
- maxLetters = 32,
- OnAccept = function(filter)
- CreateCombatFilter(_G[this:GetParent():GetName().."EditBox"]:GetText(), filter)
- end,
- EditBoxOnEnterPressed = function(filter)
- CreateCombatFilter(this:GetText(), filter)
- this:GetParent():Hide()
- end,
- EditBoxOnEscapePressed = function() this:GetParent():Hide() end,
- timeout = 0, whileDead = 1, hideOnEscape = 1,
- }
+ -- COPY_COMBAT_FILTER and CREATE_COMBAT_FILTER: asks for a name, then
+ -- passes the new filter's index to done
+ function NewFilter(filter, done)
+ CreateQuestionDialog(ENTER_FILTER_NAME, { ACCEPT, function()
+ local index = CreateCombatFilter(this:GetParent().input:GetText(), filter)
+ if done then done(index) end
+ end }, { CANCEL }, true)
+ end
- _G.pfUI_combatlog = _G.pfUI_combatlog or Blizzard_CombatLog_Filter_Defaults
+ -- a fresh copy, so the defaults stay as they are for a reset
+ _G.pfUI_combatlog = _G.pfUI_combatlog or CopyTable(Blizzard_CombatLog_Filter_Defaults)
Blizzard_CombatLog_Filters = _G.pfUI_combatlog
Blizzard_CombatLog_CurrentSettings = Blizzard_CombatLog_Filters.filters[Blizzard_CombatLog_Filters.currentFilter]
@@ -2673,23 +2768,59 @@ pfUI:RegisterModule("combatlog", function ()
return OnEvent(self, event, ...)
end)
- -- The log takes live events only while it shows. Showing it again applies
- -- the current filter and refills it from the kept entries.
- CombatLogUpdateFrame:SetScript("OnEvent", function()
- CombatLog_AddEvent(CombatLogGetCurrentEventInfo())
- end)
+ -- What the settings window (modules/combatlog_config.lua) works on. It is
+ -- built the first time it opens.
+ local log = {
+ GetFilters = function() return Blizzard_CombatLog_Filters end,
+ -- replaces the saved filters with the defaults and shows the first
+ Reset = function()
+ _G.pfUI_combatlog = CopyTable(Blizzard_CombatLog_Filter_Defaults)
+ Blizzard_CombatLog_Filters = _G.pfUI_combatlog
+ Blizzard_CombatLog_QuickButton_OnClick(1)
+ end,
+ NewFilter = NewFilter,
+ SelectFilter = Blizzard_CombatLog_QuickButton_OnClick,
+ UpdateQuickButtons = Blizzard_CombatLog_Update_QuickButtons,
+ FormatEvent = CombatLog_OnEvent,
+ }
- COMBATLOG:HookScript("OnShow", function()
- CombatLogUpdateFrame:RegisterEvent("COMBAT_LOG_EVENT")
- Blizzard_CombatLog_QuickButton_OnClick(Blizzard_CombatLog_Filters.currentFilter)
- end)
-
- COMBATLOG:HookScript("OnHide", function()
- CombatLogUpdateFrame:UnregisterEvent("COMBAT_LOG_EVENT")
- end)
-
- if COMBATLOG:IsShown() then
- CombatLogUpdateFrame:RegisterEvent("COMBAT_LOG_EVENT")
- Blizzard_CombatLog_QuickButton_OnClick(Blizzard_CombatLog_Filters.currentFilter)
+ local config
+ local function ShowConfig()
+ config = config or pfUI.combatlog.CreateConfig(log)
+ config:Show()
end
+
+ -- "Settings" in the Combat Log tab's right-click menu, as on later clients.
+ -- Each tab's menu keeps its own initialize function.
+ local dropdown = _G[COMBATLOG:GetName().."TabDropDown"]
+ local initialize = dropdown.initialize
+ dropdown.initialize = function()
+ initialize()
+ if UIDROPDOWNMENU_MENU_LEVEL == 1 then
+ local info = UIDropDownMenu_CreateInfo()
+ info.text = SETTINGS
+ info.func = ShowConfig
+ info.notCheckable = 1
+ UIDropDownMenu_AddButton(info)
+ end
+ end
+
+ -- Unlike Blizzard's, the log keeps taking events while another tab is
+ -- selected, so switching back to it shows what happened meanwhile instead
+ -- of rebuilding it from the kept entries (which only reach back 300s).
+ CombatLogUpdateFrame:SetScript("OnEvent", function(self, event)
+ if event == "COMBAT_LOG_EVENT" then
+ CombatLog_AddEvent(CombatLogGetCurrentEventInfo())
+ else
+ -- quick buttons show by solo, party or raid
+ Blizzard_CombatLog_Update_QuickButtons()
+ end
+ end)
+ CombatLogUpdateFrame:RegisterEvent("COMBAT_LOG_EVENT")
+ CombatLogUpdateFrame:RegisterEvent("PARTY_MEMBERS_CHANGED")
+ CombatLogUpdateFrame:RegisterEvent("RAID_ROSTER_UPDATE")
+
+ -- apply the saved filter and refill the log from the kept entries, which
+ -- outlast a /reload
+ Blizzard_CombatLog_QuickButton_OnClick(Blizzard_CombatLog_Filters.currentFilter)
end)
diff --git a/modules/combatlog_config.lua b/modules/combatlog_config.lua
new file mode 100644
index 00000000..6b8fc82f
--- /dev/null
+++ b/modules/combatlog_config.lua
@@ -0,0 +1,1005 @@
+-- Combat Log settings: the Combat Log page of Classic Era's ChatConfigFrame
+-- (Blizzard_ChatFrame/Classic/ChatConfigFrame), built with pfUI's widgets.
+-- The combatlog module opens it from the Combat Log tab's menu and hands it
+-- the filter state as `log`.
+setfenv(1, pfUI:GetEnvironment())
+
+pfUI.combatlog = {}
+
+-- ChatConfigFrame's eventList states for the subtypes of an unchecked group
+local GRAY_CHECKED = 1
+local UNCHECKED_ENABLED = 2
+local UNCHECKED_DISABLED = 3
+
+local SCHOOL_MASK_FIRE = 4
+local SCHOOL_MASK_FROST = 16
+
+-- ChatConfigFrame's cap on saved filters
+local MAX_COMBATLOG_FILTERS = 20
+local FILTER_ROWS = 4
+local FILTER_ROW_HEIGHT = 16
+
+local function Resolve(value)
+ if type(value) == "function" then return value() end
+ return value
+end
+
+local function SetCheck(check, checked)
+ check:SetChecked(checked and 1 or nil)
+end
+
+local function SetCheckEnabled(check, enabled)
+ if enabled then
+ check:Enable()
+ check.text:SetTextColor(1, 1, 1)
+ else
+ check:Disable()
+ check.text:SetTextColor(.5, .5, .5)
+ end
+end
+
+-- ChatConfigCheckButtonTemplate and ChatConfigSmallCheckButtonTemplate
+local function CreateCheck(parent, text, tooltip, small)
+ local check = CreateFrame("CheckButton", nil, parent, "UICheckButtonTemplate")
+ SkinCheckbox(check, small and 12 or 14)
+ check.text = check:CreateFontString(nil, "OVERLAY", small and "GameFontHighlightSmall" or "GameFontHighlight")
+ check.text:SetPoint("LEFT", check, "RIGHT", 2, 0)
+ check.text:SetText(text)
+ check:SetHitRectInsets(0, small and -70 or -145, 0, 0)
+ check.tooltip = tooltip
+ check:SetScript("OnClick", function(self)
+ local checked = self:GetChecked()
+ if self.func then self.func(self, checked) end
+ PlaySound(checked and SOUNDKIT.IG_MAINMENU_OPTION_CHECKBOX_ON or SOUNDKIT.IG_MAINMENU_OPTION_CHECKBOX_OFF)
+ end)
+ check:SetScript("OnEnter", function(self)
+ if self.tooltip then
+ GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
+ GameTooltip:SetText(self.tooltip, 1, 1, 1, 1, 1)
+ GameTooltip:Show()
+ end
+ end)
+ check:SetScript("OnLeave", function()
+ GameTooltip:Hide()
+ end)
+ return check
+end
+
+-- ChatConfigBoxWithHeaderTemplate
+local function CreateBox(parent, title)
+ local box = CreateFrame("Frame", nil, parent)
+ CreateBackdrop(box, nil, nil, .75)
+ if title then
+ box.title = box:CreateFontString(nil, "OVERLAY", "GameFontNormal")
+ box.title:SetPoint("BOTTOMLEFT", box, "TOPLEFT", 0, 4)
+ box.title:SetText(title)
+ end
+ return box
+end
+
+local function CreateSwatch(parent)
+ local swatch = CreateFrame("Button", nil, parent)
+ swatch:SetSize(24, 12)
+ CreateBackdrop(swatch)
+ swatch.prev = swatch.backdrop:CreateTexture(nil, "OVERLAY")
+ swatch.prev:SetAllPoints(swatch)
+ if swatch.backdrop_shadow then swatch.backdrop_shadow:Hide() end
+ return swatch
+end
+
+local function CreateButton(parent, text, width)
+ local button = CreateFrame("Button", nil, parent, "UIPanelButtonTemplate")
+ SkinButton(button)
+ button:SetSize(width, 22)
+ button:SetText(text)
+ return button
+end
+
+function pfUI.combatlog.CreateConfig(log)
+ local selected -- CHATCONFIG_SELECTED_FILTER
+ local selectedIndex -- ChatConfigCombatSettingsFilters.selectedFilter
+ local changed -- the log's active filter was edited; it reapplies on close
+ local Update -- refreshes every page from the selected filter
+
+ -- the log reapplies its filter on close only after an edit to that filter,
+ -- so closing the window doesn't clear what the log holds
+ local function Edited()
+ local filters = log.GetFilters()
+ if selected == filters.filters[filters.currentFilter] then changed = true end
+ Update()
+ end
+
+ --
+ -- The filter model (ChatConfigFrame's helpers). A filter's first part holds
+ -- the event list and the source flags. Its second part holds the dest flags,
+ -- unless it names units by GUID; a one-part filter keeps both in its first.
+ --
+ local function UsesGUID(direction)
+ local flags = selected.filters[1][direction == "SOURCE" and "sourceFlags" or "destFlags"]
+ for k in pairs(flags or {}) do
+ if type(k) == "string" then return true end
+ end
+ return false
+ end
+
+ local function DestFilter()
+ if UsesGUID("SOURCE") or UsesGUID("DEST") then return selected.filters[1] end
+ return selected.filters[2] or selected.filters[1]
+ end
+
+ -- no flag table means every unit; unchecking one starts from all of them
+ local function AllFlags()
+ return {
+ [COMBATLOG_FILTER_MINE] = true, [COMBATLOG_FILTER_MY_PET] = true,
+ [COMBATLOG_FILTER_FRIENDLY_UNITS] = true, [COMBATLOG_FILTER_HOSTILE_PLAYERS] = true,
+ [COMBATLOG_FILTER_HOSTILE_UNITS] = true, [COMBATLOG_FILTER_NEUTRAL_UNITS] = true,
+ [COMBATLOG_FILTER_UNKNOWN_UNITS] = true,
+ }
+ end
+
+ local function IsMessageDoneBy(flag)
+ local flags = selected.filters[1].sourceFlags
+ return not flags or flags[flag]
+ end
+
+ local function IsMessageDoneTo(flag)
+ local flags = DestFilter().destFlags
+ return not flags or flags[flag]
+ end
+
+ local function ToggleMessageSource(checked, flag)
+ local filter = selected.filters[1]
+ filter.sourceFlags = filter.sourceFlags or AllFlags()
+ filter.sourceFlags[flag] = checked and true or false
+ end
+
+ local function ToggleMessageDest(checked, flag)
+ local filter = DestFilter()
+ filter.destFlags = filter.destFlags or AllFlags()
+ filter.destFlags[flag] = checked and true or false
+ end
+
+ local function GetMessageTypeState(messageType)
+ if type(messageType) == "table" then messageType = messageType[1] end
+ return selected.filters[1].eventList[messageType]
+ end
+
+ -- only the first type counts; a subtype's types go on and off together
+ local function HasMessageType(messageType)
+ local state = GetMessageTypeState(messageType)
+ return state and state ~= UNCHECKED_ENABLED and state ~= UNCHECKED_DISABLED
+ end
+
+ local function ToggleMessageType(checked, ...)
+ local eventList = selected.filters[1].eventList
+ for _, messageType in pairs({ ... }) do
+ eventList[messageType] = checked and true or false
+ end
+ end
+
+ -- A group shows checked unless its first subtype with a state is parked.
+ local function HasMessageTypeGroup(group)
+ for _, sub in ipairs(group.subTypes) do
+ local state = GetMessageTypeState(sub.type)
+ if state == GRAY_CHECKED or state == UNCHECKED_DISABLED then
+ return false
+ elseif state then
+ return true
+ end
+ end
+ return false
+ end
+
+ -- Unchecking a group parks its subtypes' states, so checking it again
+ -- restores the ones that were on.
+ local function ToggleMessageTypeGroup(checked, group)
+ local eventList = selected.filters[1].eventList
+ for _, sub in ipairs(group.subTypes) do
+ local state = GetMessageTypeState(sub.type)
+ local on = state == true or state == GRAY_CHECKED
+ local value
+ if checked then
+ value = on and true or UNCHECKED_ENABLED
+ else
+ value = on and GRAY_CHECKED or UNCHECKED_DISABLED
+ end
+ local types = type(sub.type) == "table" and sub.type or { sub.type }
+ for _, messageType in pairs(types) do
+ eventList[messageType] = value
+ end
+ end
+ end
+
+ --
+ -- The checkbox tables (COMBAT_CONFIG_MESSAGESOURCES_*, _MESSAGETYPES_*).
+ -- Enchants and pet loyalty are left out: ClassicAPI never logs them.
+ --
+ local function Source(text, flag, tooltip)
+ return {
+ text = text,
+ checked = function() return IsMessageDoneBy(flag) end,
+ hidden = function() return UsesGUID("SOURCE") end,
+ func = function(self, checked) ToggleMessageSource(checked, flag) end,
+ tooltip = tooltip,
+ }
+ end
+
+ local function Dest(text, flag, tooltip)
+ return {
+ text = text,
+ checked = function() return IsMessageDoneTo(flag) end,
+ hidden = function() return UsesGUID("DEST") end,
+ func = function(self, checked) ToggleMessageDest(checked, flag) end,
+ tooltip = tooltip,
+ }
+ end
+
+ local MESSAGESOURCES_BY = {
+ {
+ text = function() return UsesGUID("SOURCE") and COMBATLOG_FILTER_STRING_CUSTOM_UNIT or COMBATLOG_FILTER_STRING_ME end,
+ checked = function() return UsesGUID("SOURCE") or IsMessageDoneBy(COMBATLOG_FILTER_MINE) end,
+ disabled = function() return UsesGUID("SOURCE") end,
+ func = function(self, checked) ToggleMessageSource(checked, COMBATLOG_FILTER_MINE) end,
+ tooltip = FILTER_BY_ME_COMBATLOG_TOOLTIP,
+ },
+ Source(COMBATLOG_FILTER_STRING_MY_PET, COMBATLOG_FILTER_MY_PET, FILTER_BY_PET_COMBATLOG_TOOLTIP),
+ Source(COMBATLOG_FILTER_STRING_FRIENDLY_UNITS, COMBATLOG_FILTER_FRIENDLY_UNITS, FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP),
+ Source(COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS, COMBATLOG_FILTER_HOSTILE_PLAYERS, FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP),
+ Source(COMBATLOG_FILTER_STRING_HOSTILE_UNITS, COMBATLOG_FILTER_HOSTILE_UNITS, FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP),
+ Source(COMBATLOG_FILTER_STRING_NEUTRAL_UNITS, COMBATLOG_FILTER_NEUTRAL_UNITS, FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP),
+ Source(COMBATLOG_FILTER_STRING_UNKNOWN_UNITS, COMBATLOG_FILTER_UNKNOWN_UNITS, FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP),
+ }
+
+ local MESSAGESOURCES_TO = {
+ {
+ text = function() return UsesGUID("DEST") and COMBATLOG_FILTER_STRING_CUSTOM_UNIT or COMBATLOG_FILTER_STRING_ME end,
+ checked = function() return UsesGUID("DEST") or IsMessageDoneTo(COMBATLOG_FILTER_MINE) end,
+ disabled = function() return UsesGUID("DEST") end,
+ func = function(self, checked) ToggleMessageDest(checked, COMBATLOG_FILTER_MINE) end,
+ tooltip = FILTER_TO_ME_COMBATLOG_TOOLTIP,
+ },
+ Dest(COMBATLOG_FILTER_STRING_MY_PET, COMBATLOG_FILTER_MY_PET, FILTER_TO_PET_COMBATLOG_TOOLTIP),
+ Dest(COMBATLOG_FILTER_STRING_FRIENDLY_UNITS, COMBATLOG_FILTER_FRIENDLY_UNITS, FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP),
+ Dest(COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS, COMBATLOG_FILTER_HOSTILE_PLAYERS, FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP),
+ Dest(COMBATLOG_FILTER_STRING_HOSTILE_UNITS, COMBATLOG_FILTER_HOSTILE_UNITS, FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP),
+ Dest(COMBATLOG_FILTER_STRING_NEUTRAL_UNITS, COMBATLOG_FILTER_NEUTRAL_UNITS, FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP),
+ Dest(COMBATLOG_FILTER_STRING_UNKNOWN_UNITS, COMBATLOG_FILTER_UNKNOWN_UNITS, FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP),
+ }
+
+ -- a subtype that turns its event types on and off together
+ local function Type(text, tooltip, ...)
+ local types = { ... }
+ return {
+ text = text,
+ type = types,
+ checked = function() return HasMessageType(types) end,
+ func = function(self, checked) ToggleMessageType(checked, unpack(types)) end,
+ tooltip = tooltip,
+ }
+ end
+
+ local AURA_TYPES = { "SPELL_AURA_APPLIED", "SPELL_AURA_APPLIED_DOSE", "SPELL_AURA_REMOVED", "SPELL_AURA_REMOVED_DOSE", "SPELL_AURA_REFRESH" }
+
+ -- buffs and debuffs share the aura events; those stop only when both are off
+ local function Aura(text, tooltip, setting, other)
+ return {
+ text = text,
+ type = AURA_TYPES,
+ checked = function() return not selected.settings[setting] end,
+ func = function(self, checked)
+ selected.settings[setting] = not checked
+ if checked or selected.settings[other] then
+ ToggleMessageType(checked, unpack(AURA_TYPES))
+ end
+ end,
+ tooltip = tooltip,
+ }
+ end
+
+ local MESSAGETYPES_LEFT = {
+ {
+ text = MELEE, tooltip = MELEE_COMBATLOG_TOOLTIP,
+ subTypes = {
+ Type(DAMAGE, SWING_DAMAGE_COMBATLOG_TOOLTIP, "SWING_DAMAGE"),
+ Type(MISSES, SWING_MISSED_COMBATLOG_TOOLTIP, "SWING_MISSED"),
+ },
+ },
+ {
+ text = RANGED, tooltip = RANGED_COMBATLOG_TOOLTIP,
+ subTypes = {
+ Type(DAMAGE, RANGE_DAMAGE_COMBATLOG_TOOLTIP, "RANGE_DAMAGE"),
+ Type(MISSES, RANGE_MISSED_COMBATLOG_TOOLTIP, "RANGE_MISSED"),
+ },
+ },
+ {
+ text = AURAS, tooltip = AURAS_COMBATLOG_TOOLTIP,
+ subTypes = {
+ Aura(BENEFICIAL, BENEFICIAL_AURA_COMBATLOG_TOOLTIP, "hideBuffs", "hideDebuffs"),
+ Aura(HOSTILE, HARMFUL_AURA_COMBATLOG_TOOLTIP, "hideDebuffs", "hideBuffs"),
+ Type(DISPELS, DISPEL_AURA_COMBATLOG_TOOLTIP, "SPELL_DISPEL", "SPELL_DISPEL_FAILED", "SPELL_STOLEN"),
+ },
+ },
+ {
+ text = PERIODIC, tooltip = SPELL_PERIODIC_COMBATLOG_TOOLTIP,
+ subTypes = {
+ Type(DAMAGE, SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP, "SPELL_PERIODIC_DAMAGE"),
+ Type(MISSES, SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP, "SPELL_PERIODIC_MISSED"),
+ Type(HEALS, SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP, "SPELL_PERIODIC_HEAL"),
+ Type(OTHER, SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP, "SPELL_PERIODIC_DRAIN", "SPELL_PERIODIC_LEECH"),
+ },
+ },
+ }
+
+ local MESSAGETYPES_RIGHT = {
+ {
+ text = SPELLS, tooltip = SPELLS_COMBATLOG_TOOLTIP,
+ subTypes = {
+ Type(DAMAGE, SPELL_DAMAGE_COMBATLOG_TOOLTIP, "SPELL_DAMAGE"),
+ Type(MISSES, SPELL_MISSED_COMBATLOG_TOOLTIP, "SPELL_MISSED"),
+ Type(HEALS, SPELL_HEAL_COMBATLOG_TOOLTIP, "SPELL_HEAL"),
+ Type(POWER_GAINS, POWER_GAINS_COMBATLOG_TOOLTIP, "SPELL_ENERGIZE", "SPELL_PERIODIC_ENERGIZE"),
+ Type(DRAINS, SPELL_DRAIN_COMBATLOG_TOOLTIP, "SPELL_DRAIN", "SPELL_LEECH"),
+ Type(INTERRUPTS, SPELL_INTERRUPT_COMBATLOG_TOOLTIP, "SPELL_INTERRUPT"),
+ Type(SPECIAL, SPELL_INSTAKILL_COMBATLOG_TOOLTIP, "SPELL_INSTAKILL", "SPELL_DURABILITY_DAMAGE", "SPELL_DURABILITY_DAMAGE_ALL"),
+ Type(EXTRA_ATTACKS, SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP, "SPELL_EXTRA_ATTACKS"),
+ Type(SUMMONS, SPELL_SUMMON_COMBATLOG_TOOLTIP, "SPELL_SUMMON"),
+ Type(RESURRECT, SPELL_RESURRECT_COMBATLOG_TOOLTIP, "SPELL_RESURRECT"),
+ },
+ },
+ {
+ text = SPELL_CASTING, tooltip = SPELL_CASTING_COMBATLOG_TOOLTIP,
+ subTypes = {
+ Type(START, SPELL_CAST_START_COMBATLOG_TOOLTIP, "SPELL_CAST_START"),
+ Type(SUCCESS, SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP, "SPELL_CAST_SUCCESS"),
+ Type(FAILURES, SPELL_CAST_FAILED_COMBATLOG_TOOLTIP, "SPELL_CAST_FAILED"),
+ },
+ },
+ }
+
+ local MESSAGETYPES_MISC = {
+ Type(DAMAGE_SHIELD, DAMAGE_SHIELD_COMBATLOG_TOOLTIP, "DAMAGE_SHIELD", "DAMAGE_SHIELD_MISSED"),
+ Type(ENVIRONMENTAL_DAMAGE, ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP, "ENVIRONMENTAL_DAMAGE"),
+ Type(KILLS, KILLS_COMBATLOG_TOOLTIP, "PARTY_KILL"),
+ Type(DEATHS, DEATHS_COMBATLOG_TOOLTIP, "UNIT_DIED", "UNIT_DESTROYED", "UNIT_DISSIPATES"),
+ }
+
+ local UNIT_COLORS = {
+ { text = COMBATLOG_FILTER_STRING_ME, flag = COMBATLOG_FILTER_MINE },
+ { text = COMBATLOG_FILTER_STRING_MY_PET, flag = COMBATLOG_FILTER_MY_PET },
+ { text = COMBATLOG_FILTER_STRING_FRIENDLY_UNITS, flag = COMBATLOG_FILTER_FRIENDLY_UNITS },
+ { text = COMBATLOG_FILTER_STRING_HOSTILE_UNITS, flag = COMBATLOG_FILTER_HOSTILE_UNITS },
+ { text = COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS, flag = COMBATLOG_FILTER_HOSTILE_PLAYERS },
+ { text = COMBATLOG_FILTER_STRING_NEUTRAL_UNITS, flag = COMBATLOG_FILTER_NEUTRAL_UNITS },
+ { text = COMBATLOG_FILTER_STRING_UNKNOWN_UNITS, flag = COMBATLOG_FILTER_UNKNOWN_UNITS },
+ }
+
+ --
+ -- Checkbox builders (ChatConfig_CreateCheckboxes, _CreateTieredCheckboxes)
+ --
+ local function CreateCheckboxList(parent, title, entries)
+ local box = CreateBox(parent, title)
+ box:SetWidth(200)
+ box.entries = entries
+ box.checks = {}
+ for i, entry in ipairs(entries) do
+ local check = CreateCheck(box, nil, entry.tooltip)
+ local func = entry.func
+ check.func = function(self, checked) func(self, checked) Edited() end
+ box.checks[i] = check
+ end
+ return box
+ end
+
+ -- hidden entries close up, and the box fits the rest
+ local function UpdateCheckboxList(box)
+ local shown = 0
+ for i, entry in ipairs(box.entries) do
+ local check = box.checks[i]
+ if Resolve(entry.hidden) then
+ check:Hide()
+ else
+ check:ClearAllPoints()
+ check:SetPoint("TOPLEFT", box, "TOPLEFT", 8, -6 - shown * 22)
+ check.text:SetText(Resolve(entry.text))
+ SetCheck(check, Resolve(entry.checked))
+ SetCheckEnabled(check, not Resolve(entry.disabled))
+ check:Show()
+ shown = shown + 1
+ end
+ end
+ box:SetHeight(shown * 22 + 8)
+ end
+
+ -- a checkbox per group with its subtypes in two columns under it; an entry
+ -- without subtypes is a plain checkbox
+ local function CreateTieredList(parent, entries, small)
+ local list = CreateFrame("Frame", nil, parent)
+ list:SetWidth(220)
+ list.entries = entries
+ list.checks = {}
+ local y = 0
+ for i, entry in ipairs(entries) do
+ local check = CreateCheck(list, entry.text, entry.tooltip, small)
+ check:SetPoint("TOPLEFT", list, "TOPLEFT", 0, -y)
+ y = y + 22
+ check.subs = {}
+ if entry.subTypes then
+ check.func = function(self, checked) ToggleMessageTypeGroup(checked, entry) Edited() end
+ for k, sub in ipairs(entry.subTypes) do
+ local subcheck = CreateCheck(list, sub.text, sub.tooltip, true)
+ subcheck:SetPoint("TOPLEFT", check, "BOTTOMLEFT", 15 + (k - 1) % 2 * 95, -2 - ceil(k / 2 - 1) * 20)
+ local func = sub.func
+ subcheck.func = function(self, checked) func(self, checked) Edited() end
+ check.subs[k] = subcheck
+ end
+ y = y + ceil(#entry.subTypes / 2) * 20 + 8
+ else
+ local func = entry.func
+ check.func = function(self, checked) func(self, checked) Edited() end
+ end
+ list.checks[i] = check
+ end
+ list:SetHeight(y)
+ return list
+ end
+
+ -- subtypes take clicks only under a checked group
+ local function UpdateTieredList(list)
+ for i, entry in ipairs(list.entries) do
+ local check = list.checks[i]
+ if entry.subTypes then
+ local groupChecked = HasMessageTypeGroup(entry)
+ SetCheck(check, groupChecked)
+ for k, sub in ipairs(entry.subTypes) do
+ SetCheck(check.subs[k], Resolve(sub.checked))
+ SetCheckEnabled(check.subs[k], groupChecked)
+ end
+ else
+ SetCheck(check, Resolve(entry.checked))
+ end
+ end
+ end
+
+ local function PickColor(color)
+ local r, g, b = color.r, color.g, color.b
+ -- SetColorRGB runs the installed func; drop the last picker user's first
+ ColorPickerFrame.func = nil
+ ColorPickerFrame.cancelFunc = nil
+ ColorPickerFrame.hasOpacity = nil
+ ColorPickerFrame.opacityFunc = nil
+ ColorPickerFrame:SetColorRGB(r, g, b)
+ ColorPickerFrame.func = function()
+ color.r, color.g, color.b = ColorPickerFrame:GetColorRGB()
+ Edited()
+ end
+ ColorPickerFrame.cancelFunc = function()
+ color.r, color.g, color.b = r, g, b
+ Edited()
+ end
+ ColorPickerFrame:SetFrameStrata("DIALOG")
+ ShowUIPanel(ColorPickerFrame)
+ end
+
+ -- CombatConfig_Colorize_Update's example lines: you hit a target, it hits you
+ local function UpdateExamples(page)
+ local player, guid = UnitName("player"), UnitGUID("player")
+ local text, r, g, b = log.FormatEvent(selected, 0, "SPELL_DAMAGE", false,
+ guid, player, 0x511, 0, "0xF13000012B000820", EXAMPLE_TARGET_MONSTER, 0x10a28, 0,
+ 116, EXAMPLE_SPELL_FROSTBOLT, SCHOOL_MASK_FROST, 27, 0, SCHOOL_MASK_FROST, nil, nil, nil, 1)
+ page.example1:SetText(text)
+ page.example1:SetTextColor(r, g, b)
+
+ text, r, g, b = log.FormatEvent(selected, 0, "SPELL_DAMAGE", false,
+ "0xF13000024D002914", EXAMPLE_TARGET_MONSTER, 0x10a48, 0, guid, player, 0x511, 0,
+ 20793, EXAMPLE_SPELL_FIREBALL, SCHOOL_MASK_FIRE, 68, 0, SCHOOL_MASK_FIRE)
+ page.example2:SetText(text)
+ page.example2:SetTextColor(r, g, b)
+ end
+
+ local function CreateExamples(page)
+ page.example1 = page:CreateFontString(nil, "OVERLAY", "GameFontNormal")
+ page.example1:SetPoint("TOPLEFT", page, "TOPLEFT", 25, -27)
+ page.example1:SetWidth(540)
+ page.example1:SetJustifyH("LEFT")
+ page.example2 = page:CreateFontString(nil, "OVERLAY", "GameFontNormal")
+ page.example2:SetPoint("TOPLEFT", page.example1, "BOTTOMLEFT", 0, 0)
+ page.example2:SetWidth(540)
+ page.example2:SetJustifyH("LEFT")
+ local title = page:CreateFontString(nil, "OVERLAY", "GameFontNormalSmall")
+ title:SetPoint("BOTTOMLEFT", page.example1, "TOPLEFT", 0, 3)
+ title:SetText(EXAMPLE_TEXT)
+ end
+
+ -- a checkbox bound to one of the selected filter's settings
+ local function SettingCheck(parent, text, tooltip, setting, small)
+ local check = CreateCheck(parent, text, tooltip, small)
+ check.setting = setting
+ check.func = function(self, checked)
+ selected.settings[setting] = checked and true or false
+ Edited()
+ end
+ return check
+ end
+
+ --
+ -- The window (ChatConfigFrame with only its Combat Log category)
+ --
+ local frame = CreateFrame("Frame", "pfCombatLogConfig", UIParent)
+ frame:SetSize(620, 600)
+ frame:SetPoint("CENTER", 0, 0)
+ frame:SetFrameStrata("HIGH")
+ frame:SetMovable(true)
+ frame:EnableMouse(true)
+ frame:SetClampedToScreen(true)
+ frame:RegisterForDrag("LeftButton")
+ frame:SetScript("OnDragStart", function() this:StartMoving() end)
+ frame:SetScript("OnDragStop", function() this:StopMovingOrSizing() end)
+ CreateBackdrop(frame, nil, nil, .9)
+ CreateBackdropShadow(frame)
+ tinsert(UISpecialFrames, "pfCombatLogConfig")
+ frame:Hide()
+
+ frame.title = frame:CreateFontString(nil, "OVERLAY", "GameFontNormal")
+ frame.title:SetPoint("TOP", frame, "TOP", 0, -10)
+ frame.title:SetText(COMBAT_LOG)
+
+ local closeButton = CreateFrame("Button", nil, frame, "UIPanelCloseButton")
+ closeButton:SetPoint("TOPRIGHT", frame, "TOPRIGHT", -4, -4)
+ SkinCloseButton(closeButton, frame.backdrop or frame, -6, -6)
+
+ --
+ -- The saved filters: a list to pick one from, and buttons to reorder,
+ -- copy, add and delete them
+ --
+ local filterList = CreateFrame("Frame", nil, frame, "pfUIScrollBoxListTemplate")
+ filterList:SetPoint("TOPLEFT", frame, "TOPLEFT", 12, -32)
+ filterList:SetPoint("TOPRIGHT", frame, "TOPRIGHT", -12, -32)
+ -- the template keeps 5px around the rows, which sit 2px apart
+ filterList:SetHeight(FILTER_ROWS * (FILTER_ROW_HEIGHT + 2) - 2 + 10)
+ CreateBackdrop(filterList, nil, nil, .75)
+
+ local SelectFilter
+
+ local function InitFilterRow(row, entry)
+ if not row.text then
+ row.highlight = row:CreateTexture(nil, "BACKGROUND")
+ row.highlight:SetAllPoints(row)
+ row.highlight:SetTexture(.3, .3, .3, .4)
+ row.hover = row:CreateTexture(nil, "BACKGROUND")
+ row.hover:SetAllPoints(row)
+ row.hover:SetTexture(1, 1, 1, .1)
+ row.hover:Hide()
+ row.text = row:CreateFontString(nil, "OVERLAY", "GameFontNormal")
+ row.text:SetPoint("LEFT", row, "LEFT", 4, 0)
+ row:SetScript("OnClick", function() SelectFilter(row.index) end)
+ row:SetScript("OnEnter", function() row.hover:Show() end)
+ row:SetScript("OnLeave", function() row.hover:Hide() end)
+ end
+ row.index = entry.index
+ row.text:SetText(entry.name)
+ row.highlight:SetShown(entry.index == selectedIndex)
+ end
+
+ local filterView = CreateScrollBoxListLinearView(0, 0, 0, 2, 2)
+ filterView:SetElementExtent(FILTER_ROW_HEIGHT)
+ filterView:SetElementInitializer("Button", InitFilterRow)
+ ScrollUtil.InitScrollBoxListWithScrollBar(filterList.ScrollBox, filterList.ScrollBar, filterView)
+
+ -- ChatConfig_MoveFilterUp / _MoveFilterDown; the active filter keeps its
+ -- place in the log
+ local function MoveFilter(offset)
+ local filters = log.GetFilters()
+ local to = selectedIndex + offset
+ if to < 1 or to > #filters.filters then return end
+ filters.filters[selectedIndex], filters.filters[to] = filters.filters[to], filters.filters[selectedIndex]
+ if filters.currentFilter == selectedIndex then
+ filters.currentFilter = to
+ elseif filters.currentFilter == to then
+ filters.currentFilter = selectedIndex
+ end
+ log.UpdateQuickButtons()
+ SelectFilter(to)
+ end
+
+ local function CreateMoveButton(dir, tooltip, offset)
+ local button = CreateFrame("Button", nil, frame)
+ SkinArrowButton(button, dir, 16)
+ button:SetScript("OnClick", function()
+ MoveFilter(offset)
+ PlaySound(SOUNDKIT.U_CHAT_SCROLL_BUTTON)
+ end)
+ button:SetScript("OnEnter", function()
+ GameTooltip:SetOwner(this, "ANCHOR_RIGHT")
+ GameTooltip:SetText(tooltip, 1, 1, 1)
+ GameTooltip:Show()
+ end)
+ button:SetScript("OnLeave", function() GameTooltip:Hide() end)
+ return button
+ end
+
+ local moveUp = CreateMoveButton("up", MOVE_FILTER_UP, -1)
+ moveUp:SetPoint("TOPLEFT", filterList, "BOTTOMLEFT", 4, -8)
+ local moveDown = CreateMoveButton("down", MOVE_FILTER_DOWN, 1)
+ moveDown:SetPoint("LEFT", moveUp, "RIGHT", 8, 0)
+
+ -- CombatConfig_DeleteCurrentCombatFilter; the log switches to the first
+ -- filter only when the one it shows is deleted
+ local function DeleteFilter()
+ local filters = log.GetFilters()
+ if #filters.filters <= 1 then return end
+ tremove(filters.filters, selectedIndex)
+ if selectedIndex == filters.currentFilter then
+ log.SelectFilter(1)
+ changed = nil
+ else
+ if selectedIndex < filters.currentFilter then
+ filters.currentFilter = filters.currentFilter - 1
+ end
+ log.UpdateQuickButtons()
+ end
+ SelectFilter(1)
+ end
+
+ local deleteButton = CreateButton(frame, DELETE, 70)
+ deleteButton:SetPoint("TOPRIGHT", filterList, "BOTTOMRIGHT", 0, -6)
+ deleteButton:SetScript("OnClick", function()
+ CreateQuestionDialog(CONFIRM_COMBAT_FILTER_DELETE, DeleteFilter)
+ end)
+
+ local addButton = CreateButton(frame, ADD_FILTER, 90)
+ addButton:SetPoint("RIGHT", deleteButton, "LEFT", -6, 0)
+ addButton:SetScript("OnClick", function()
+ log.NewFilter(nil, SelectFilter)
+ end)
+
+ local copyButton = CreateButton(frame, COPY_FILTER, 90)
+ copyButton:SetPoint("RIGHT", addButton, "LEFT", -6, 0)
+ copyButton:SetScript("OnClick", function()
+ log.NewFilter(selected, SelectFilter)
+ end)
+
+ --
+ -- The selected filter's settings, one tab at a time
+ --
+ local content = CreateFrame("Frame", nil, frame)
+ content:SetPoint("TOPLEFT", frame, "TOPLEFT", 12, -172)
+ content:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -12, 42)
+ CreateBackdrop(content, nil, nil, .75)
+
+ local tabs = {}
+ local function SelectTab(id)
+ for i, tab in ipairs(tabs) do
+ tab.page:SetShown(i == id)
+ if i == id then tab:LockHighlight() else tab:UnlockHighlight() end
+ end
+ end
+
+ local function CreateTab(text)
+ local tab = CreateButton(frame, text, 10)
+ tab:SetHeight(20)
+ tab:SetWidth(tab:GetTextWidth() + 24)
+ local id = #tabs + 1
+ if id == 1 then
+ tab:SetPoint("BOTTOMLEFT", content, "TOPLEFT", 0, 6)
+ else
+ tab:SetPoint("LEFT", tabs[id - 1], "RIGHT", 4, 0)
+ end
+ tab:SetScript("OnClick", function()
+ PlaySound(SOUNDKIT.U_CHAT_SCROLL_BUTTON)
+ SelectTab(id)
+ end)
+ tab.page = CreateFrame("Frame", nil, content)
+ tab.page:SetAllPoints(content)
+ tabs[id] = tab
+ return tab.page
+ end
+
+ -- Message Sources
+ local page = CreateTab(MESSAGE_SOURCES)
+ local doneBy = CreateCheckboxList(page, DONE_BY, MESSAGESOURCES_BY)
+ doneBy:SetPoint("TOPLEFT", page, "TOPLEFT", 13, -25)
+ local doneTo = CreateCheckboxList(page, DONE_TO, MESSAGESOURCES_TO)
+ doneTo:SetPoint("TOPLEFT", doneBy, "TOPRIGHT", 50, 0)
+
+ -- Message Types
+ page = CreateTab(MESSAGE_TYPES)
+ local typesLeft = CreateTieredList(page, MESSAGETYPES_LEFT)
+ typesLeft:SetPoint("TOPLEFT", page, "TOPLEFT", 13, -10)
+ local typesRight = CreateTieredList(page, MESSAGETYPES_RIGHT)
+ typesRight:SetPoint("TOPLEFT", typesLeft, "TOPRIGHT", 60, 0)
+ local typesMisc = CreateTieredList(page, MESSAGETYPES_MISC, true)
+ typesMisc:SetPoint("TOPLEFT", typesRight, "BOTTOMLEFT", 0, -22)
+ local miscTitle = page:CreateFontString(nil, "OVERLAY", "GameFontHighlight")
+ miscTitle:SetPoint("BOTTOMLEFT", typesMisc, "TOPLEFT", 0, 4)
+ miscTitle:SetText(MISCELLANEOUS)
+
+ -- Colors
+ local colors = CreateTab(COLORS)
+ CreateExamples(colors)
+
+ local unitColors = CreateBox(colors, UNIT_COLORS)
+ unitColors:SetPoint("TOPLEFT", colors, "TOPLEFT", 13, -100)
+ unitColors:SetSize(200, #UNIT_COLORS * 22 + 8)
+ unitColors.swatches = {}
+ for i, entry in ipairs(UNIT_COLORS) do
+ local label = unitColors:CreateFontString(nil, "OVERLAY", "GameFontHighlight")
+ label:SetPoint("TOPLEFT", unitColors, "TOPLEFT", 8, -10 - (i - 1) * 22)
+ label:SetText(entry.text)
+ local swatch = CreateSwatch(unitColors)
+ swatch:SetPoint("RIGHT", unitColors, "TOPRIGHT", -8, -15 - (i - 1) * 22)
+ swatch.flag = entry.flag
+ swatch:SetScript("OnClick", function() PickColor(selected.colors.unitColoring[this.flag]) end)
+ unitColors.swatches[i] = swatch
+ end
+
+ local highlighting = CreateBox(colors, HIGHLIGHTING)
+ highlighting:SetPoint("TOPLEFT", unitColors, "BOTTOMLEFT", 0, -25)
+ highlighting:SetSize(200, 50)
+ local highlightChecks = {
+ SettingCheck(highlighting, COMBATLOG_HIGHLIGHT_KILL, HIGHLIGHT_KILL_COMBATLOG_TOOLTIP, "lineHighlighting", true),
+ SettingCheck(highlighting, COMBATLOG_HIGHLIGHT_ABILITY, HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP, "abilityHighlighting", true),
+ SettingCheck(highlighting, COMBATLOG_HIGHLIGHT_DAMAGE, HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP, "amountHighlighting", true),
+ SettingCheck(highlighting, COMBATLOG_HIGHLIGHT_SCHOOL, HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP, "schoolNameHighlighting", true),
+ }
+ for i, check in ipairs(highlightChecks) do
+ check:SetPoint("TOPLEFT", highlighting, "TOPLEFT", 8 + (i - 1) % 2 * 95, -6 - ceil(i / 2 - 1) * 20)
+ end
+
+ local colorize = CreateBox(colors, COLORIZE)
+ colorize:SetPoint("TOPLEFT", unitColors, "TOPRIGHT", 50, 0)
+ colorize:SetSize(240, 192)
+
+ local unitNames = CreateCheck(colorize, UNIT_NAMES, UNIT_NAMES_COMBATLOG_TOOLTIP)
+ unitNames:SetPoint("TOPLEFT", colorize, "TOPLEFT", 8, -6)
+ unitNames.func = function(self, checked)
+ local on = checked and true or false
+ selected.settings.unitColoring, selected.settings.sourceColoring, selected.settings.destColoring = on, on, on
+ Edited()
+ end
+
+ local spellNames = SettingCheck(colorize, SPELL_NAMES, SPELL_NAMES_COMBATLOG_TOOLTIP, "abilityColoring")
+ spellNames:SetPoint("TOPLEFT", unitNames, "BOTTOMLEFT", 0, -8)
+ local spellSchool = SettingCheck(colorize, COLOR_BY_SCHOOL, SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP, "abilitySchoolColoring", true)
+ spellSchool:SetPoint("TOPLEFT", spellNames, "BOTTOMLEFT", 15, -2)
+ local spellSwatch = CreateSwatch(colorize)
+ spellSwatch:SetPoint("RIGHT", colorize, "RIGHT", -8, 0)
+ spellSwatch:SetPoint("TOP", spellNames, "TOP", 0, -4)
+ spellSwatch:SetScript("OnClick", function() PickColor(selected.colors.defaults.spell) end)
+
+ local damageNumber = SettingCheck(colorize, DAMAGE_NUMBER, SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP, "amountColoring")
+ damageNumber:SetPoint("TOPLEFT", spellSchool, "BOTTOMLEFT", -15, -8)
+ local damageSchool = SettingCheck(colorize, COLOR_BY_SCHOOL, SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP, "amountSchoolColoring", true)
+ damageSchool:SetPoint("TOPLEFT", damageNumber, "BOTTOMLEFT", 15, -2)
+ local damageSwatch = CreateSwatch(colorize)
+ damageSwatch:SetPoint("RIGHT", colorize, "RIGHT", -8, 0)
+ damageSwatch:SetPoint("TOP", damageNumber, "TOP", 0, -4)
+ damageSwatch:SetScript("OnClick", function() PickColor(selected.colors.defaults.damage) end)
+
+ local schoolNames = SettingCheck(colorize, DAMAGE_SCHOOL_TEXT, SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP, "schoolNameColoring")
+ schoolNames:SetPoint("TOPLEFT", damageSchool, "BOTTOMLEFT", -15, -8)
+
+ local entireLine = SettingCheck(colorize, ENTIRE_LINE, ENTIRE_LINE_COMBATLOG_TOOLTIP, "lineColoring")
+ entireLine:SetPoint("TOPLEFT", schoolNames, "BOTTOMLEFT", 0, -8)
+
+ -- the two line color priorities, as radio buttons
+ local function PriorityCheck(text, tooltip, priority)
+ local check = CreateCheck(colorize, text, tooltip, true)
+ check.func = function()
+ selected.settings.lineColorPriority = priority
+ Edited()
+ end
+ return check
+ end
+ local bySource = PriorityCheck(BY_SOURCE, BY_SOURCE_COMBATLOG_TOOLTIP, 1)
+ bySource:SetPoint("TOPLEFT", entireLine, "BOTTOMLEFT", 15, -2)
+ local byTarget = PriorityCheck(BY_TARGET, BY_TARGET_COMBATLOG_TOOLTIP, 2)
+ byTarget:SetPoint("LEFT", bySource, "RIGHT", 80, 0)
+
+ -- Formatting
+ local formatting = CreateTab(FORMATTING)
+ CreateExamples(formatting)
+
+ local timestamp = SettingCheck(formatting, SHOW_TIMESTAMP, TIMESTAMP_COMBATLOG_TOOLTIP, "timestamp")
+ timestamp:SetPoint("TOPLEFT", formatting, "TOPLEFT", 25, -100)
+ local braces = SettingCheck(formatting, SHOW_BRACES, SHOW_BRACES_COMBATLOG_TOOLTIP, "braces")
+ braces:SetPoint("TOPLEFT", timestamp, "BOTTOMLEFT", 0, -15)
+
+ local unitBraces = CreateCheck(formatting, UNIT_NAMES, UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP, true)
+ unitBraces:SetPoint("TOPLEFT", braces, "BOTTOMLEFT", 15, -2)
+ unitBraces.func = function(self, checked)
+ local on = checked and true or false
+ selected.settings.unitBraces, selected.settings.sourceBraces, selected.settings.destBraces = on, on, on
+ Edited()
+ end
+ local spellBraces = SettingCheck(formatting, SPELL_NAMES, SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP, "spellBraces", true)
+ spellBraces:SetPoint("TOPLEFT", unitBraces, "BOTTOMLEFT", 0, -2)
+ local itemBraces = SettingCheck(formatting, ITEM_NAMES, ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP, "itemBraces", true)
+ itemBraces:SetPoint("TOPLEFT", spellBraces, "BOTTOMLEFT", 0, -2)
+
+ local fullText = SettingCheck(formatting, USE_FULL_TEXT_MODE, FULL_TEXT_COMBATLOG_TOOLTIP, "fullText")
+ fullText:SetPoint("TOPLEFT", itemBraces, "BOTTOMLEFT", -15, -13)
+
+ -- Settings: the filter's name and its quick button
+ local settings = CreateTab(SETTINGS)
+
+ local SetFilterName
+ local nameBox = CreateTextBox(nil, settings)
+ nameBox:SetSize(150, 20)
+ nameBox:SetMaxLetters(32)
+ nameBox:SetPoint("TOPLEFT", settings, "TOPLEFT", 37, -36)
+ nameBox:SetScript("OnEnterPressed", function()
+ SetFilterName(this:GetText())
+ this:ClearFocus()
+ end)
+ local nameLabel = settings:CreateFontString(nil, "OVERLAY", "GameFontNormalSmall")
+ nameLabel:SetPoint("BOTTOMLEFT", nameBox, "TOPLEFT", 0, 4)
+ nameLabel:SetText(FILTER_NAME)
+
+ local saveButton = CreateButton(settings, SAVE, 78)
+ saveButton:SetPoint("LEFT", nameBox, "RIGHT", 8, 0)
+ saveButton:SetScript("OnClick", function()
+ SetFilterName(nameBox:GetText())
+ nameBox:ClearFocus()
+ end)
+
+ -- CombatConfig_SetFilterName
+ function SetFilterName(name)
+ if name == "" then
+ name = format(DEFAULT_COMBATLOG_FILTER_NAME, #log.GetFilters().filters)
+ end
+ selected.name = name
+ log.UpdateQuickButtons()
+ Update()
+ end
+
+ local quickButton = CreateCheck(settings, SHOW_QUICK_BUTTON, QUICK_BUTTON_COMBATLOG_TOOLTIP)
+ quickButton:SetPoint("TOPLEFT", nameBox, "BOTTOMLEFT", -6, -19)
+ quickButton.func = function(self, checked)
+ selected.hasQuickButton = checked and true or false
+ log.UpdateQuickButtons()
+ Update()
+ end
+
+ local quickDisplay = {}
+ for i, entry in ipairs({ { SOLO, "solo" }, { PARTY, "party" }, { RAID, "raid" } }) do
+ local key = entry[2]
+ local check = CreateCheck(settings, entry[1], nil, true)
+ check:SetPoint("TOPLEFT", quickButton, "BOTTOMLEFT", 20 + (i - 1) * 95, -2)
+ check.func = function(self, checked)
+ selected.quickButtonDisplay[key] = checked and true or false
+ log.UpdateQuickButtons()
+ end
+ check.key = key
+ quickDisplay[i] = check
+ end
+
+ --
+ -- Refresh (ChatConfig_UpdateCombatSettings)
+ --
+ local function UpdateColors()
+ for _, swatch in ipairs(unitColors.swatches) do
+ local color = selected.colors.unitColoring[swatch.flag]
+ swatch.prev:SetTexture(color.r, color.g, color.b)
+ end
+ for _, check in ipairs(highlightChecks) do
+ SetCheck(check, selected.settings[check.setting])
+ end
+
+ local s = selected.settings
+ SetCheck(unitNames, s.unitColoring)
+ SetCheck(spellNames, s.abilityColoring)
+ SetCheck(spellSchool, s.abilityColoring and s.abilitySchoolColoring)
+ SetCheckEnabled(spellSchool, s.abilityColoring)
+ spellSwatch.prev:SetTexture(selected.colors.defaults.spell.r, selected.colors.defaults.spell.g, selected.colors.defaults.spell.b)
+ SetCheck(damageNumber, s.amountColoring)
+ SetCheck(damageSchool, s.amountSchoolColoring)
+ SetCheckEnabled(damageSchool, s.amountColoring)
+ damageSwatch.prev:SetTexture(selected.colors.defaults.damage.r, selected.colors.defaults.damage.g, selected.colors.defaults.damage.b)
+ SetCheck(schoolNames, s.schoolNameColoring)
+ SetCheck(entireLine, s.lineColoring)
+ SetCheck(bySource, s.lineColorPriority == 1)
+ SetCheck(byTarget, s.lineColorPriority ~= 1)
+ SetCheckEnabled(bySource, s.lineColoring)
+ SetCheckEnabled(byTarget, s.lineColoring)
+
+ UpdateExamples(colors)
+ end
+
+ local function UpdateFormatting()
+ local s = selected.settings
+ SetCheck(timestamp, s.timestamp)
+ SetCheck(braces, s.braces)
+ SetCheck(unitBraces, s.unitBraces)
+ SetCheck(spellBraces, s.spellBraces)
+ SetCheck(itemBraces, s.itemBraces)
+ SetCheckEnabled(unitBraces, s.braces)
+ SetCheckEnabled(spellBraces, s.braces)
+ SetCheckEnabled(itemBraces, s.braces)
+ SetCheck(fullText, s.fullText)
+
+ UpdateExamples(formatting)
+ end
+
+ local function UpdateSettings()
+ nameBox:SetText(selected.name or "")
+ SetCheck(quickButton, selected.hasQuickButton)
+ for _, check in ipairs(quickDisplay) do
+ SetCheck(check, selected.quickButtonDisplay[check.key])
+ SetCheckEnabled(check, selected.hasQuickButton)
+ end
+ end
+
+ function Update()
+ local filters = log.GetFilters().filters
+
+ local entries = {}
+ for i, filter in ipairs(filters) do
+ entries[i] = { index = i, name = filter.name }
+ end
+ filterList.ScrollBox:SetDataProvider(CreateDataProvider(entries), ScrollBoxConstants.RetainScrollPosition)
+
+ -- the last filter can't be deleted
+ if #filters > 1 then deleteButton:Enable() else deleteButton:Disable() end
+ if #filters < MAX_COMBATLOG_FILTERS then
+ addButton:Enable()
+ copyButton:Enable()
+ else
+ addButton:Disable()
+ copyButton:Disable()
+ end
+ if selectedIndex > 1 then moveUp:Enable() else moveUp:Disable() end
+ if selectedIndex < #filters then moveDown:Enable() else moveDown:Disable() end
+
+ UpdateCheckboxList(doneBy)
+ UpdateCheckboxList(doneTo)
+ UpdateTieredList(typesLeft)
+ UpdateTieredList(typesRight)
+ UpdateTieredList(typesMisc)
+ UpdateColors()
+ UpdateFormatting()
+ UpdateSettings()
+ end
+
+ -- ChatConfigFilter_OnClick
+ function SelectFilter(index)
+ selectedIndex = index
+ selected = log.GetFilters().filters[index]
+ Update()
+ end
+
+ --
+ -- Defaults and Okay
+ --
+ local defaultsButton = CreateButton(frame, COMBATLOG_DEFAULTS, 170)
+ defaultsButton:SetPoint("BOTTOMLEFT", frame, "BOTTOMLEFT", 12, 12)
+ defaultsButton:SetScript("OnClick", function()
+ CreateQuestionDialog(CONFIRM_COMBAT_FILTER_DEFAULTS, function()
+ log.Reset()
+ changed = nil
+ SelectFilter(1)
+ end)
+ end)
+
+ local okayButton = CreateButton(frame, OKAY, 78)
+ okayButton:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -12, 12)
+ okayButton:SetScript("OnClick", function()
+ PlaySound(SOUNDKIT.GS_TITLE_OPTION_OK)
+ frame:Hide()
+ end)
+
+ -- opens on the filter the log shows
+ frame:SetScript("OnShow", function()
+ changed = nil
+ SelectFilter(log.GetFilters().currentFilter)
+ end)
+
+ frame:SetScript("OnHide", function()
+ if changed then
+ changed = nil
+ log.SelectFilter(log.GetFilters().currentFilter)
+ end
+ end)
+
+ SelectTab(1)
+ return frame
+end