From ee73cde828c41b09a5f45cdd6b5da60824c1dabf Mon Sep 17 00:00:00 2001 From: Brues <5278969+brues-code@users.noreply.github.com> Date: Fri, 30 Oct 2026 02:19:08 -0500 Subject: [PATCH] Replace the combat log with Classic Era's Blizzard_CombatLog ChatFrame2 now shows the 4.x combat log, ported from Classic Era's Blizzard_CombatLog as the combatlog module. ClassicAPI's COMBAT_LOG_EVENT, CombatLogAddFilter and kept entries drive it, and changing filter refills the frame with BackFillMessage. Quick buttons sit above the log, and its unit, spell, raid icon and action links open Blizzard's filter menus. Filters save account-wide in pfUI_combatlog. The 1.12 CHAT_MSG_COMBAT_* and CHAT_MSG_SPELL_* events no longer reach ChatFrame2. Its message groups stay saved, so disabling the module brings the text log back. env/combatlog_.lua hold the Classic Era GlobalStrings the log reads that 1.12 lacks. --- env/combatlog_deDE.lua | 538 ++++++++ env/combatlog_enUS.lua | 538 ++++++++ env/combatlog_esES.lua | 538 ++++++++ env/combatlog_frFR.lua | 538 ++++++++ env/combatlog_koKR.lua | 538 ++++++++ env/combatlog_ruRU.lua | 538 ++++++++ env/combatlog_zhCN.lua | 538 ++++++++ init/env.xml | 8 + init/modules.xml | 1 + modules/chat.lua | 5 +- modules/combatlog.lua | 2695 ++++++++++++++++++++++++++++++++++++++++ pfUI.toc | 2 +- pfUI_ClassicAPI.toc | 2 +- pfUI_Turtle.toc | 2 +- 14 files changed, 6476 insertions(+), 5 deletions(-) create mode 100644 env/combatlog_deDE.lua create mode 100644 env/combatlog_enUS.lua create mode 100644 env/combatlog_esES.lua create mode 100644 env/combatlog_frFR.lua create mode 100644 env/combatlog_koKR.lua create mode 100644 env/combatlog_ruRU.lua create mode 100644 env/combatlog_zhCN.lua create mode 100644 modules/combatlog.lua diff --git a/env/combatlog_deDE.lua b/env/combatlog_deDE.lua new file mode 100644 index 00000000..3e357e6c --- /dev/null +++ b/env/combatlog_deDE.lua @@ -0,0 +1,538 @@ +-- Classic Era GlobalStrings (DE) that the combat log reads +-- and the 1.12 client lacks. Generated; do not edit by hand. +pfUI_locale["deDE"]["combatlog"] = { + ACTION_DAMAGE_SHIELD = "verletzt", + ACTION_DAMAGE_SHIELD_FULL_TEXT = "%2$s von %1$s reflektiert %9$s %7$s auf %4$s.%6$s", + ACTION_DAMAGE_SHIELD_FULL_TEXT_NO_SOURCE = "%2$s reflektiert %9$s %7$s auf %4$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED = "verfehlt", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK = "(Geblockt)", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT = "%4$s blockt %2$s von %1$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%4$s blockt %2$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT = "(Abgewehrt)", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT = "%4$s wehrt %2$s von %1$s ab.", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%4$s wehrt %2$s ab.", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DODGE = "(Ausgewichen)", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT = "%4$s weicht %2$s von %1$s aus.", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%4$s weicht %2$s aus.", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_EVADED = "(Entkommen)", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT = "%4$s entkommt %2$s von %1$s.", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "%4$s entkommt %2$s.", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT = "%1$s wirkt %2$s auf %4$s an und verfehlt.", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT_NO_SOURCE = "%2$s verfehlt %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE = "(Immun)", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT = "%2$s von %1$s schlägt fehl. %4$s ist immun.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%2$s schlägt fehl. %4$s ist immun.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_MISS = "(Verfehlt)", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT = "%1$s wirkt %2$s auf %4$s und verfehlt.", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s verfehlt %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_MISS_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_PARRY = "(Pariert)", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT = "%1$s pariert %2$s von %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%4$s pariert %2$s.", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_RESIST = "(Widerstanden)", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT = "%4$s widersteht %2$s von %1$s vollständig.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%4$s widersteht %2$s vollständig.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_POSSESSIVE = "1", + ACTION_DAMAGE_SPLIT = "teilt Schaden", + ACTION_DAMAGE_SPLIT_ABSORBED_FULL_TEXT = "%2$s von %1$s wurde durch %6$s von %4$s absorbiert.", + ACTION_DAMAGE_SPLIT_FULL_TEXT = "%2$s von %1$s verursacht bei %4$s %9$s.", + ACTION_DAMAGE_SPLIT_POSSESSIVE = "0", + ACTION_DAMAGE_SPLIT_RESULT_FULL_TEXT = "%2$s von %1$s fügt %6$s von %4$s %9$s Schaden zu.", + ACTION_ENCHANT_APPLIED = "verzaubert", + ACTION_ENCHANT_APPLIED_FULL_TEXT = "%1$s wirkt %2$s auf %5$s von %4$s.", + ACTION_ENCHANT_APPLIED_POSSESSIVE = "0", + ACTION_ENCHANT_REMOVED = "Verzauberung schwindet", + ACTION_ENCHANT_REMOVED_FULL_TEXT = "%2$s auf %5$s von %4$s schwindet.", + ACTION_ENCHANT_REMOVED_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE = "verletzt", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING = "Ertrinken", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_FULL_TEXT = "%4$s ertrinkt und verliert %9$s Gesundheit.", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING = "Sturz", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_FULL_TEXT = "%4$s stürzt und verliert %9$s Gesundheit.", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE = "Erschöpfung", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_FULL_TEXT = "%4$s ist erschöpft und verliert %9$s Gesundheit.", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE = "Feuer", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_FULL_TEXT = "%4$s erleidet %9$s Feuerschaden.", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FULL_TEXT = "%4$s verliert durch Umgebungsschaden %9$s Gesundheit.", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA = "Lava", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_FULL_TEXT = "%4$s verliert durch das Schwimmen in Lava %9$s Gesundheit. %6$s", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME = "Schleim", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_FULL_TEXT = "%4$s verliert durch das Schwimmen in Schleim %9$s Gesundheit. %6$s", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_POSSESSIVE = "0", + ACTION_PARTY_KILL = "besiegt", + ACTION_PARTY_KILL_FULL_TEXT = "%1$s besiegt %4$s!", + ACTION_PARTY_KILL_POSSESSIVE = "0", + ACTION_PARTY_KILL_UNCONSCIOUS = "umgehauen", + ACTION_PARTY_KILL_UNCONSCIOUS_FULL_TEXT = "%1$s hat %4$s umgehauen!", + ACTION_PARTY_KILL_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_RANGED = "Schuss", + ACTION_RANGE_DAMAGE = "trifft", + ACTION_RANGE_DAMAGE_FULL_TEXT = "%1$s schießt auf %4$s, verursacht %5$s.%6$s", + ACTION_RANGE_DAMAGE_FULL_TEXT_NO_SOURCE = "Ein Distanzangriff trifft %4$s, verursacht %5$s.%6$s", + ACTION_RANGE_DAMAGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED = "verfehlt", + ACTION_RANGE_MISSED_ABSORB = "(Absorbiert)", + ACTION_RANGE_MISSED_ABSORB_FULL_TEXT = "%4$s absorbiert den Schuss von %1$s.%6$s", + ACTION_RANGE_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_RANGE_MISSED_BLOCK = "(Geblockt)", + ACTION_RANGE_MISSED_BLOCK_FULL_TEXT = "%4$s blockt den Schuss von %1$s.%6$s", + ACTION_RANGE_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DEFLECT = "(Abgewehrt)", + ACTION_RANGE_MISSED_DEFLECT_FULL_TEXT = "%4$s wehrt den Schuss von %1$s ab.", + ACTION_RANGE_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DODGE = "(Ausgewichen)", + ACTION_RANGE_MISSED_DODGE_FULL_TEXT = "%4$s weicht dem Schuss von %1$s aus.", + ACTION_RANGE_MISSED_DODGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_EVADE = "(Entkommen)", + ACTION_RANGE_MISSED_EVADE_FULL_TEXT = "%4$s entkommt dem Schuss von %1$s.", + ACTION_RANGE_MISSED_EVADE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_FULL_TEXT = "%1$s schießt auf %4$s und verfehlt.", + ACTION_RANGE_MISSED_IMMUNE = "(Immun)", + ACTION_RANGE_MISSED_IMMUNE_FULL_TEXT = "Der Schuss von %1$s schlägt fehl. %4$s ist immun.", + ACTION_RANGE_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISFIRE = "(Verfehlt)", + ACTION_RANGE_MISSED_MISFIRE_FULL_TEXT = "%1$s schießt auf %4$s und verfehlt.", + ACTION_RANGE_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISS = "(Verfehlt)", + ACTION_RANGE_MISSED_MISS_FULL_TEXT = "%1$s schießt auf %4$s und verfehlt.", + ACTION_RANGE_MISSED_MISS_POSSESSIVE = "1", + ACTION_RANGE_MISSED_PARRY = "(Pariert)", + ACTION_RANGE_MISSED_PARRY_FULL_TEXT = "%4$s pariert den Schuss von %1$s.", + ACTION_RANGE_MISSED_PARRY_POSSESSIVE = "1", + ACTION_RANGE_MISSED_POSSESSIVE = "1", + ACTION_RANGE_MISSED_RESIST = "(Widerstanden)", + ACTION_RANGE_MISSED_RESIST_FULL_TEXT = "%4$s widersteht dem Schuss von %1$s vollständig.%6$s", + ACTION_RANGE_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED = "wirkt", + ACTION_SPELL_AURA_APPLIED_BUFF = "wirkt", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT = "%4$s gewinnt %1$s %2$s.", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT_NO_SOURCE = "%4$s gewinnt %2$s.", + ACTION_SPELL_AURA_APPLIED_BUFF_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT = "%4$s gewinnt %1$s %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s gewinnt %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF = "beeinträchtigt", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT = "%4$s wird durch %2$s von %1$s beeinträchtigt.", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s wird von %2$s beeinträchtigt.", + ACTION_SPELL_AURA_APPLIED_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT = "%4$s wird durch %2$s von %1$s beeinträchtigt. %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s wird von %2$s beeinträchtigt. %11$s", + ACTION_SPELL_AURA_APPLIED_DOSE = "Stapel", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF = "Stapel", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT = "%4$s gewinnt %1$s %2$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%4$s erhält %2$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF = "peinigt", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT = "%4$s wird durch %2$s von %1$s beeinträchtigt. (%9$s)", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s wird von %2$s beeinträchtigt (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN = "bricht", + ACTION_SPELL_AURA_BROKEN_BUFF = "bricht", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT = "%2$s von %4$s wird durch %1$s gebrochen.", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT_NO_SOURCE = "%2$s von %1$s wird durch jemanden gebrochen.", + ACTION_SPELL_AURA_BROKEN_BUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_BROKEN_DEBUFF = "bricht", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT = "%2$s von %4$s wird durch %1$s gebrochen.", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s von %1$s wurde durch jemanden gebrochen.", + ACTION_SPELL_AURA_BROKEN_DEBUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF = "bricht", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT = "%1$s bricht %2$s von %4$s durch %5$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT_NO_SOURCE = "%5$s bricht %2$s von %4$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF = "bricht", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT = "%1$s bricht %2$s von %4$s durch %5$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT_NO_SOURCE = "%5$s bricht %2$s von %4$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH = "aufgefrischt", + ACTION_SPELL_AURA_REFRESH_BUFF = "aufgefrischt", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT = "Das auf %4$s wirkende %2$s von %1$s wird aufgefrischt.", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT_NO_SOURCE = "Das auf %4$s wirkende %2$s wird aufgefrischt.", + ACTION_SPELL_AURA_REFRESH_BUFF_MASTER = "2", + ACTION_SPELL_AURA_REFRESH_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT = "Das auf %4$s wirkende %2$s von %1$s wird aufgefrischt. %11$s", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "Das auf %4$s wirkende %2$s wird aufgefrischt. %11$s", + ACTION_SPELL_AURA_REFRESH_DEBUFF = "aufgefrischt", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT = "Das auf %4$s wirkende %2$s von %1$s wird aufgefrischt.", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT_NO_SOURCE = "Das auf %4$s wirkende %2$s wird aufgefrischt.", + ACTION_SPELL_AURA_REFRESH_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT = "Das auf %4$s wirkende %2$s von %1$s wird aufgefrischt. %11$s", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "Das auf %4$s wirkende %2$s wird aufgefrischt. %11$s", + ACTION_SPELL_AURA_REFRESH_MASTER = "2", + ACTION_SPELL_AURA_REMOVED = "entfernt", + ACTION_SPELL_AURA_REMOVED_BUFF = "schwindet", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT = "Das auf %4$s wirkende %2$s von %1$s schwindet.", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT_NO_SOURCE = "Das auf %4$s wirkende %2$s schwindet.", + ACTION_SPELL_AURA_REMOVED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT = "Das auf %4$s wirkende %2$s von %1$s schwindet. %11$s", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "Das auf %4$s wirkende %2$s schwindet. %11$s", + ACTION_SPELL_AURA_REMOVED_DEBUFF = "erlischt", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT = "Das auf %4$s wirkende %2$s von %1$s erlischt.", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT_NO_SOURCE = "Das auf %4$s wirkende %2$s erlischt.", + ACTION_SPELL_AURA_REMOVED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT = "Das auf %4$s wirkende %2$s von %1$s erlischt. %11$s", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "Das auf %4$s wirkende %2$s erlischt. %11$s", + ACTION_SPELL_AURA_REMOVED_DOSE = "verringert", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF = "verringert", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT = "%2$s von %1$s lässt nach. (%9$s)", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%2$s (%9$s) lässt nach.", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF = "lässt nach", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT = "%2$s von %1$s nimmt ab. (%9$s)", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s (%9$s) nimmt ab.", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT = "Das auf %4$s wirkende %2$s von %1$s wird entfernt.", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT_NO_SOURCE = "Das auf %4$s wirkende %2$s von %1$s wird entfernt.", + ACTION_SPELL_AURA_REMOVED_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_DAMAGE = "trifft", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT = "%2$s von %1$s trifft %4$s für %5$s.%6$s", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s trifft %4$s für %5$s.%6$s", + ACTION_SPELL_BUILDING_DAMAGE_MASTER = "1", + ACTION_SPELL_BUILDING_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_HEAL = "repariert", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT = "%2$s von %1$s repariert %4$s für %9$s.%6$s", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT_NO_SOURCE = "%2$s repariert %4$s für %9$s.%6$s", + ACTION_SPELL_BUILDING_HEAL_POSSESSIVE = "1", + ACTION_SPELL_CAST_FAILED = "schlägt fehl", + ACTION_SPELL_CAST_FAILED_FULL_TEXT = "%1$s kann %2$s nicht wirken.%6$s", + ACTION_SPELL_CAST_FAILED_MASTER = "1", + ACTION_SPELL_CAST_FAILED_POSSESSIVE = "1", + ACTION_SPELL_CAST_START = "initiiert", + ACTION_SPELL_CAST_START_FULL_TEXT = "%1$s beginnt, %2$s auf %4$s zu wirken.", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_DEST = "%1$s beginnt, %2$s zu wirken.", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_SOURCE = "Etwas beginnt, %2$s auf %4$s zu wirken.", + ACTION_SPELL_CAST_START_MASTER = "2", + ACTION_SPELL_CAST_START_POSSESSIVE = "0", + ACTION_SPELL_CAST_SUCCESS = "wirkt", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT = "%1$s wirkt %2$s auf %4$s.", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_DEST = "%1$s wirkt %2$s.", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_SOURCE = "Etwas wirkt %2$s auf %4$s.", + ACTION_SPELL_CAST_SUCCESS_MASTER = "2", + ACTION_SPELL_CAST_SUCCESS_POSSESSIVE = "0", + ACTION_SPELL_CREATE = "erschafft", + ACTION_SPELL_CREATE_FULL_TEXT = "%4$s wird von %1$s durch %2$s erschaffen.%6$s", + ACTION_SPELL_CREATE_FULL_TEXT_NO_SOURCE = "%4$s wird durch %2$s erschaffen.%6$s", + ACTION_SPELL_CREATE_POSSESSIVE = "1", + ACTION_SPELL_DAMAGE = "trifft", + ACTION_SPELL_DAMAGE_FULL_TEXT = "%1$s trifft %4$s mit %2$s für %5$s.%6$s", + ACTION_SPELL_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s trifft %4$s für %5$s.%6$s", + ACTION_SPELL_DAMAGE_MASTER = "1", + ACTION_SPELL_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_DISPEL = "bannt", + ACTION_SPELL_DISPEL_BUFF = "bannt", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT = "%5$s auf %4$s wird von %1$s durch %2$s gebannt.", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT_NO_SOURCE = "%5$s auf %4$s wird durch %2$s gebannt.", + ACTION_SPELL_DISPEL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_DEBUFF = "läutert", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT = "%5$s auf %4$s wird von %1$s durch %2$s geläutert.", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT_NO_SOURCE = "%5$s auf %4$s wird durch %2$s geläutert.", + ACTION_SPELL_DISPEL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_FAILED = "Magiebannung schlägt fehl", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT = "%2$s von %1$s kann %5$s auf %4$s nicht bannen.", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT_NO_SOURCE = "%2$s kann %5$s auf %4$s nicht bannen.", + ACTION_SPELL_DISPEL_FAILED_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_POSSESSIVE = "1", + ACTION_SPELL_DRAIN = "entzieht", + ACTION_SPELL_DRAIN_FULL_TEXT = "%1$s entzieht von %4$s durch %2$s %9$s %8$s.", + ACTION_SPELL_DRAIN_FULL_TEXT_NO_SOURCE = " %2$s entzieht von %4$s %9$s %8$s.", + ACTION_SPELL_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE = "Haltbarkeitsverlust", + ACTION_SPELL_DURABILITY_DAMAGE_ALL = "kompletter Haltbarkeitsverlust", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_FULL_TEXT = "%2$s von %1$s trifft %4$s: Alle Gegenstände beschädigt.", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE_FULL_TEXT = "%2$s von %1$s trifft %4$s: %5$s beschädigt.", + ACTION_SPELL_DURABILITY_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE = "aufgeladen", + ACTION_SPELL_ENERGIZE_FULL_TEXT = "%4$s gewinnt durch %2$s von %1$s %9$s %8$s.", + ACTION_SPELL_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s gewinnt durch %2$s %9$s %8$s.", + ACTION_SPELL_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE_RESULT = "%9$s %8$s gewonnen.", + ACTION_SPELL_EXTRA_ATTACKS = "gewährt zusätzliche Angriffe", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT = "%1$s werden durch %2$s %9$s zusätzliche Angriffe gewährt.", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT_NO_SOURCE = "%2$s gewährt %9$s zusätzliche Angriffe.", + ACTION_SPELL_EXTRA_ATTACKS_POSSESSIVE = "1", + ACTION_SPELL_HEAL = "heilt", + ACTION_SPELL_HEAL_FULL_TEXT = "%2$s von %1$s heilt %4$s um %9$s.%6$s", + ACTION_SPELL_HEAL_FULL_TEXT_NO_SOURCE = "%2$s heilt %4$s um %9$s.%6$s", + ACTION_SPELL_HEAL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL = "besiegt", + ACTION_SPELL_INSTAKILL_FULL_TEXT = "%1$s besiegt %4$s durch %2$s sofort.", + ACTION_SPELL_INSTAKILL_FULL_TEXT_NO_SOURCE = "%2$s besiegt %4$s sofort.", + ACTION_SPELL_INSTAKILL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS = "umgehauen", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT = "%1$s %2$s haut %4$s um.", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT_NO_SOURCE = "%2$s haut %4$s um.", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_POSSESSIVE = "1", + ACTION_SPELL_INTERRUPT = "unterbricht", + ACTION_SPELL_INTERRUPT_FULL_TEXT = "%1$s unterbricht %4$s durch %2$s beim Wirken von %5$s.", + ACTION_SPELL_INTERRUPT_FULL_TEXT_NO_SOURCE = "%2$s unterbricht %4$s beim Wirken von %5$s.", + ACTION_SPELL_INTERRUPT_POSSESSIVE = "1", + ACTION_SPELL_LEECH = "entzieht", + ACTION_SPELL_LEECH_FULL_TEXT = "%1$s entzieht durch %2$s %9$s %8$s von %4$s. %1$s gewinnt %10$s %8$s.", + ACTION_SPELL_LEECH_FULL_TEXT_NO_SOURCE = "%2$s entzieht %4$s %9$s %8$s.", + ACTION_SPELL_LEECH_POSSESSIVE = "1", + ACTION_SPELL_LEECH_RESULT = "%10$s %8$s gewonnen", + ACTION_SPELL_MISSED = "verfehlt", + ACTION_SPELL_MISSED_ABSORB = "Absorbiert", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT = "%4$s absorbiert %2$s von %1$s.%6$s", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%4$s absorbiert %2$s.%6$s", + ACTION_SPELL_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_MISSED_BLOCK = "Geblockt", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT = "%4$s blockt %2$s von %1$s.%6$s", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%4$s blockt %2$s.%6$s", + ACTION_SPELL_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DEFLECT = "Abgewehrt", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT = "%4$s wehrt %2$s von %1$s ab.", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%4$s wehrt %2$s ab.", + ACTION_SPELL_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DODGE = "Ausgewichen", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT = "%4$s weicht %2$s von %1$s aus.", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%4$s weicht %2$s aus.", + ACTION_SPELL_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_EVADE = "Entkommen", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT = "%4$s entkommt %2$s von %1$s.", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT_NO_SOURCE = "%4$s entkommt %2$s.", + ACTION_SPELL_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_FULL_TEXT = "%1$s wirkt %2$s auf %4$s und verfehlt.", + ACTION_SPELL_MISSED_FULL_TEXT_NO_SOURCE = "%2$s verfehlt %4$s.", + ACTION_SPELL_MISSED_IMMUNE = "Immun", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT = "%2$s von %1$s schlägt fehl. %4$s ist immun.", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%2$s schlägt fehl. %4$s ist immun.", + ACTION_SPELL_MISSED_MISFIRE = "Verfehlt", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT = "%1$s wirkt %2$s auf %4$s und verfehlt.", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT_NO_SOURCE = "%2$s verfehlt %4$s.", + ACTION_SPELL_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_MISS = "Verfehlt", + ACTION_SPELL_MISSED_MISS_FULL_TEXT = "%1$s wirkt %2$s auf %4$s und verfehlt.", + ACTION_SPELL_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s verfehlt %4$s.", + ACTION_SPELL_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_MISSED_PARRY = "Pariert", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT = "%4$s pariert %2$s von %1$s.", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%4$s pariert %2$s.", + ACTION_SPELL_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_MISSED_POSSESSIVE = "1", + ACTION_SPELL_MISSED_REFLECT = "Reflektiert", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT = "%2$s von %1$s wird durch %4$s reflektiert.", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT_NO_SOURCE = "%2$s wird durch %4$s reflektiert.", + ACTION_SPELL_MISSED_RESIST = "Widerstanden", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT = "%4$s widersteht %2$s von %1$s vollständig.%6$s", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%4$s widersteht %2$s vollständig.%6$s", + ACTION_SPELL_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DAMAGE = "verletzt", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT = "%4$s erleidet durch %2$s von %1$s %5$s.%6$s", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT_NO_SOURCE = "%4$s erleidet durch %2$s %5$s.%6$s", + ACTION_SPELL_PERIODIC_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DRAIN = "entzieht", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT = "%1$s entzieht durch %2$s %9$s %8$s von %4$s.", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT_NO_SOURCE = "%2$s entzieht %4$s %9$s %8$s.", + ACTION_SPELL_PERIODIC_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE = "aufgeladen", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT = "%4$s gewinnt durch %2$s von %1$s %9$s %8$s.", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s gewinnt durch %2$s %9$s %8$s.", + ACTION_SPELL_PERIODIC_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE_RESULT = "$extraAmount %8$s gewonnen.", + ACTION_SPELL_PERIODIC_HEAL = "heilt", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT = "%4$s gewinnt durch %2$s von %1$s %9$s Gesundheit.%6$s", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT_NO_SOURCE = "%4$s gewinnt durch %2$s %9$s Gesundheit.%6$s", + ACTION_SPELL_PERIODIC_HEAL_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH = "entzieht", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT = "%1$s entzieht durch %2$s %9$s %8$s von %4$s. %1$s gewinnt %10$s %8$s.", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT_NO_SOURCE = "%2$s entzieht %9$s %8$s von %4$s. %1$s gewinnt %10$s %8$s.", + ACTION_SPELL_PERIODIC_LEECH_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH_RESULT = "(%10$s %8$s gewonnen)", + ACTION_SPELL_PERIODIC_MISSED = "verfehlt", + ACTION_SPELL_PERIODIC_MISSED_ABSORB = "(%1$s absorbiert)", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT = "%2$s von %1$s wurde durch %4$s absorbiert.%6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%2$s wurde durch %4$s absorbiert.%6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_BLOCK = "(Tick geblockt)", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT = "%4$s blockt %2$s von %1$s für einen Moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%4$s blockt %2$s für einen Moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED = "(Tick abgewehrt)", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT = "%4$s wehrt %2$s von %1$s für einen Moment ab.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT_NO_SOURCE = "%4$s wehrt %2$s für einen Moment ab.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DODGE = "(Tick ausgewichen)", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT = "%4$s weicht %2$s von %1$s für einen Moment aus.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%4$s weicht %2$s für einen Moment aus.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_EVADED = "(Tick entkommen)", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT = "%4$s entkommt %2$s von %1$s für einen Moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "%4$s entkommt %2$s für einen Moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_EVADED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT = "%2$s von %1$s verfehlt %4$s für einen Moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT_NO_SOURCE = "%2$s verfehlt %4$s für einen Moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE = "(Immun)", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT = "%4$s ist gegen %2$s von %1$s immun.%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%4$s ist gegen %2$s immun.%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_MISS = "(Tick verfehlt)", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT = "%2$s von %1$s verfehlt %4$s für einen Moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s verfehlt %4$s für einen Moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_PARRY = "(Tick pariert)", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT = "%4$s pariert %2$s von %1$s für einen Moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%4$s pariert %2$s für einen Moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_RESIST = "(Tick widerstanden)", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT = "%4$s wird nicht vom Effekt %2$s von %1$s betroffen. %4$s hat widerstanden.%6$s", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%4$s wird nicht vom Effekt %2$s betroffen. %4$s hat widerstanden.%6$s", + ACTION_SPELL_PERIODIC_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_RESURRECT = "wiederbelebt", + ACTION_SPELL_RESURRECT_FULL_TEXT = "%2$s von %1$s belebt %4$s wieder.%6$s", + ACTION_SPELL_RESURRECT_FULL_TEXT_NO_SOURCE = "%2$s belebt %4$s wieder.%6$s", + ACTION_SPELL_RESURRECT_POSSESSIVE = "1", + ACTION_SPELL_STOLEN = "stiehlt", + ACTION_SPELL_STOLEN_BUFF = "stiehlt", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT = "%2$s von %1$s stiehlt %5$s auf %4$s.", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT_NO_SOURCE = "%2$s stiehlt %5$s auf %4$s.", + ACTION_SPELL_STOLEN_BUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_BUFF__POSSESSIVE = "1", + ACTION_SPELL_STOLEN_DEBUFF = "stiehlt", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT = "%1$s überträgt durch %2$s den auf %4$s wirkenden Zauber $extraSpell zu %1$s.", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s überträgt $extraSpell von %4$s.", + ACTION_SPELL_STOLEN_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_FULL_TEXT = "%2$s von %1$s stiehlt %5$s auf %4$s.", + ACTION_SPELL_STOLEN_FULL_TEXT_NO_SOURCE = "%2$s stiehlt %5$s auf %4$s.", + ACTION_SPELL_STOLEN_POSSESSIVE = "1", + ACTION_SPELL_SUMMON = "beschwört", + ACTION_SPELL_SUMMON_FULL_TEXT = "%1$s ruft durch %2$s %4$s herbei.%6$s", + ACTION_SPELL_SUMMON_FULL_TEXT_NO_SOURCE = "%2$s ruft %4$s herbei.%6$s", + ACTION_SPELL_SUMMON_POSSESSIVE = "1", + ACTION_SWING = "Schlag", + ACTION_SWING_DAMAGE = "trifft", + ACTION_SWING_DAMAGE_FULL_TEXT = "%1$s schlägt %4$s im Nahkampf, verursacht %5$s.%6$s", + ACTION_SWING_DAMAGE_FULL_TEXT_NO_SOURCE = "Ein Nahkampfschlag trifft %4$s, verursacht %5$s.%6$s", + ACTION_SWING_DAMAGE_POSSESSIVE = "1", + ACTION_SWING_MISSED = "verfehlt", + ACTION_SWING_MISSED_ABSORB = "(Absorbiert)", + ACTION_SWING_MISSED_ABSORB_FULL_TEXT = "%4$s absorbiert den Angriff von %1$s.%6$s", + ACTION_SWING_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SWING_MISSED_BLOCK = "(Geblockt)", + ACTION_SWING_MISSED_BLOCK_FULL_TEXT = "%4$s blockt den Angriff von %1$s.%6$s", + ACTION_SWING_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SWING_MISSED_DEFLECT = "(Abgewehrt)", + ACTION_SWING_MISSED_DEFLECT_FULL_TEXT = "%4$s wehrt den Angriff von %1$s ab.", + ACTION_SWING_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SWING_MISSED_DODGE = "(Ausgewichen)", + ACTION_SWING_MISSED_DODGE_FULL_TEXT = "%4$s weicht dem Angriff von %1$s aus.", + ACTION_SWING_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SWING_MISSED_EVADE = "(Entkommen)", + ACTION_SWING_MISSED_EVADE_FULL_TEXT = "%4$s entkommt dem Angriff von %1$s.", + ACTION_SWING_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SWING_MISSED_FULL_TEXT = "%1$s greift %4$s an und verfehlt.", + ACTION_SWING_MISSED_IMMUNE = "(Immun)", + ACTION_SWING_MISSED_IMMUNE_FULL_TEXT = "Der Angriff von %1$s schlägt fehl. %4$s ist immun.", + ACTION_SWING_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISFIRE = "(Verfehlt)", + ACTION_SWING_MISSED_MISFIRE_FULL_TEXT = "Der Angriff von %1$s verfehlt %4$s.", + ACTION_SWING_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISS = "(Verfehlt)", + ACTION_SWING_MISSED_MISS_FULL_TEXT = "%1$s greift %4$s an und verfehlt.", + ACTION_SWING_MISSED_MISS_POSSESSIVE = "1", + ACTION_SWING_MISSED_PARRY = "(Pariert)", + ACTION_SWING_MISSED_PARRY_FULL_TEXT = "%4$s pariert den Angriff von %1$s.", + ACTION_SWING_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SWING_MISSED_POSSESSIVE = "1", + ACTION_SWING_MISSED_RESIST = "(Widerstanden)", + ACTION_SWING_MISSED_RESIST_FULL_TEXT = "%4$s widersteht dem Angriff von %1$s vollständig.%6$s", + ACTION_SWING_MISSED_RESIST_POSSESSIVE = "1", + ACTION_UNIT_BECCOMES_UNCONSCIOUS = "bricht zusammen", + ACTION_UNIT_BECOMES_UNCONSCIOUS_FULL_TEXT = "%4$s bricht zusammen.", + ACTION_UNIT_BECOMES_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_UNIT_DESTROYED = "zerstört", + ACTION_UNIT_DESTROYED_FULL_TEXT = "%4$s wird zerstört.", + ACTION_UNIT_DESTROYED_POSSESSIVE = "0", + ACTION_UNIT_DIED = "stirbt", + ACTION_UNIT_DIED_FULL_TEXT = "%4$s stirbt.", + ACTION_UNIT_DIED_POSSESSIVE = "0", + ACTION_UNIT_DISSIPATES = "schwindet", + ACTION_UNIT_DISSIPATES_FULL_TEXT = "%4$s schwindet.", + ACTION_UNIT_DISSIPATES_POSSESSIVE = "0", + ADD = "Hinzufügen", + ADDITIONAL_FILTERS = "Zusätzliche Filter", + 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?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING = "Anzeigen, was %s tat?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING_ME = "Was hat %s mit mir getan?", + BLIZZARD_COMBAT_LOG_MENU_RESET = "Rücksetzen", + 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.", + 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", + DAMAGE_SHIELD = "Schadensschilde", + DEFAULT_COMBATLOG_FILTER_NAME = "Filter %d", + ENTER_FILTER_NAME = "Filternamen eingeben:", + ENVIRONMENTAL_DAMAGE = "Umgebungsschaden", + 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.", + STRING_SCHOOL_UNKNOWN = "Unbekannt", + 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", + TEXT_MODE_A_STRING_3 = "%1$s %5$s %3$s %4$s %2$s. %6$s", + TEXT_MODE_A_STRING_ACTION = "|Haction:%s|h%s|h", + TEXT_MODE_A_STRING_BRACE_ITEM = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_SPELL = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_UNIT = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_DEST_ICON = "|Hicon:%d:dest|h%s|h", + TEXT_MODE_A_STRING_DEST_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_ITEM = "|Hitem:%s|h%s|h", + TEXT_MODE_A_STRING_POSSESSIVE = "%s", + TEXT_MODE_A_STRING_REMAINING_POINTS = "(%s verbleiben)", + TEXT_MODE_A_STRING_RESULT_ABSORB = "(%s absorbiert)", + TEXT_MODE_A_STRING_RESULT_BLOCK = "(%s geblockt)", + TEXT_MODE_A_STRING_RESULT_CRITICAL = "(Kritisch)", + TEXT_MODE_A_STRING_RESULT_CRITICAL_SPELL = "(Kritisch)", + TEXT_MODE_A_STRING_RESULT_CRUSHING = "(Schmetternd)", + TEXT_MODE_A_STRING_RESULT_FORMAT = "$resultAmount $resultType", + TEXT_MODE_A_STRING_RESULT_GLANCING = "(Gestreift)", + TEXT_MODE_A_STRING_RESULT_MULTISTRIKE = "(Mehrfachschlag)", + TEXT_MODE_A_STRING_RESULT_OVERENERGIZE = "(%s Überaufladung)", + TEXT_MODE_A_STRING_RESULT_OVERHEALING = "(%s Überheilung)", + TEXT_MODE_A_STRING_RESULT_OVERKILLING = "(%s Schaden über Tod)", + TEXT_MODE_A_STRING_RESULT_PARRY = "(%d pariert)", + TEXT_MODE_A_STRING_RESULT_REFLECT = "Reflektiert", + TEXT_MODE_A_STRING_RESULT_RESIST = "(%s widerstanden)", + TEXT_MODE_A_STRING_RESULT_VULNERABILITY = "(%s Verletzlichkeitsschaden)", + TEXT_MODE_A_STRING_SOURCE_ICON = "|Hicon:%s:source|h%s|h", + TEXT_MODE_A_STRING_SOURCE_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL_EXTRA = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_TIMESTAMP = "%s> %s", + TEXT_MODE_A_STRING_VALUE_SCHOOL = "%s %s", + TEXT_MODE_A_STRING_VALUE_TYPE = "%s (%s)", + TEXT_MODE_A_TIMESTAMP = "%H:%M:%S", + UNIT_YOU = "Ihr", + UNIT_YOU_DEST = "Euch", + UNIT_YOU_DEST_POSSESSIVE = "Euer", + UNIT_YOU_SOURCE = "Euer Charakter", + UNIT_YOU_SOURCE_POSSESSIVE = "Euer", +} diff --git a/env/combatlog_enUS.lua b/env/combatlog_enUS.lua new file mode 100644 index 00000000..b6f0b060 --- /dev/null +++ b/env/combatlog_enUS.lua @@ -0,0 +1,538 @@ +-- Classic Era GlobalStrings (GB) that the combat log reads +-- and the 1.12 client lacks. Generated; do not edit by hand. +pfUI_locale["enUS"]["combatlog"] = { + ACTION_DAMAGE_SHIELD = "damages", + ACTION_DAMAGE_SHIELD_FULL_TEXT = "%1$s %2$s reflects %9$s %7$s damage to %4$s.%6$s", + ACTION_DAMAGE_SHIELD_FULL_TEXT_NO_SOURCE = "%2$s reflects %9$s %7$s damage to %4$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED = "missed", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK = "(Blocked)", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT = "%1$s %2$s was blocked by %4$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%2$s was blocked by %4$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT = "(Deflected)", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT = "%1$s %2$s was deflected by %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%2$s was deflected by %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DODGE = "(Dodged)", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT = "%1$s %2$s was dodged by %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%2$s was dodged by %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_EVADED = "(Evaded)", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT = "%1$s %2$s was evaded by %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "%2$s was evaded by %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT = "%1$s %2$s missed %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT_NO_SOURCE = "%2$s missed %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE = "(Immune)", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT = "%1$s %2$s failed. %4$s was immune.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%2$s failed. %4$s was immune.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_MISS = "(Missed)", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT = "%1$s %2$s misses %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s misses %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_MISS_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_PARRY = "(Parried)", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT = "%1$s %2$s was parried by %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%2$s was parried by %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_RESIST = "(Resisted)", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT = "%1$s %2$s was fully resisted by %4$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%2$s was fully resisted by %4$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_POSSESSIVE = "1", + ACTION_DAMAGE_SPLIT = "shared damage", + ACTION_DAMAGE_SPLIT_ABSORBED_FULL_TEXT = "%1$s's %2$s damage was absorbed by %4$s %6$s.", + ACTION_DAMAGE_SPLIT_FULL_TEXT = "%1$s %2$s causes %9$s damage to %4$s.", + ACTION_DAMAGE_SPLIT_POSSESSIVE = "0", + ACTION_DAMAGE_SPLIT_RESULT_FULL_TEXT = "%1$s's %2$s causes %9$s damage to %4$s %6$s.", + ACTION_ENCHANT_APPLIED = "enchanted", + ACTION_ENCHANT_APPLIED_FULL_TEXT = "%1$s cast %2$s on %4$s %5$s.", + ACTION_ENCHANT_APPLIED_POSSESSIVE = "0", + ACTION_ENCHANT_REMOVED = "enchant faded", + ACTION_ENCHANT_REMOVED_FULL_TEXT = "%2$s fades from %4$s %5$s.", + ACTION_ENCHANT_REMOVED_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE = "damaged", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING = "Drowning", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_FULL_TEXT = "%4$s is drowning and loses %9$s health.", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING = "Falling", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_FULL_TEXT = "%4$s falls and loses %9$s health.", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE = "Fatigue", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_FULL_TEXT = "%4$s is exhausted and loses %9$s health.", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE = "Fire", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_FULL_TEXT = "%4$s suffers %9$s fire damage.", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FULL_TEXT = "%4$s loses %9$s health from environmental damage.", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA = "Lava", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_FULL_TEXT = "%4$s loses %9$s health from swimming in lava. %6$s", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME = "Slime", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_FULL_TEXT = "%4$s loses %9$s health for swimming in slime. %6$s", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_POSSESSIVE = "0", + ACTION_PARTY_KILL = "killed", + ACTION_PARTY_KILL_FULL_TEXT = "%1$s has slain %4$s!", + ACTION_PARTY_KILL_POSSESSIVE = "0", + ACTION_PARTY_KILL_UNCONSCIOUS = "knocked out", + ACTION_PARTY_KILL_UNCONSCIOUS_FULL_TEXT = "%1$s has knocked out %4$s!", + ACTION_PARTY_KILL_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_RANGED = "Shot", + ACTION_RANGE_DAMAGE = "hit", + ACTION_RANGE_DAMAGE_FULL_TEXT = "%1$s ranged shot hit %4$s for %5$s.%6$s", + ACTION_RANGE_DAMAGE_FULL_TEXT_NO_SOURCE = "A ranged shot hit %4$s for %5$s.%6$s", + ACTION_RANGE_DAMAGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED = "missed", + ACTION_RANGE_MISSED_ABSORB = "(Absorbed)", + ACTION_RANGE_MISSED_ABSORB_FULL_TEXT = "%1$s shot was absorbed by %4$s.%6$s", + ACTION_RANGE_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_RANGE_MISSED_BLOCK = "(Blocked)", + ACTION_RANGE_MISSED_BLOCK_FULL_TEXT = "%1$s shot was blocked by %4$s.%6$s", + ACTION_RANGE_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DEFLECT = "(Deflected)", + ACTION_RANGE_MISSED_DEFLECT_FULL_TEXT = "%1$s shot was deflected by %4$s.", + ACTION_RANGE_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DODGE = "(Dodged)", + ACTION_RANGE_MISSED_DODGE_FULL_TEXT = "%1$s shot was dodged by %4$s.", + ACTION_RANGE_MISSED_DODGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_EVADE = "(Evaded)", + ACTION_RANGE_MISSED_EVADE_FULL_TEXT = "%1$s shot was evaded by %4$s.", + ACTION_RANGE_MISSED_EVADE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_FULL_TEXT = "%1$s shot misses %4$s.", + ACTION_RANGE_MISSED_IMMUNE = "(Immune)", + ACTION_RANGE_MISSED_IMMUNE_FULL_TEXT = "%1$s shot failed. %4$s was immune.", + ACTION_RANGE_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISFIRE = "(Misfired)", + ACTION_RANGE_MISSED_MISFIRE_FULL_TEXT = "%1$s shot misfired on %4$s.", + ACTION_RANGE_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISS = "(Missed)", + ACTION_RANGE_MISSED_MISS_FULL_TEXT = "%1$s shot misses %4$s.", + ACTION_RANGE_MISSED_MISS_POSSESSIVE = "1", + ACTION_RANGE_MISSED_PARRY = "(Parried)", + ACTION_RANGE_MISSED_PARRY_FULL_TEXT = "%1$s shot was parried by %4$s.", + ACTION_RANGE_MISSED_PARRY_POSSESSIVE = "1", + ACTION_RANGE_MISSED_POSSESSIVE = "1", + ACTION_RANGE_MISSED_RESIST = "(Resisted)", + ACTION_RANGE_MISSED_RESIST_FULL_TEXT = "%1$s shot was fully resisted by %4$s.%6$s", + ACTION_RANGE_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED = "applied", + ACTION_SPELL_AURA_APPLIED_BUFF = "applied", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT = "%4$s gains %1$s %2$s.", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT_NO_SOURCE = "%4$s gains %2$s.", + ACTION_SPELL_AURA_APPLIED_BUFF_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT = "%4$s gains %1$s %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s gains %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF = "afflicted", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT = "%4$s is afflicted by %1$s %2$s.", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s is afflicted by %2$s.", + ACTION_SPELL_AURA_APPLIED_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT = "%4$s is afflicted by %1$s %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s is afflicted by %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_DOSE = "stacked", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF = "stacked", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT = "%4$s gains %1$s %2$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%4$s gains %2$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF = "afflicted", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT = "%4$s is afflicted by %1$s %2$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s is afflicted by %2$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN = "broke", + ACTION_SPELL_AURA_BROKEN_BUFF = "broke", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT = "%1$s broke %4$s %2$s.", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT_NO_SOURCE = "%1$s %2$s was broken by someone.", + ACTION_SPELL_AURA_BROKEN_BUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_BROKEN_DEBUFF = "broke", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT = "%1$s broke %4$s %2$s.", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT_NO_SOURCE = "%1$s %2$s was broken by someone.", + ACTION_SPELL_AURA_BROKEN_DEBUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF = "broke", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT = "%1$s %5$s broke %4$s %2$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT_NO_SOURCE = "%5$s broke %4$s %2$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF = "broke", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT = "%1$s %5$s broke %4$s %2$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT_NO_SOURCE = "%5$s broke %4$s %2$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH = "refreshed", + ACTION_SPELL_AURA_REFRESH_BUFF = "refreshed", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT = "%1$s %2$s is refreshed on %4$s.", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT_NO_SOURCE = "%2$s is refreshed on %4$s.", + ACTION_SPELL_AURA_REFRESH_BUFF_MASTER = "2", + ACTION_SPELL_AURA_REFRESH_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT = "%1$s %2$s is refreshed on %4$s. %11$s", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s is refreshed on %4$s. %11$s", + ACTION_SPELL_AURA_REFRESH_DEBUFF = "refreshed", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT = "%1$s %2$s is refreshed on %4$s.", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s is refreshed on %4$s.", + ACTION_SPELL_AURA_REFRESH_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT = "%1$s %2$s is refreshed on %4$s. %11$s", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s is refreshed on %4$s. %11$s", + ACTION_SPELL_AURA_REFRESH_MASTER = "2", + ACTION_SPELL_AURA_REMOVED = "removed", + ACTION_SPELL_AURA_REMOVED_BUFF = "faded", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT = "%1$s %2$s fades from %4$s.", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT_NO_SOURCE = "%2$s fades from %4$s.", + ACTION_SPELL_AURA_REMOVED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT = "%1$s %2$s fades from %4$s. %11$s", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s fades from %4$s. %11$s", + ACTION_SPELL_AURA_REMOVED_DEBUFF = "dissipated", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT = "%1$s %2$s dissipates from %4$s.", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s dissipates from %4$s.", + ACTION_SPELL_AURA_REMOVED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT = "%1$s %2$s dissipates from %4$s. %11$s", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s dissipates from %4$s. %11$s", + ACTION_SPELL_AURA_REMOVED_DOSE = "reduced", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF = "reduced", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT = "%1$s %2$s (%9$s) diminishes.", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%2$s (%9$s) diminishes.", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF = "diminished", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT = "%1$s %2$s (%9$s) subsides.", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s (%9$s) subsides.", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT = "%1$s %2$s was removed from %4$s.", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT_NO_SOURCE = "%1$s %2$s was removed from %4$s.", + ACTION_SPELL_AURA_REMOVED_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_DAMAGE = "strikes", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT = "%1$s %2$s strikes %4$s for %5$s.%6$s", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s strike %4$s for %5$s.%6$s", + ACTION_SPELL_BUILDING_DAMAGE_MASTER = "1", + ACTION_SPELL_BUILDING_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_HEAL = "repaired", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT = "%1$s %2$s repairs %4$s for %9$s.%6$s", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT_NO_SOURCE = "%2$s repairs %4$s for %9$s.%6$s", + ACTION_SPELL_BUILDING_HEAL_POSSESSIVE = "1", + ACTION_SPELL_CAST_FAILED = "failed", + ACTION_SPELL_CAST_FAILED_FULL_TEXT = "%1$s %2$s failed.%6$s", + ACTION_SPELL_CAST_FAILED_MASTER = "1", + ACTION_SPELL_CAST_FAILED_POSSESSIVE = "1", + ACTION_SPELL_CAST_START = "began to cast", + ACTION_SPELL_CAST_START_FULL_TEXT = "%1$s begins casting %2$s at %4$s.", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_DEST = "%1$s begins casting %2$s.", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_SOURCE = "Something begins casting %2$s at %4$s.", + ACTION_SPELL_CAST_START_MASTER = "2", + ACTION_SPELL_CAST_START_POSSESSIVE = "0", + ACTION_SPELL_CAST_SUCCESS = "cast", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT = "%1$s casts %2$s at %4$s.", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_DEST = "%1$s casts %2$s.", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_SOURCE = "Something cast %2$s at %4$s.", + ACTION_SPELL_CAST_SUCCESS_MASTER = "2", + ACTION_SPELL_CAST_SUCCESS_POSSESSIVE = "0", + ACTION_SPELL_CREATE = "created", + ACTION_SPELL_CREATE_FULL_TEXT = "%1$s %2$s creates a %4$s.%6$s", + ACTION_SPELL_CREATE_FULL_TEXT_NO_SOURCE = "%2$s creates a %4$s.%6$s", + ACTION_SPELL_CREATE_POSSESSIVE = "1", + ACTION_SPELL_DAMAGE = "hit", + ACTION_SPELL_DAMAGE_FULL_TEXT = "%1$s %2$s hits %4$s for %5$s.%6$s", + ACTION_SPELL_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s hits %4$s for %5$s.%6$s", + ACTION_SPELL_DAMAGE_MASTER = "1", + ACTION_SPELL_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_DISPEL = "dispelled", + ACTION_SPELL_DISPEL_BUFF = "dispelled", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT = "%4$s %5$s is dispelled by %1$s %2$s.", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT_NO_SOURCE = "%4$s %5$s is dispelled by %2$s.", + ACTION_SPELL_DISPEL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_DEBUFF = "cleansed", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT = "%4$s %5$s is cleansed by %1$s %2$s.", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s %5$s cleansed by %2$s.", + ACTION_SPELL_DISPEL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_FAILED = "dispel failed", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT = "%1$s %2$s fails to dispel %4$s %5$s.", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT_NO_SOURCE = "%2$s fails to dispel %4$s %5$s.", + ACTION_SPELL_DISPEL_FAILED_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_POSSESSIVE = "1", + ACTION_SPELL_DRAIN = "drained", + ACTION_SPELL_DRAIN_FULL_TEXT = "%1$s %2$s drains %9$s %8$s from %4$s.", + ACTION_SPELL_DRAIN_FULL_TEXT_NO_SOURCE = " %2$s drains %9$s %8$s from %4$s.", + ACTION_SPELL_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE = "durability loss", + ACTION_SPELL_DURABILITY_DAMAGE_ALL = "full durability loss", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_FULL_TEXT = "%1$s %2$s damages %4$s: all items damaged.", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE_FULL_TEXT = "%1$s %2$s damages %4$s: %5$s damaged.", + ACTION_SPELL_DURABILITY_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE = "energized", + ACTION_SPELL_ENERGIZE_FULL_TEXT = "%4$s gains %9$s %8$s from %1$s %2$s.", + ACTION_SPELL_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s gains %9$s %8$s from %2$s.", + ACTION_SPELL_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE_RESULT = "%9$s %8$s Gained", + ACTION_SPELL_EXTRA_ATTACKS = "granted extra attacks", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT = "%1$s gains %9$s extra attacks through %2$s.", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT_NO_SOURCE = "%9$s extra attacks granted by %2$s.", + ACTION_SPELL_EXTRA_ATTACKS_POSSESSIVE = "1", + ACTION_SPELL_HEAL = "healed", + ACTION_SPELL_HEAL_FULL_TEXT = "%1$s %2$s heals %4$s for %9$s.%6$s", + ACTION_SPELL_HEAL_FULL_TEXT_NO_SOURCE = "%2$s heals %4$s for %9$s.%6$s", + ACTION_SPELL_HEAL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL = "killed", + ACTION_SPELL_INSTAKILL_FULL_TEXT = "%1$s %2$s instantly kills %4$s.", + ACTION_SPELL_INSTAKILL_FULL_TEXT_NO_SOURCE = "%2$s instantly kills %4$s.", + ACTION_SPELL_INSTAKILL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS = "knocked out", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT = "%1$s %2$s knocks out %4$s.", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT_NO_SOURCE = "%2$s knocks out %4$s.", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_POSSESSIVE = "1", + ACTION_SPELL_INTERRUPT = "interrupted", + ACTION_SPELL_INTERRUPT_FULL_TEXT = "%1$s %2$s interrupts %4$s %5$s.", + ACTION_SPELL_INTERRUPT_FULL_TEXT_NO_SOURCE = "%2$s interrupts %4$s %5$s.", + ACTION_SPELL_INTERRUPT_POSSESSIVE = "1", + ACTION_SPELL_LEECH = "drained", + ACTION_SPELL_LEECH_FULL_TEXT = "%1$s %2$s drains %9$s %8$s from %4$s. %1$s gains %10$s %8$s.", + ACTION_SPELL_LEECH_FULL_TEXT_NO_SOURCE = "%2$s drains %9$s %8$s from %4$s.", + ACTION_SPELL_LEECH_POSSESSIVE = "1", + ACTION_SPELL_LEECH_RESULT = "%10$s %8$s Gained", + ACTION_SPELL_MISSED = "missed", + ACTION_SPELL_MISSED_ABSORB = "Absorbed", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT = "%1$s %2$s was absorbed by %4$s.%6$s", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%2$s was absorbed by %4$s.%6$s", + ACTION_SPELL_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_MISSED_BLOCK = "Blocked", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT = "%1$s %2$s was blocked by %4$s.%6$s", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%2$s was blocked by %4$s.%6$s", + ACTION_SPELL_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DEFLECT = "Deflected", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT = "%1$s %2$s was deflected by %4$s.", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%2$s was deflected by %4$s.", + ACTION_SPELL_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DODGE = "Dodged", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT = "%1$s %2$s was dodged by %4$s.", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%2$s was dodged by %4$s.", + ACTION_SPELL_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_EVADE = "Evaded", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT = "%1$s %2$s was evaded by %4$s.", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT_NO_SOURCE = "%2$s was evaded by %4$s.", + ACTION_SPELL_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_FULL_TEXT = "%1$s %2$s missed %4$s.", + ACTION_SPELL_MISSED_FULL_TEXT_NO_SOURCE = "%2$s missed %4$s.", + ACTION_SPELL_MISSED_IMMUNE = "Immune", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT = "%1$s %2$s failed. %4$s was immune.", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%2$s failed. %4$s was immune.", + ACTION_SPELL_MISSED_MISFIRE = "Misfired", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT = "%1$s %2$s misfired on %4$s.", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT_NO_SOURCE = "%2$s misfired on %4$s.", + ACTION_SPELL_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_MISS = "Missed", + ACTION_SPELL_MISSED_MISS_FULL_TEXT = "%1$s %2$s misses %4$s.", + ACTION_SPELL_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s misses %4$s.", + ACTION_SPELL_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_MISSED_PARRY = "Parried", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT = "%1$s %2$s was parried by %4$s.", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%2$s was parried by %4$s.", + ACTION_SPELL_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_MISSED_POSSESSIVE = "1", + ACTION_SPELL_MISSED_REFLECT = "reflected", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT = "%1$s %2$s was reflected by %4$s.", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT_NO_SOURCE = "%2$s was reflected by %4$s.", + ACTION_SPELL_MISSED_RESIST = "resisted", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT = "%1$s %2$s was fully resisted by %4$s.%6$s", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%2$s was fully resisted by %4$s.%6$s", + ACTION_SPELL_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DAMAGE = "damaged", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT = "%4$s suffers %5$s damage from %1$s %2$s.%6$s", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT_NO_SOURCE = "%4$s suffers %5$s damage from %2$s.%6$s", + ACTION_SPELL_PERIODIC_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DRAIN = "drained", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT = "%1$s %2$s drains %9$s %8$s from %4$s.", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT_NO_SOURCE = "%2$s drains %9$s %8$s from %4$s.", + ACTION_SPELL_PERIODIC_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE = "energized", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT = "%4$s gains %9$s %8$s from %1$s %2$s.", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s gains %9$s %8$s from %2$s.", + ACTION_SPELL_PERIODIC_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE_RESULT = "$extraAmount %8$s Gained", + ACTION_SPELL_PERIODIC_HEAL = "healed", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT = "%4$s gains %9$s Health from %1$s %2$s.%6$s", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT_NO_SOURCE = "%4$s gains %9$s health from %2$s.%6$s", + ACTION_SPELL_PERIODIC_HEAL_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH = "drained", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT = "%1$s %2$s drains %9$s %8$s from %4$s. %1$s gains %10$s %8$s.", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT_NO_SOURCE = "%2$s drains %9$s %8$s from %4$s. %1$s gains %10$s %8$s.", + ACTION_SPELL_PERIODIC_LEECH_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH_RESULT = "(%10$s %8$s Gained)", + ACTION_SPELL_PERIODIC_MISSED = "missed", + ACTION_SPELL_PERIODIC_MISSED_ABSORB = "(%1$s Absorbed)", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT = "%1$s %2$s was absorbed by %4$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%2$s was absorbed by %4$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_BLOCK = "(Tick Blocked)", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT = "%1$s %2$s was blocked by %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%2$s was blocked by %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED = "(Tick Deflected)", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT = "%1$s %2$s was deflected by %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT_NO_SOURCE = "%2$s was deflected by %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DODGE = "(Tick Dodged)", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT = "%1$s %2$s was dodged by %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%2$s was dodged by %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_EVADED = "(Tick Evaded)", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT = "%1$s %2$s was evaded by %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "%2$s was evaded by %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_EVADED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT = "%1$s %2$s does not affect %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT_NO_SOURCE = "%2$s does not affect %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE = "(Immune)", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT = "%4$s was immune to %1$s %2$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%4$s was immune to %2$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_MISS = "(Tick Missed)", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT = "%1$s %2$s missed %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s missed %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_PARRY = "(Tick Parried)", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT = "%1$s %2$s was parried by %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%2$s was parried by %4$s for a moment.%6$s", + ACTION_SPELL_PERIODIC_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_RESIST = "(Tick Resisted)", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT = "%1$s %2$s does not affect %4$s. %4$s resisted.%6$s", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%2$s does not affect %4$s. %4$s resisted.%6$s", + ACTION_SPELL_PERIODIC_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_RESURRECT = "resurrected", + ACTION_SPELL_RESURRECT_FULL_TEXT = "%1$s %2$s resurrects %4$s.%6$s", + ACTION_SPELL_RESURRECT_FULL_TEXT_NO_SOURCE = "%2$s resurrects %4$s.%6$s", + ACTION_SPELL_RESURRECT_POSSESSIVE = "1", + ACTION_SPELL_STOLEN = "stole", + ACTION_SPELL_STOLEN_BUFF = "stole", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT = "%1$s %2$s steals %4$s %5$s.", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT_NO_SOURCE = "%2$s steals %4$s %5$s.", + ACTION_SPELL_STOLEN_BUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_BUFF__POSSESSIVE = "1", + ACTION_SPELL_STOLEN_DEBUFF = "stole", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT = "%1$s %2$s transfers %4$s $extraSpell to %1$s.", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s transfers %4$s $extraSpell.", + ACTION_SPELL_STOLEN_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_FULL_TEXT = "%1$s %2$s steals %4$s %5$s.", + ACTION_SPELL_STOLEN_FULL_TEXT_NO_SOURCE = "%2$s steals %4$s %5$s.", + ACTION_SPELL_STOLEN_POSSESSIVE = "1", + ACTION_SPELL_SUMMON = "summoned", + ACTION_SPELL_SUMMON_FULL_TEXT = "%1$s %2$s summons %4$s.%6$s", + ACTION_SPELL_SUMMON_FULL_TEXT_NO_SOURCE = "%2$s summons %4$s.%6$s", + ACTION_SPELL_SUMMON_POSSESSIVE = "1", + ACTION_SWING = "Melee", + ACTION_SWING_DAMAGE = "hit", + ACTION_SWING_DAMAGE_FULL_TEXT = "%1$s melee swing hits %4$s for %5$s.%6$s", + ACTION_SWING_DAMAGE_FULL_TEXT_NO_SOURCE = "A melee swing hit %4$s for %5$s.%6$s", + ACTION_SWING_DAMAGE_POSSESSIVE = "1", + ACTION_SWING_MISSED = "missed", + ACTION_SWING_MISSED_ABSORB = "(Absorbed)", + ACTION_SWING_MISSED_ABSORB_FULL_TEXT = "%1$s attack was absorbed by %4$s.%6$s", + ACTION_SWING_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SWING_MISSED_BLOCK = "(Blocked)", + ACTION_SWING_MISSED_BLOCK_FULL_TEXT = "%1$s attack was blocked by %4$s.%6$s", + ACTION_SWING_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SWING_MISSED_DEFLECT = "(Deflected)", + ACTION_SWING_MISSED_DEFLECT_FULL_TEXT = "%1$s attack was deflected by %4$s.", + ACTION_SWING_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SWING_MISSED_DODGE = "(Dodged)", + ACTION_SWING_MISSED_DODGE_FULL_TEXT = "%1$s attack was dodged by %4$s.", + ACTION_SWING_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SWING_MISSED_EVADE = "(Evaded)", + ACTION_SWING_MISSED_EVADE_FULL_TEXT = "%1$s attack was evaded by %4$s.", + ACTION_SWING_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SWING_MISSED_FULL_TEXT = "%1$s attack misses %4$s.", + ACTION_SWING_MISSED_IMMUNE = "(Immune)", + ACTION_SWING_MISSED_IMMUNE_FULL_TEXT = "%1$s attack failed. %4$s was immune.", + ACTION_SWING_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISFIRE = "(Misfired)", + ACTION_SWING_MISSED_MISFIRE_FULL_TEXT = "%1$s attack misfired on %4$s.", + ACTION_SWING_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISS = "(Missed)", + ACTION_SWING_MISSED_MISS_FULL_TEXT = "%1$s attack misses %4$s.", + ACTION_SWING_MISSED_MISS_POSSESSIVE = "1", + ACTION_SWING_MISSED_PARRY = "(Parried)", + ACTION_SWING_MISSED_PARRY_FULL_TEXT = "%1$s attack was parried by %4$s.", + ACTION_SWING_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SWING_MISSED_POSSESSIVE = "1", + ACTION_SWING_MISSED_RESIST = "(Resisted)", + ACTION_SWING_MISSED_RESIST_FULL_TEXT = "%1$s attack was fully resisted by %4$s.%6$s", + ACTION_SWING_MISSED_RESIST_POSSESSIVE = "1", + ACTION_UNIT_BECCOMES_UNCONSCIOUS = "collapses", + ACTION_UNIT_BECOMES_UNCONSCIOUS_FULL_TEXT = "%4$s collapses.", + ACTION_UNIT_BECOMES_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_UNIT_DESTROYED = "destroyed", + ACTION_UNIT_DESTROYED_FULL_TEXT = "%4$s was destroyed.", + ACTION_UNIT_DESTROYED_POSSESSIVE = "0", + ACTION_UNIT_DIED = "died", + ACTION_UNIT_DIED_FULL_TEXT = "%4$s died.", + ACTION_UNIT_DIED_POSSESSIVE = "0", + ACTION_UNIT_DISSIPATES = "dissipates", + ACTION_UNIT_DISSIPATES_FULL_TEXT = "%4$s dissipates.", + ACTION_UNIT_DISSIPATES_POSSESSIVE = "0", + ADD = "Add", + ADDITIONAL_FILTERS = "Additional Filters", + 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?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING = "What did %s do?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING_ME = "What did %s do to you?", + BLIZZARD_COMBAT_LOG_MENU_RESET = "Reset", + 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.", + 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", + DAMAGE_SHIELD = "Damage Shields", + DEFAULT_COMBATLOG_FILTER_NAME = "Filter %d", + ENTER_FILTER_NAME = "Enter filter name:", + ENVIRONMENTAL_DAMAGE = "Environmental Damage", + 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.", + STRING_SCHOOL_UNKNOWN = "Unknown", + 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", + TEXT_MODE_A_STRING_3 = "%1$s %5$s %3$s %4$s %2$s. %6$s", + TEXT_MODE_A_STRING_ACTION = "|Haction:%s|h%s|h", + TEXT_MODE_A_STRING_BRACE_ITEM = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_SPELL = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_UNIT = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_DEST_ICON = "|Hicon:%d:dest|h%s|h", + TEXT_MODE_A_STRING_DEST_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_ITEM = "|Hitem:%s|h%s|h", + TEXT_MODE_A_STRING_POSSESSIVE = "%s's", + TEXT_MODE_A_STRING_REMAINING_POINTS = "(%s Remaining)", + TEXT_MODE_A_STRING_RESULT_ABSORB = "(%s Absorbed)", + TEXT_MODE_A_STRING_RESULT_BLOCK = "(%s Blocked)", + TEXT_MODE_A_STRING_RESULT_CRITICAL = "(Critical)", + TEXT_MODE_A_STRING_RESULT_CRITICAL_SPELL = "(Critical)", + TEXT_MODE_A_STRING_RESULT_CRUSHING = "(Crushing)", + TEXT_MODE_A_STRING_RESULT_FORMAT = "$resultAmount $resultType", + TEXT_MODE_A_STRING_RESULT_GLANCING = "(Glancing)", + TEXT_MODE_A_STRING_RESULT_MULTISTRIKE = "(Multistrike)", + TEXT_MODE_A_STRING_RESULT_OVERENERGIZE = "(%s Overenergized)", + TEXT_MODE_A_STRING_RESULT_OVERHEALING = "(%s Overhealed)", + TEXT_MODE_A_STRING_RESULT_OVERKILLING = "(%s Overkill)", + TEXT_MODE_A_STRING_RESULT_PARRY = "(%d Parried)", + TEXT_MODE_A_STRING_RESULT_REFLECT = "Reflected", + TEXT_MODE_A_STRING_RESULT_RESIST = "(%s Resisted)", + TEXT_MODE_A_STRING_RESULT_VULNERABILITY = "(%s Vulnerability Damage)", + TEXT_MODE_A_STRING_SOURCE_ICON = "|Hicon:%s:source|h%s|h", + TEXT_MODE_A_STRING_SOURCE_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL_EXTRA = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_TIMESTAMP = "%s> %s", + TEXT_MODE_A_STRING_VALUE_SCHOOL = "%s %s", + TEXT_MODE_A_STRING_VALUE_TYPE = "%s (%s)", + TEXT_MODE_A_TIMESTAMP = "%H:%M:%S", + UNIT_YOU = "You", + UNIT_YOU_DEST = "You", + UNIT_YOU_DEST_POSSESSIVE = "Your", + UNIT_YOU_SOURCE = "You", + UNIT_YOU_SOURCE_POSSESSIVE = "Your", +} diff --git a/env/combatlog_esES.lua b/env/combatlog_esES.lua new file mode 100644 index 00000000..e62d8e4e --- /dev/null +++ b/env/combatlog_esES.lua @@ -0,0 +1,538 @@ +-- Classic Era GlobalStrings (ES) that the combat log reads +-- and the 1.12 client lacks. Generated; do not edit by hand. +pfUI_locale["esES"]["combatlog"] = { + ACTION_DAMAGE_SHIELD = "daña", + ACTION_DAMAGE_SHIELD_FULL_TEXT = "%2$s de %1$s refleja %9$s daño %7$s a %4$s.%6$s", + ACTION_DAMAGE_SHIELD_FULL_TEXT_NO_SOURCE = "%2$s refleja %9$s daño %7$s a %4$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED = "fallado", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK = "(Bloqueado)", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT = "%4$s bloqueó %2$s de %1$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%4$s bloqueó %2$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT = "(Desviado)", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT = "%4$s desvió %2$s de %1$s.", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%4$s desvió %2$s.", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DODGE = "(Esquivado)", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT = "%4$s esquivó %2$s de %1$s.", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%4$s esquivó %2$s.", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_EVADED = "(Evadido)", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT = "%4$s evadió %2$s de %1$s.", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "%4$s evadió %2$s.", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT = "%2$s de %1$s no alcanzó a %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT_NO_SOURCE = "%2$s no alcanzó a %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE = "(Inmune)", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT = "%2$s de %1$s falló. %4$s era inmune.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%2$s falló. %4$s era inmune.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_MISS = "(Fallado)", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT = "%2$s de %1$s no alcanza a %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s no alcanza a %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_MISS_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_PARRY = "(Parado)", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT = "%4$s paró %2$s de %1$s.", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%4$s paró %2$s.", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_RESIST = "(Resistido)", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT = "%4$s resistió por completo %2$s de %1$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%4$s resistió por completo %2$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_POSSESSIVE = "1", + ACTION_DAMAGE_SPLIT = "daño transferido", + ACTION_DAMAGE_SPLIT_ABSORBED_FULL_TEXT = "%4$s absorbió el daño de %2$s de %1$s. %6$s.", + ACTION_DAMAGE_SPLIT_FULL_TEXT = "%2$s de %1$s inflige %9$s de daño a %4$s.", + ACTION_DAMAGE_SPLIT_POSSESSIVE = "0", + ACTION_DAMAGE_SPLIT_RESULT_FULL_TEXT = "%2$s de %1$s inflige %9$s de daño a %4$s. %6$s.", + ACTION_ENCHANT_APPLIED = "aplicado a", + ACTION_ENCHANT_APPLIED_FULL_TEXT = "%1$s lanza %2$s a %5$s de %4$s.", + ACTION_ENCHANT_APPLIED_POSSESSIVE = "0", + ACTION_ENCHANT_REMOVED = "eliminado de", + ACTION_ENCHANT_REMOVED_FULL_TEXT = "%2$s se desvanece de %5$s de %4$s.", + ACTION_ENCHANT_REMOVED_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE = "dañó", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING = "Ahogamiento", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_FULL_TEXT = "%4$s se está ahogando y pierde %9$s salud.", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING = "Caída", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_FULL_TEXT = "%4$s cae y pierde %9$s salud.", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE = "Fatiga", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_FULL_TEXT = "%4$s sufre agotamiento y pierde %9$s salud.", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE = "Fuego", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_FULL_TEXT = "%4$s sufre %9$s daño de Fuego.", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FULL_TEXT = "%4$s pierde %9$s salud por daño recibido del entorno.", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA = "Lava", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_FULL_TEXT = "%4$s pierde %9$s salud por nadar en lava. %6$s", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME = "Cieno", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_FULL_TEXT = "%4$s pierde %9$s salud por nadar en el cieno. %6$s", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_POSSESSIVE = "0", + ACTION_PARTY_KILL = "mató", + ACTION_PARTY_KILL_FULL_TEXT = "¡%1$s mató a %4$s!", + ACTION_PARTY_KILL_POSSESSIVE = "0", + ACTION_PARTY_KILL_UNCONSCIOUS = "está fuera de combate", + ACTION_PARTY_KILL_UNCONSCIOUS_FULL_TEXT = "¡%1$s ha dejado fuera de combate a %4$s!", + ACTION_PARTY_KILL_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_RANGED = "disparo", + ACTION_RANGE_DAMAGE = "alcanzó", + ACTION_RANGE_DAMAGE_FULL_TEXT = "%1$s da a %4$s un golpe a distancia y le inflige %5$s.%6$s", + ACTION_RANGE_DAMAGE_FULL_TEXT_NO_SOURCE = "Un golpe a distancia alcanza a %4$s y le inflige %5$s.%6$s", + ACTION_RANGE_DAMAGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED = "falló", + ACTION_RANGE_MISSED_ABSORB = "(Absorbido)", + ACTION_RANGE_MISSED_ABSORB_FULL_TEXT = "%4$s absorbió el golpe de %1$s.%6$s", + ACTION_RANGE_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_RANGE_MISSED_BLOCK = "(Bloqueado)", + ACTION_RANGE_MISSED_BLOCK_FULL_TEXT = "%4$s bloqueó el golpe de %1$s.%6$s", + ACTION_RANGE_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DEFLECT = "(Desviado)", + ACTION_RANGE_MISSED_DEFLECT_FULL_TEXT = "%4$s desvió el golpe de %1$s.", + ACTION_RANGE_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DODGE = "(Esquivado)", + ACTION_RANGE_MISSED_DODGE_FULL_TEXT = "%4$s esquivó el golpe de %1$s.", + ACTION_RANGE_MISSED_DODGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_EVADE = "(Evadido)", + ACTION_RANGE_MISSED_EVADE_FULL_TEXT = "%4$s evadió el golpe de %1$s.", + ACTION_RANGE_MISSED_EVADE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_FULL_TEXT = "El golpe de %1$s no alcanza a %4$s.", + ACTION_RANGE_MISSED_IMMUNE = "(Inmune)", + ACTION_RANGE_MISSED_IMMUNE_FULL_TEXT = "El golpe de %1$s falló. %4$s era inmune.", + ACTION_RANGE_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISFIRE = "(Lanzamiento fallado)", + ACTION_RANGE_MISSED_MISFIRE_FULL_TEXT = "El golpe de %1$s ha fallado al lanzarse hacia %4$s.", + ACTION_RANGE_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISS = "(Fallado)", + ACTION_RANGE_MISSED_MISS_FULL_TEXT = "El golpe de %1$s no alcanza a %4$s.", + ACTION_RANGE_MISSED_MISS_POSSESSIVE = "1", + ACTION_RANGE_MISSED_PARRY = "(Parado)", + ACTION_RANGE_MISSED_PARRY_FULL_TEXT = "%4$s paró el golpe de %1$s.", + ACTION_RANGE_MISSED_PARRY_POSSESSIVE = "1", + ACTION_RANGE_MISSED_POSSESSIVE = "1", + ACTION_RANGE_MISSED_RESIST = "(Resistido)", + ACTION_RANGE_MISSED_RESIST_FULL_TEXT = "%4$s resistió por completo el golpe de %1$s.%6$s", + ACTION_RANGE_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED = "aplicó", + ACTION_SPELL_AURA_APPLIED_BUFF = "aplicó", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT = "%4$s gana %2$s de %1$s.", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT_NO_SOURCE = "%4$s gana %2$s.", + ACTION_SPELL_AURA_APPLIED_BUFF_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_BUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT = "%4$s gana %1$s de %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s gana %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF = "afectó", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT = "A %4$s le afecta %2$s de %1$s.", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT_NO_SOURCE = "A %4$s le afecta %2$s.", + ACTION_SPELL_AURA_APPLIED_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT = "A %4$s le afecta %1$s de %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "A %4$s le afecta %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_DOSE = "acumuló", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF = "acumuló", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT = "%4$s gana %2$s de %1$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%4$s gana %2$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF = "afectó", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT = "A %4$s le afecta %2$s de %1$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "A %4$s le afecta %2$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN = "rompió", + ACTION_SPELL_AURA_BROKEN_BUFF = "rompió", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT = "%1$s rompió %2$s de %4$s.", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT_NO_SOURCE = "Alguien ha roto %2$s de %1$s.", + ACTION_SPELL_AURA_BROKEN_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN_DEBUFF = "rompió", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT = "%1$s rompió %2$s de %4$s.", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT_NO_SOURCE = "Alguien ha roto %2$s de %1$s.", + ACTION_SPELL_AURA_BROKEN_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF = "rompió", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT = "%1$s %5$s rompió %4$s %2$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT_NO_SOURCE = "%5$s rompió %2$s de %4$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF = "rompió", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT = "%1$s %5$s rompió %4$s %2$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT_NO_SOURCE = "%5$s rompió %2$s de %4$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH = "restableció", + ACTION_SPELL_AURA_REFRESH_BUFF = "restableció", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT = "%2$s de %1$s restablecido en %4$s.", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT_NO_SOURCE = "%2$s se restablece en %4$s.", + ACTION_SPELL_AURA_REFRESH_BUFF_MASTER = "2", + ACTION_SPELL_AURA_REFRESH_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT = "%1$s %2$s restablecido en %4$s. %11$s", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s se restablece en %4$s. %11$s", + ACTION_SPELL_AURA_REFRESH_DEBUFF = "restableció", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT = "%2$s de %1$s restablecido en %4$s.", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s se restablece en %4$s.", + ACTION_SPELL_AURA_REFRESH_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT = "%1$s %2$s restablecido en %4$s. %11$s", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s se restablece en %4$s. %11$s", + ACTION_SPELL_AURA_REFRESH_MASTER = "2", + ACTION_SPELL_AURA_REMOVED = "eliminó", + ACTION_SPELL_AURA_REMOVED_BUFF = "perdió", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT = "%2$s de %1$s se desvanece de %4$s.", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT_NO_SOURCE = "%2$s se desvanece de %4$s.", + ACTION_SPELL_AURA_REMOVED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT = "%1$s %2$s se desvanece de %4$s. %11$s", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s se desvanece de %4$s. %11$s", + ACTION_SPELL_AURA_REMOVED_DEBUFF = "disipó", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT = "%2$s de %1$s se disipa de %4$s.", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s se disipa de %4$s.", + ACTION_SPELL_AURA_REMOVED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT = "%1$s %2$s se disipa de %4$s. %11$s", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s se disipa de %4$s. %11$s", + ACTION_SPELL_AURA_REMOVED_DOSE = "redujo", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF = "redujo", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT = "%2$s de %1$s (%9$s) disminuye.", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%2$s (%9$s) disminuye.", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF = "disminuyó", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT = "%2$s de %1$s (%9$s) decrece.", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s (%9$s) decrece.", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT = "%2$s de %1$s se eliminó de %4$s.", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT_NO_SOURCE = "%2$s de %1$s se eliminó de %4$s.", + ACTION_SPELL_AURA_REMOVED_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_DAMAGE = "golpea", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT = "%1$s %2$s golpea a %4$s por %5$s.%6$s", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s golpea a %4$s por %5$s.%6$s", + ACTION_SPELL_BUILDING_DAMAGE_MASTER = "1", + ACTION_SPELL_BUILDING_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_HEAL = "reparado", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT = "%1$s %2$s repairs %4$s durante %9$s.%6$s", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT_NO_SOURCE = "%2$s repara %4$s durante %9$s.%6$s", + ACTION_SPELL_BUILDING_HEAL_POSSESSIVE = "1", + ACTION_SPELL_CAST_FAILED = "falló", + ACTION_SPELL_CAST_FAILED_FULL_TEXT = "%2$s de %1$s falló.%6$s", + ACTION_SPELL_CAST_FAILED_MASTER = "1", + ACTION_SPELL_CAST_FAILED_POSSESSIVE = "1", + ACTION_SPELL_CAST_START = "comenzó a lanzar", + ACTION_SPELL_CAST_START_FULL_TEXT = "%1$s comienza a lanzar %2$s a %4$s.", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_DEST = "%1$s comienza a lanzar %2$s.", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_SOURCE = "Algo comienza a lanzar %2$s a %4$s.", + ACTION_SPELL_CAST_START_MASTER = "2", + ACTION_SPELL_CAST_START_POSSESSIVE = "0", + ACTION_SPELL_CAST_SUCCESS = "lanzó", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT = "%1$s lanza %2$s a %4$s.", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_DEST = "%1$s lanza %2$s.", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_SOURCE = "Algo lanza %2$s a %4$s.", + ACTION_SPELL_CAST_SUCCESS_MASTER = "2", + ACTION_SPELL_CAST_SUCCESS_POSSESSIVE = "0", + ACTION_SPELL_CREATE = "creó", + ACTION_SPELL_CREATE_FULL_TEXT = "%2$s de %1$s crea %4$s.%6$s", + ACTION_SPELL_CREATE_FULL_TEXT_NO_SOURCE = "%2$s crea %4$s.%6$s", + ACTION_SPELL_CREATE_POSSESSIVE = "1", + ACTION_SPELL_DAMAGE = "alcanzó", + ACTION_SPELL_DAMAGE_FULL_TEXT = "%2$s de %1$s golpea a %4$s y le inflige %5$s.%6$s", + ACTION_SPELL_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s golpea a %4$s y le inflige %5$s.%6$s", + ACTION_SPELL_DAMAGE_MASTER = "1", + ACTION_SPELL_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_DISPEL = "disipó", + ACTION_SPELL_DISPEL_BUFF = "disipó", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT = "%2$s de %1$s disipa %4$s de %5$s.", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT_NO_SOURCE = "%2$s disipa %4$s de %5$s.", + ACTION_SPELL_DISPEL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_DEBUFF = "limpió", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT = "%2$s de %1$s limpia %5$s de %4$s.", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s limpia %5$s de %4$s.", + ACTION_SPELL_DISPEL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_FAILED = "error al disipar", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT = "%2$s de %1$s no logra disipar %4$s de %5$s.", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT_NO_SOURCE = "%2$s no logró disipar %4$s %5$s.", + ACTION_SPELL_DISPEL_FAILED_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_POSSESSIVE = "1", + ACTION_SPELL_DRAIN = "drenó", + ACTION_SPELL_DRAIN_FULL_TEXT = "%2$s de %1$s drena %9$s %8$s de %4$s.", + ACTION_SPELL_DRAIN_FULL_TEXT_NO_SOURCE = "%2$s drena %9$s p. de %8$s de %4$s.", + ACTION_SPELL_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE = "pérdida de durabilidad", + ACTION_SPELL_DURABILITY_DAMAGE_ALL = "pérdida total de durabilidad", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_FULL_TEXT = "%2$s de %1$s daña %4$s: todos los objetos dañados.", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE_FULL_TEXT = "%2$s de %1$s daña %4$s: %5$s dañado.", + ACTION_SPELL_DURABILITY_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE = "energizó", + ACTION_SPELL_ENERGIZE_FULL_TEXT = "%4$s gana %9$s de %8$s gracias a %2$s de %1$s.", + ACTION_SPELL_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s gana %9$s de %8$s gracias a %2$s.", + ACTION_SPELL_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE_RESULT = "%9$s %8$s ganado", + ACTION_SPELL_EXTRA_ATTACKS = "otorgó ataques extra", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT = "%1$s gana %9$s ataques extra con %2$s.", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT_NO_SOURCE = "%2$s otorga %9$s ataques extra.", + ACTION_SPELL_EXTRA_ATTACKS_POSSESSIVE = "1", + ACTION_SPELL_HEAL = "sanó", + ACTION_SPELL_HEAL_FULL_TEXT = "%2$s de %1$s sana %9$s a %4$s.%6$s", + ACTION_SPELL_HEAL_FULL_TEXT_NO_SOURCE = "%2$s sana %9$s a %4$s.%6$s", + ACTION_SPELL_HEAL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL = "mató", + ACTION_SPELL_INSTAKILL_FULL_TEXT = "%2$s de %1$s mata al instante a %4$s.", + ACTION_SPELL_INSTAKILL_FULL_TEXT_NO_SOURCE = "%2$s mata a %4$s al instante.", + ACTION_SPELL_INSTAKILL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS = "está fuera de combate", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT = "%1$s %2$s deja fuera de combate a %4$s.", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT_NO_SOURCE = "%2$s deja fuera de combate a %4$s.", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_POSSESSIVE = "1", + ACTION_SPELL_INTERRUPT = "interrumpió", + ACTION_SPELL_INTERRUPT_FULL_TEXT = "%2$s de %1$s interrumpe %5$s de %4$s.", + ACTION_SPELL_INTERRUPT_FULL_TEXT_NO_SOURCE = "%2$s interrumpe %5$s de %4$s.", + ACTION_SPELL_INTERRUPT_POSSESSIVE = "1", + ACTION_SPELL_LEECH = "drenó", + ACTION_SPELL_LEECH_FULL_TEXT = "%1$s %2$s drena %9$s %8$s de %4$s. %1$s gana %10$s %8$s.", + ACTION_SPELL_LEECH_FULL_TEXT_NO_SOURCE = "%2$s drena %9$s %8$s de %4$s.", + ACTION_SPELL_LEECH_POSSESSIVE = "1", + ACTION_SPELL_LEECH_RESULT = "%10$s %8$s ganado", + ACTION_SPELL_MISSED = "fallado", + ACTION_SPELL_MISSED_ABSORB = "Absorbido", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT = "%4$s absorbió %2$s de %1$s.%6$s", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%4$s absorbió %2$s.%6$s", + ACTION_SPELL_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_MISSED_BLOCK = "Bloqueado", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT = "%4$s bloqueó %2$s de %1$s.%6$s", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%4$s bloqueó %2$s.%6$s", + ACTION_SPELL_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DEFLECT = "Desviado", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT = "%4$s desvió %2$s de %1$s.", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%4$s desvió %2$s.", + ACTION_SPELL_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DODGE = "Esquivado", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT = "%4$s esquivó %2$s de %1$s.", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%4$s esquivó %2$s.", + ACTION_SPELL_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_EVADE = "Evadido", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT = "%4$s evadió %2$s de %1$s.", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT_NO_SOURCE = "%4$s evadió %2$s.", + ACTION_SPELL_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_FULL_TEXT = "%2$s de %1$s no alcanzó a %4$s.", + ACTION_SPELL_MISSED_FULL_TEXT_NO_SOURCE = "%2$s no alcanzó a %4$s.", + ACTION_SPELL_MISSED_IMMUNE = "Inmune", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT = "%2$s de %1$s falló. %4$s era inmune.", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%2$s falló. %4$s era inmune.", + ACTION_SPELL_MISSED_MISFIRE = "Lanzamiento fallado", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT = "%2$s de %1$s ha fallado al lanzarse hacia %4$s.", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT_NO_SOURCE = "%2$s ha fallado al lanzarse hacia %4$s.", + ACTION_SPELL_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_MISS = "Fallado", + ACTION_SPELL_MISSED_MISS_FULL_TEXT = "%2$s de %1$s no alcanza a %4$s.", + ACTION_SPELL_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s no alcanza a %4$s.", + ACTION_SPELL_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_MISSED_PARRY = "Parado", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT = "%4$s paró %2$s de %1$s.", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%4$s paró %2$s.", + ACTION_SPELL_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_MISSED_POSSESSIVE = "1", + ACTION_SPELL_MISSED_REFLECT = "reflejado", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT = "%4$s reflejó %2$s de %1$s.", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT_NO_SOURCE = "%4$s reflejó %2$s.", + ACTION_SPELL_MISSED_RESIST = "resistido", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT = "%4$s resistió por completo %2$s de %1$s.%6$s", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%4$s resistió por completo %2$s.%6$s", + ACTION_SPELL_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DAMAGE = "dañó", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT = "%4$s sufre %5$s daño de %2$s de %1$s.%6$s", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT_NO_SOURCE = "%4$s sufre %5$s daño de %2$s.%6$s", + ACTION_SPELL_PERIODIC_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DRAIN = "drenó", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT = "%2$s de %1$s drena %9$s %8$s de %4$s.", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT_NO_SOURCE = "%2$s drena %9$s %8$s de %4$s.", + ACTION_SPELL_PERIODIC_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE = "energizó", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT = "%4$s gana %9$s de %8$s gracias a %2$s de %1$s.", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s gana %9$s de %8$s gracias a %2$s.", + ACTION_SPELL_PERIODIC_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE_RESULT = "$extraAmount %8$s ganado", + ACTION_SPELL_PERIODIC_HEAL = "sanó", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT = "%4$s gana %9$s salud gracias a %1$s %2$s.%6$s", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT_NO_SOURCE = "%4$s gana %9$s salud gracias a %2$s.%6$s", + ACTION_SPELL_PERIODIC_HEAL_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH = "drenó", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT = "%1$s %2$s drena %9$s %8$s de %4$s. %1$s gana %10$s %8$s.", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT_NO_SOURCE = "%2$s drena %9$s %8$s de %4$s. %1$s gana %10$s %8$s.", + ACTION_SPELL_PERIODIC_LEECH_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH_RESULT = "(%10$s %8$s ganado)", + ACTION_SPELL_PERIODIC_MISSED = "falla tic", + ACTION_SPELL_PERIODIC_MISSED_ABSORB = "(%1$s Absorbido)", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT = "%4$s absorbió %2$s de %1$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%4$s absorbió %2$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_BLOCK = "(Bloqueado)", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT = "%4$s bloqueó el efecto periódico de %2$s de %1$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%4$s bloqueó el efecto periódico de %2$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED = "(Desviado)", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT = "%4$s desvió el efecto periódico de %2$s de %1$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT_NO_SOURCE = "%4$s desvió el efecto periódico de %2$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DODGE = "(Esquivado)", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT = "%4$s esquivó el efecto periódico de %2$s de %1$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%4$s esquivó el efecto periódico de %2$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_EVADED = "(Evadido)", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT = "%4$s evadió el efecto periódico de %2$s de %1$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "%4$s evadió el efecto periódico de %2$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_EVADED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT = "%2$s de %1$s no tiene efecto periódico sobre %4$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT_NO_SOURCE = "%2$s no tiene efecto periódico sobre %4$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE = "(Inmune)", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT = "%4$s era inmune a %2$s de %1$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%4$s era inmune a %2$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_MISS = "(Fallado)", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT = "El efecto periódico de %2$s de %1$s no alcanzó a %4$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT_NO_SOURCE = "El efecto periódico de %2$s no alcanzó a %4$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_PARRY = "(Parado)", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT = "%4$s paró el efecto periódico de %2$s de %1$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%4$s paró el efecto periódico de %2$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_RESIST = "(Resistido)", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT = "%2$s de %1$s no afecta a %4$s. %4$s resistió.%6$s", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%2$s no afecta a %4$s. %4$s resistió.%6$s", + ACTION_SPELL_PERIODIC_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_RESURRECT = "resucitado", + ACTION_SPELL_RESURRECT_FULL_TEXT = "%1$s %2$s resucita a %4$s.%6$s", + ACTION_SPELL_RESURRECT_FULL_TEXT_NO_SOURCE = "%2$s resucita a %4$s.%6$s", + ACTION_SPELL_RESURRECT_POSSESSIVE = "1", + ACTION_SPELL_STOLEN = "robó", + ACTION_SPELL_STOLEN_BUFF = "robó", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT = "%2$s de %1$s roba %5$s de %4$s.", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT_NO_SOURCE = "%2$s roba %5$s de %4$s.", + ACTION_SPELL_STOLEN_BUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_BUFF__POSSESSIVE = "1", + ACTION_SPELL_STOLEN_DEBUFF = "robó", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT = "%2$s de %1$s transfiere $extraSpell de %4$s a %1$s.", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s transfiere $extraSpell de %4$s.", + ACTION_SPELL_STOLEN_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_FULL_TEXT = "%2$s de %1$s roba %5$s de %4$s.", + ACTION_SPELL_STOLEN_FULL_TEXT_NO_SOURCE = "%2$s roba %5$s de %4$s.", + ACTION_SPELL_STOLEN_POSSESSIVE = "1", + ACTION_SPELL_SUMMON = "invocó", + ACTION_SPELL_SUMMON_FULL_TEXT = "%2$s de %1$s invoca a %4$s.%6$s", + ACTION_SPELL_SUMMON_FULL_TEXT_NO_SOURCE = "%2$s invoca a %4$s.%6$s", + ACTION_SPELL_SUMMON_POSSESSIVE = "1", + ACTION_SWING = "Golpe", + ACTION_SWING_DAMAGE = "alcanzó", + ACTION_SWING_DAMAGE_FULL_TEXT = "%1$s da a %4$s un golpe cuerpo a cuerpo y le inflige %5$s.%6$s", + ACTION_SWING_DAMAGE_FULL_TEXT_NO_SOURCE = "Un golpe cuerpo a cuerpo alcanza a %4$s y le inflige %5$s.%6$s", + ACTION_SWING_DAMAGE_POSSESSIVE = "1", + ACTION_SWING_MISSED = "falló", + ACTION_SWING_MISSED_ABSORB = "(Absorbido)", + ACTION_SWING_MISSED_ABSORB_FULL_TEXT = "%4$s absorbió el ataque de %1$s.%6$s", + ACTION_SWING_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SWING_MISSED_BLOCK = "(Bloqueado)", + ACTION_SWING_MISSED_BLOCK_FULL_TEXT = "%4$s bloqueó el ataque de %1$s.%6$s", + ACTION_SWING_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SWING_MISSED_DEFLECT = "(Desviado)", + ACTION_SWING_MISSED_DEFLECT_FULL_TEXT = "%4$s desvió el ataque de %1$s.", + ACTION_SWING_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SWING_MISSED_DODGE = "(Esquivado)", + ACTION_SWING_MISSED_DODGE_FULL_TEXT = "%4$s esquivó el ataque de %1$s.", + ACTION_SWING_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SWING_MISSED_EVADE = "(Evadido)", + ACTION_SWING_MISSED_EVADE_FULL_TEXT = "%4$s evadió el ataque de %1$s.", + ACTION_SWING_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SWING_MISSED_FULL_TEXT = "El ataque de %1$s no alcanza a %4$s.", + ACTION_SWING_MISSED_IMMUNE = "(Inmune)", + ACTION_SWING_MISSED_IMMUNE_FULL_TEXT = "El ataque de %1$s ha fallado. %4$s era inmune.", + ACTION_SWING_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISFIRE = "(Lanzamiento fallado)", + ACTION_SWING_MISSED_MISFIRE_FULL_TEXT = "El ataque de %1$s ha fallado al lanzarse hacia %4$s.", + ACTION_SWING_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISS = "(Fallado)", + ACTION_SWING_MISSED_MISS_FULL_TEXT = "El ataque de %1$s no alcanza a %4$s.", + ACTION_SWING_MISSED_MISS_POSSESSIVE = "1", + ACTION_SWING_MISSED_PARRY = "(Parado)", + ACTION_SWING_MISSED_PARRY_FULL_TEXT = "%4$s paró el ataque de %1$s.", + ACTION_SWING_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SWING_MISSED_POSSESSIVE = "1", + ACTION_SWING_MISSED_RESIST = "(Resistido)", + ACTION_SWING_MISSED_RESIST_FULL_TEXT = "%4$s resistió por completo el ataque de %1$s.%6$s", + ACTION_SWING_MISSED_RESIST_POSSESSIVE = "1", + ACTION_UNIT_BECCOMES_UNCONSCIOUS = "se desmaya", + ACTION_UNIT_BECOMES_UNCONSCIOUS_FULL_TEXT = "%4$s se desmaya.", + ACTION_UNIT_BECOMES_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_UNIT_DESTROYED = "destruyó", + ACTION_UNIT_DESTROYED_FULL_TEXT = "%4$s ha sido destruido.", + ACTION_UNIT_DESTROYED_POSSESSIVE = "0", + ACTION_UNIT_DIED = "murió", + ACTION_UNIT_DIED_FULL_TEXT = "%4$s ha muerto.", + ACTION_UNIT_DIED_POSSESSIVE = "0", + ACTION_UNIT_DISSIPATES = "se disipa", + ACTION_UNIT_DISSIPATES_FULL_TEXT = "%4$s se disipa.", + ACTION_UNIT_DISSIPATES_POSSESSIVE = "0", + ADD = "Añadir", + ADDITIONAL_FILTERS = "Filtros adicionales", + 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?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING = "¿Qué hizo %s?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING_ME = "¿Qué te hizo %s?", + BLIZZARD_COMBAT_LOG_MENU_RESET = "Restablecer", + 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.", + 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", + DAMAGE_SHIELD = "Escudos de daño", + DEFAULT_COMBATLOG_FILTER_NAME = "Filtro %d", + ENTER_FILTER_NAME = "Escribe el nombre del filtro:", + ENVIRONMENTAL_DAMAGE = "Daño del entorno", + 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.", + STRING_SCHOOL_UNKNOWN = "Desconocido", + 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", + TEXT_MODE_A_STRING_3 = "%1$s %5$s %3$s %4$s %2$s. %6$s", + TEXT_MODE_A_STRING_ACTION = "|Haction:%s|h%s|h", + TEXT_MODE_A_STRING_BRACE_ITEM = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_SPELL = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_UNIT = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_DEST_ICON = "|Hicon:%d:dest|h%s|h", + TEXT_MODE_A_STRING_DEST_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_ITEM = "|Hitem:%s|h%s|h", + TEXT_MODE_A_STRING_POSSESSIVE = "%s", + TEXT_MODE_A_STRING_REMAINING_POINTS = "(%s restante)", + TEXT_MODE_A_STRING_RESULT_ABSORB = "(%s absorbido)", + TEXT_MODE_A_STRING_RESULT_BLOCK = "(%s bloqueado)", + TEXT_MODE_A_STRING_RESULT_CRITICAL = "(Crítico)", + TEXT_MODE_A_STRING_RESULT_CRITICAL_SPELL = "(Crítico)", + TEXT_MODE_A_STRING_RESULT_CRUSHING = "(Aplastamiento)", + TEXT_MODE_A_STRING_RESULT_FORMAT = "$resultAmount $resultType", + TEXT_MODE_A_STRING_RESULT_GLANCING = "(Refilón)", + TEXT_MODE_A_STRING_RESULT_MULTISTRIKE = "(Multigolpe)", + TEXT_MODE_A_STRING_RESULT_OVERENERGIZE = "(%s sobreenergizado)", + TEXT_MODE_A_STRING_RESULT_OVERHEALING = "(%s de exceso de sanación)", + TEXT_MODE_A_STRING_RESULT_OVERKILLING = "(%s excedente)", + TEXT_MODE_A_STRING_RESULT_PARRY = "(%d Parado)", + TEXT_MODE_A_STRING_RESULT_REFLECT = "Reflejado", + TEXT_MODE_A_STRING_RESULT_RESIST = "(%s resistido)", + TEXT_MODE_A_STRING_RESULT_VULNERABILITY = "(%s de daño de vulnerabilidad)", + TEXT_MODE_A_STRING_SOURCE_ICON = "|Hicon:%s:source|h%s|h", + TEXT_MODE_A_STRING_SOURCE_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL_EXTRA = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_TIMESTAMP = "%s> %s", + TEXT_MODE_A_STRING_VALUE_SCHOOL = "%s %s", + TEXT_MODE_A_STRING_VALUE_TYPE = "%s (%s)", + TEXT_MODE_A_TIMESTAMP = "%H:%M:%S", + UNIT_YOU = "Tú", + UNIT_YOU_DEST = "Tú", + UNIT_YOU_DEST_POSSESSIVE = "Tu", + UNIT_YOU_SOURCE = "Tú", + UNIT_YOU_SOURCE_POSSESSIVE = "Tu", +} diff --git a/env/combatlog_frFR.lua b/env/combatlog_frFR.lua new file mode 100644 index 00000000..1b51f0c9 --- /dev/null +++ b/env/combatlog_frFR.lua @@ -0,0 +1,538 @@ +-- Classic Era GlobalStrings (FR) that the combat log reads +-- and the 1.12 client lacks. Generated; do not edit by hand. +pfUI_locale["frFR"]["combatlog"] = { + ACTION_DAMAGE_SHIELD = "inflige des dégâts", + ACTION_DAMAGE_SHIELD_FULL_TEXT = "%2$s %1$s renvoie %9$s de dégâts |2 %7$s à %4$s.%6$s", + ACTION_DAMAGE_SHIELD_FULL_TEXT_NO_SOURCE = "%2$s renvoie %9$s de dégâts |2 %7$s à %4$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED = "rate", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK = "(Bloque)", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT = "%2$s %1$s est bloqué par %4$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%2$s est bloqué par %4$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT = "(Dévie)", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT = "%2$s %1$s est dévié par %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%2$s est dévié par %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DODGE = "(Esquive)", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT = "%2$s %1$s est esquivé par %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%2$s est esquivé par %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_EVADED = "(Évite)", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT = "%2$s %1$s est évité par %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "%2$s est évité par %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT = "%2$s %1$s rate %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT_NO_SOURCE = "%2$s rate %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE = "(Insensible)", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT = "%2$s %1$s a échoué. %4$s est insensible.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%2$s a échoué. %4$s est insensible.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_MISS = "(Rate)", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT = "%2$s %1$s rate %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s rate %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_MISS_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_PARRY = "(Pare)", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT = "%2$s %1$s est paré par %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%2$s est paré par %4$s.", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_RESIST = "(Résiste)", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT = "%4$s résiste entièrement à %2$s %1$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%4$s résiste entièrement à %2$s.%6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_POSSESSIVE = "1", + ACTION_DAMAGE_SPLIT = "partage les dégâts", + ACTION_DAMAGE_SPLIT_ABSORBED_FULL_TEXT = "Les dégâts |2 %2$s |2 %1$s sont absorbés par %4$s %6$s.", + ACTION_DAMAGE_SPLIT_FULL_TEXT = "%2$s %1$s inflige %9$s points de dégâts à %4$s.", + ACTION_DAMAGE_SPLIT_POSSESSIVE = "0", + ACTION_DAMAGE_SPLIT_RESULT_FULL_TEXT = "%2$s |2 %1$s inflige %9$s points de dégâts à %4$s %6$s.", + ACTION_ENCHANT_APPLIED = "enchante", + ACTION_ENCHANT_APPLIED_FULL_TEXT = "%1$s lance %2$s sur %5$s %4$s.", + ACTION_ENCHANT_APPLIED_POSSESSIVE = "0", + ACTION_ENCHANT_REMOVED = "lève l'enchantement", + ACTION_ENCHANT_REMOVED_FULL_TEXT = "%2$s s'efface |2 %5$s %4$s.", + ACTION_ENCHANT_REMOVED_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE = "inflige des dégâts", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING = "Noyade", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_FULL_TEXT = "%4$s se noie et perd %9$s points de vie.", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING = "Chute", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_FULL_TEXT = "%4$s tombe et perd %9$s points de vie.", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE = "Fatigue", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_FULL_TEXT = "%4$s s'épuise et perd %9$s points de vie.", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE = "Feu", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_FULL_TEXT = "%4$s subit %9$s points de dégâts de Feu.", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FULL_TEXT = "%4$s perd %9$s points de vie par dégâts de l'environnement.", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA = "Lave", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_FULL_TEXT = "%4$s perd %9$s points de vie en nageant dans la lave. %6$s", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME = "Gelée", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_FULL_TEXT = "%4$s perd %9$s points de vie en nageant dans la gelée. %6$s", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_POSSESSIVE = "0", + ACTION_PARTY_KILL = "tue", + ACTION_PARTY_KILL_FULL_TEXT = "%1$s a tué %4$s !", + ACTION_PARTY_KILL_POSSESSIVE = "0", + ACTION_PARTY_KILL_UNCONSCIOUS = "assommé", + ACTION_PARTY_KILL_UNCONSCIOUS_FULL_TEXT = "%1$s a assommé %4$s !", + ACTION_PARTY_KILL_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_RANGED = "Tir", + ACTION_RANGE_DAMAGE = "touche", + ACTION_RANGE_DAMAGE_FULL_TEXT = "Le tir %1$s touche %4$s pour %5$s.%6$s", + ACTION_RANGE_DAMAGE_FULL_TEXT_NO_SOURCE = "Un tir touche %4$s pour %5$s.%6$s", + ACTION_RANGE_DAMAGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED = "rate", + ACTION_RANGE_MISSED_ABSORB = "(Absorbe)", + ACTION_RANGE_MISSED_ABSORB_FULL_TEXT = "Le tir %1$s est absorbé par %4$s.%6$s", + ACTION_RANGE_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_RANGE_MISSED_BLOCK = "(Bloque)", + ACTION_RANGE_MISSED_BLOCK_FULL_TEXT = "Le tir %1$s est bloqué par %4$s.%6$s", + ACTION_RANGE_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DEFLECT = "(Dévie)", + ACTION_RANGE_MISSED_DEFLECT_FULL_TEXT = "Le tir %1$s est dévié par %4$s.", + ACTION_RANGE_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DODGE = "(Esquive)", + ACTION_RANGE_MISSED_DODGE_FULL_TEXT = "Le tir %1$s est esquivé par %4$s.", + ACTION_RANGE_MISSED_DODGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_EVADE = "(Évite)", + ACTION_RANGE_MISSED_EVADE_FULL_TEXT = "Le tir %1$s est évité par %4$s.", + ACTION_RANGE_MISSED_EVADE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_FULL_TEXT = "Le tir %1$s rate %4$s.", + ACTION_RANGE_MISSED_IMMUNE = "(Insensible)", + ACTION_RANGE_MISSED_IMMUNE_FULL_TEXT = "Le tir %1$s a échoué. %4$s est insensible.", + ACTION_RANGE_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISFIRE = "(Tir accidentel)", + ACTION_RANGE_MISSED_MISFIRE_FULL_TEXT = "Le tir %1$s a touché %4$s par accident.", + ACTION_RANGE_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISS = "(Raté)", + ACTION_RANGE_MISSED_MISS_FULL_TEXT = "Le tir %1$s rate %4$s.", + ACTION_RANGE_MISSED_MISS_POSSESSIVE = "1", + ACTION_RANGE_MISSED_PARRY = "(Pare)", + ACTION_RANGE_MISSED_PARRY_FULL_TEXT = "Le tir %1$s est paré par %4$s.", + ACTION_RANGE_MISSED_PARRY_POSSESSIVE = "1", + ACTION_RANGE_MISSED_POSSESSIVE = "1", + ACTION_RANGE_MISSED_RESIST = "(Résiste)", + ACTION_RANGE_MISSED_RESIST_FULL_TEXT = "Le tir %1$s a échoué, %4$s résiste entièrement.%6$s", + ACTION_RANGE_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED = "applique", + ACTION_SPELL_AURA_APPLIED_BUFF = "applique", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT = "%4$s gagne %2$s %1$s.", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT_NO_SOURCE = "%4$s gagne %2$s.", + ACTION_SPELL_AURA_APPLIED_BUFF_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT = "%4$s gagne %2$s %1$s. %11$s", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s gagne %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF = "afflige", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT = "%4$s souffre |2 %2$s %1$s.", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s souffre |2 %2$s.", + ACTION_SPELL_AURA_APPLIED_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT = "%4$s souffre |2 %2$s %1$s. %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s souffre |2 %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_DOSE = "cumule", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF = "cumule", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT = "%4$s gagne %2$s %1$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%4$s gagne %2$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF = "afflige", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT = "%4$s souffre |2 %2$s %1$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s souffre |2 %2$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN = "brise", + ACTION_SPELL_AURA_BROKEN_BUFF = "brise", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT = "%1$s brise %2$s %4$s.", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT_NO_SOURCE = "%2$s %1$s a été brisé par quelqu'un.", + ACTION_SPELL_AURA_BROKEN_BUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_BROKEN_DEBUFF = "brise", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT = "%1$s brise %2$s %4$s.", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s %1$s a été brisé par quelqu'un.", + ACTION_SPELL_AURA_BROKEN_DEBUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF = "brise", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT = "%1$s brise %2$s %4$s avec %5$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT_NO_SOURCE = "%5$s a brisé %2$s %4$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF = "brise", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT = "%1$s brise %2$s %4$s avec %5$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT_NO_SOURCE = "%5$s brise %2$s %4$s.", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH = "rafraîchit", + ACTION_SPELL_AURA_REFRESH_BUFF = "rafraîchit", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT = "%2$s %1$s est rafraîchi sur %4$s.", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT_NO_SOURCE = "%2$s est rafraîchi sur %4$s.", + ACTION_SPELL_AURA_REFRESH_BUFF_MASTER = "2", + ACTION_SPELL_AURA_REFRESH_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT = "%2$s %1$s est rafraîchi sur %4$s. %11$s", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s est rafraîchi sur %4$s. %11$s", + ACTION_SPELL_AURA_REFRESH_DEBUFF = "rafraîchit", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT = "%2$s %1$s est rafraîchi sur %4$s.", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s est rafraîchi sur %4$s.", + ACTION_SPELL_AURA_REFRESH_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT = "%2$s %1$s est rafraîchi sur %4$s. %11$s", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s est rafraîchi sur %4$s. %11$s", + ACTION_SPELL_AURA_REFRESH_MASTER = "2", + ACTION_SPELL_AURA_REMOVED = "enlève", + ACTION_SPELL_AURA_REMOVED_BUFF = "efface", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT = "%2$s %1$s s'efface |2 %4$s.", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT_NO_SOURCE = "%2$s s'efface |2 %4$s.", + ACTION_SPELL_AURA_REMOVED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT = "%2$s %1$s s'efface |2 %4$s. %11$s", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s s'efface |2 %4$s. %11$s", + ACTION_SPELL_AURA_REMOVED_DEBUFF = "disparaît", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT = "%2$s %1$s disparaît |2 %4$s.", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s se dissipe |2 %4$s.", + ACTION_SPELL_AURA_REMOVED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT = "%2$s %1$s disparaît |2 %4$s. %11$s", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s se dissipe |2 %4$s. %11$s", + ACTION_SPELL_AURA_REMOVED_DOSE = "réduit", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF = "réduit", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT = "%2$s %1$s (%9$s) se réduit.", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%2$s (%9$s) se réduit.", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF = "diminue", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT = "%2$s %1$s (%9$s) diminue.", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s (%9$s) diminue.", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT = "%2$s %1$s est enlevé |2 %4$s.", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT_NO_SOURCE = "%2$s %1$s est enlevé |2 %4$s.", + ACTION_SPELL_AURA_REMOVED_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_DAMAGE = "frappe", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT = "%2$s %1$s frappe %4$s pour %5$s.%6$s", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s frappe %4$s pour %5$s.%6$s", + ACTION_SPELL_BUILDING_DAMAGE_MASTER = "1", + ACTION_SPELL_BUILDING_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_HEAL = "répare", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT = "%2$s %1$s répare %4$s pour %9$s.%6$s", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT_NO_SOURCE = "%2$s répare %4$s pour %9$s.%6$s", + ACTION_SPELL_BUILDING_HEAL_POSSESSIVE = "1", + ACTION_SPELL_CAST_FAILED = "échoue", + ACTION_SPELL_CAST_FAILED_FULL_TEXT = "%2$s %1$s échoue.%6$s", + ACTION_SPELL_CAST_FAILED_MASTER = "1", + ACTION_SPELL_CAST_FAILED_POSSESSIVE = "1", + ACTION_SPELL_CAST_START = "commence à lancer", + ACTION_SPELL_CAST_START_FULL_TEXT = "%1$s commence à lancer %2$s sur %4$s.", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_DEST = "%1$s commence à lancer %2$s.", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_SOURCE = "Quelqu'un commence à lancer %2$s sur %4$s.", + ACTION_SPELL_CAST_START_MASTER = "2", + ACTION_SPELL_CAST_START_POSSESSIVE = "0", + ACTION_SPELL_CAST_SUCCESS = "lance", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT = "%1$s lance %2$s sur %4$s.", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_DEST = "%1$s lance %2$s.", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_SOURCE = "Quelque chose lance %2$s sur %4$s.", + ACTION_SPELL_CAST_SUCCESS_MASTER = "2", + ACTION_SPELL_CAST_SUCCESS_POSSESSIVE = "0", + ACTION_SPELL_CREATE = "Crée", + ACTION_SPELL_CREATE_FULL_TEXT = "%2$s %1$s crée %4$s.%6$s", + ACTION_SPELL_CREATE_FULL_TEXT_NO_SOURCE = "%2$s crée %4$s.%6$s", + ACTION_SPELL_CREATE_POSSESSIVE = "1", + ACTION_SPELL_DAMAGE = "touche", + ACTION_SPELL_DAMAGE_FULL_TEXT = "%2$s %1$s touche %4$s pour %5$s.%6$s", + ACTION_SPELL_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s touche %4$s pour %5$s.%6$s", + ACTION_SPELL_DAMAGE_MASTER = "1", + ACTION_SPELL_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_DISPEL = "dissipe", + ACTION_SPELL_DISPEL_BUFF = "dissipe", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT = "%5$s %4$s est dissipé par %2$s %1$s.", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT_NO_SOURCE = "%5$s %4$s est dissipé par %2$s.", + ACTION_SPELL_DISPEL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_DEBUFF = "purifie", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT = "%5$s %4$s est purifié par %2$s %1$s.", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT_NO_SOURCE = "%5$s %4$s purifié par %2$s.", + ACTION_SPELL_DISPEL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_FAILED = "échec de dissipation", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT = "%2$s %1$s n'arrive pas à dissiper %5$s %4$s.", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT_NO_SOURCE = "%2$s n'arrive pas à dissiper %5$s %4$s.", + ACTION_SPELL_DISPEL_FAILED_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_POSSESSIVE = "1", + ACTION_SPELL_DRAIN = "draine", + ACTION_SPELL_DRAIN_FULL_TEXT = "%2$s %1$s draine %9$s points |2 %8$s |2 %4$s.", + ACTION_SPELL_DRAIN_FULL_TEXT_NO_SOURCE = "%2$s draine %9$s %8$s |2 %4$s.", + ACTION_SPELL_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE = "perte de durabilité", + ACTION_SPELL_DURABILITY_DAMAGE_ALL = "perte de durabilité complète", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_FULL_TEXT = "%2$s %1$s endommage %4$s : tous les objets sont abîmés.", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE_FULL_TEXT = "%2$s %1$s endommage %4$s : %5$s abîmé(e).", + ACTION_SPELL_DURABILITY_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE = "dynamise", + ACTION_SPELL_ENERGIZE_FULL_TEXT = "%4$s gagne %9$s points |2 %8$s |2 %2$s %1$s.", + ACTION_SPELL_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s gagne %9$s points |2 %8$s |2 %2$s.", + ACTION_SPELL_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE_RESULT = "%9$s %8$s gagné", + ACTION_SPELL_EXTRA_ATTACKS = "confère des attaques supplémentaires", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT = "%1$s gagne %9$s attaques supplémentaires grâce à %2$s.", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT_NO_SOURCE = "%9$s attaques supplémentaires conférées par %2$s.", + ACTION_SPELL_EXTRA_ATTACKS_POSSESSIVE = "1", + ACTION_SPELL_HEAL = "soigne", + ACTION_SPELL_HEAL_FULL_TEXT = "%2$s %1$s soigne %4$s pour %9$s points.%6$s", + ACTION_SPELL_HEAL_FULL_TEXT_NO_SOURCE = "%2$s soigne %4$s pour %9$s points.%6$s", + ACTION_SPELL_HEAL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL = "tue", + ACTION_SPELL_INSTAKILL_FULL_TEXT = "%2$s %1$s tue instantanément %4$s.", + ACTION_SPELL_INSTAKILL_FULL_TEXT_NO_SOURCE = "%2$s tue instantanément %4$s.", + ACTION_SPELL_INSTAKILL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS = "assommé", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT = "%2$s %1$s assomme %4$s.", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT_NO_SOURCE = "%2$s assomme %4$s.", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_POSSESSIVE = "1", + ACTION_SPELL_INTERRUPT = "interrompt", + ACTION_SPELL_INTERRUPT_FULL_TEXT = "%2$s %1$s interrompt %5$s %4$s.", + ACTION_SPELL_INTERRUPT_FULL_TEXT_NO_SOURCE = "%2$s interrompt %5$s %4$s.", + ACTION_SPELL_INTERRUPT_POSSESSIVE = "1", + ACTION_SPELL_LEECH = "draine", + ACTION_SPELL_LEECH_FULL_TEXT = "%2$s %1$s draine %9$s points |2 %8$s |2 %4$s. %1$s gagne %10$s points |2 %8$s.", + ACTION_SPELL_LEECH_FULL_TEXT_NO_SOURCE = "%2$s draine %9$s points |2 %8$s |2 %4$s.", + ACTION_SPELL_LEECH_POSSESSIVE = "1", + ACTION_SPELL_LEECH_RESULT = "%10$s points |2 %8$s gagnés", + ACTION_SPELL_MISSED = "rate", + ACTION_SPELL_MISSED_ABSORB = "Absorbé", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT = "%2$s %1$s est absorbé par %4$s.%6$s", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%2$s est absorbé par %4$s.%6$s", + ACTION_SPELL_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_MISSED_BLOCK = "Bloqué", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT = "%2$s %1$s est bloqué par %4$s.%6$s", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%2$s est bloqué par %4$s.%6$s", + ACTION_SPELL_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DEFLECT = "Dévie", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT = "%2$s %1$s est dévié par %4$s.", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%2$s est dévié par %4$s.", + ACTION_SPELL_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DODGE = "Esquive", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT = "%2$s %1$s est esquivé par %4$s.", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%2$s est esquivé par %4$s.", + ACTION_SPELL_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_EVADE = "Évite", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT = "%2$s %1$s est évité par %4$s.", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT_NO_SOURCE = "%2$s est évité par %4$s.", + ACTION_SPELL_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_FULL_TEXT = "%2$s %1$s rate %4$s.", + ACTION_SPELL_MISSED_FULL_TEXT_NO_SOURCE = "%2$s rate %4$s.", + ACTION_SPELL_MISSED_IMMUNE = "Insensible", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT = "%2$s %1$s a échoué. %4$s est insensible.", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%2$s a échoué. %4$s est insensible.", + ACTION_SPELL_MISSED_MISFIRE = "Tir accidentel", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT = "%2$s %1$s a touché %4$s par accident.", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT_NO_SOURCE = "%2$s a touché %4$s par accident.", + ACTION_SPELL_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_MISS = "Raté", + ACTION_SPELL_MISSED_MISS_FULL_TEXT = "%2$s %1$s rate %4$s.", + ACTION_SPELL_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s rate %4$s.", + ACTION_SPELL_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_MISSED_PARRY = "Pare", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT = "%2$s %1$s est paré par %4$s.", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%2$s est paré par %4$s.", + ACTION_SPELL_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_MISSED_POSSESSIVE = "1", + ACTION_SPELL_MISSED_REFLECT = "renvoyé", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT = "%2$s %1$s est renvoyé par %4$s.", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT_NO_SOURCE = "%2$s est renvoyé par %4$s.", + ACTION_SPELL_MISSED_RESIST = "résiste", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT = "%2$s %1$s a échoué, %4$s résiste entièrement.%6$s", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%2$s a échoué, %4$s résiste entièrement.%6$s", + ACTION_SPELL_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DAMAGE = "inflige des dégâts", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT = "%4$s reçoit %5$s de dégâts |2 %2$s %1$s.%6$s", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT_NO_SOURCE = "%4$s reçoit %5$s de dégâts |2 %2$s.%6$s", + ACTION_SPELL_PERIODIC_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DRAIN = "draine", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT = "%2$s %1$s draine %9$s %8$s |2 %4$s.", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT_NO_SOURCE = "%2$s draine %9$s points |2 %8$s |2 %4$s.", + ACTION_SPELL_PERIODIC_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE = "dynamise", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT = "%4$s gagne %9$s %8$s |2 %2$s %1$s.", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s gagne %9$s points |2 %8$s |2 %2$s.", + ACTION_SPELL_PERIODIC_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE_RESULT = "$extraAmount %8$s gagné", + ACTION_SPELL_PERIODIC_HEAL = "soigne", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT = "%4$s gagne %9$s points de vie |2 %2$s %1$s.%6$s", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT_NO_SOURCE = "%4$s gagne %9$s points de vie |2 %2$s.%6$s", + ACTION_SPELL_PERIODIC_HEAL_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH = "draine", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT = "%2$s %1$s draine %9$s points |2 %8$s |2 %4$s. %1$s gagne %10$s points |2 %8$s.", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT_NO_SOURCE = "%2$s draine %9$s points |2 %8$s |2 %4$s. %1$s gagne %10$s points |2 %8$s.", + ACTION_SPELL_PERIODIC_LEECH_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH_RESULT = "(%10$s points |2 %8$s gagnés)", + ACTION_SPELL_PERIODIC_MISSED = "rate", + ACTION_SPELL_PERIODIC_MISSED_ABSORB = "(%1$s absorbée)", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT = "%2$s %1$s est absorbé par %4$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%2$s est absorbé par %4$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_BLOCK = "(Itération bloquée)", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT = "%2$s %1$s a été bloqué par %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%2$s a été bloqué par %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED = "(Itération déviée)", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT = "%2$s %1$s a été dévié par %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT_NO_SOURCE = "%2$s a été dévié par %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DODGE = "(Itération esquivée)", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT = "%2$s %1$s a été esquivé par %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%2$s a été esquivé par %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_EVADED = "(Itération évitée)", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT = "%2$s %1$s a été évité par %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "%2$s a été évité par %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_EVADED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT = "%2$s %1$s n'affecte pas %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT_NO_SOURCE = "%2$s n'affecte pas %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE = "(Insensible)", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT = "%4$s était insensible à %2$s %1$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%4$s était insensible à %2$s.%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_MISS = "(Itération échouée)", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT = "%2$s %1$s a raté %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s a raté %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_PARRY = "(Itération parée)", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT = "%2$s %1$s a été paré par %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%2$s a été paré par %4$s pour un temps.%6$s", + ACTION_SPELL_PERIODIC_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_RESIST = "(Itération résistée)", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT = "%2$s %1$s n'affecte pas %4$s. %4$s résiste.%6$s", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%2$s n'affecte pas %4$s. %4$s résiste.%6$s", + ACTION_SPELL_PERIODIC_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_RESURRECT = "Ressuscite", + ACTION_SPELL_RESURRECT_FULL_TEXT = "%2$s %1$s ressuscite %4$s.%6$s", + ACTION_SPELL_RESURRECT_FULL_TEXT_NO_SOURCE = "%2$s ressuscite %4$s.%6$s", + ACTION_SPELL_RESURRECT_POSSESSIVE = "1", + ACTION_SPELL_STOLEN = "vole", + ACTION_SPELL_STOLEN_BUFF = "vole", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT = "%2$s %1$s vole %5$s %4$s.", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT_NO_SOURCE = "%2$s vole %5$s %4$s.", + ACTION_SPELL_STOLEN_BUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_BUFF__POSSESSIVE = "1", + ACTION_SPELL_STOLEN_DEBUFF = "vole", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT = "%2$s %1$s transfère $extraSpell %4$s à %1$s.", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s transfère $extraSpell %4$s.", + ACTION_SPELL_STOLEN_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_FULL_TEXT = "%2$s %1$s vole %5$s %4$s.", + ACTION_SPELL_STOLEN_FULL_TEXT_NO_SOURCE = "%2$s vole %5$s %4$s.", + ACTION_SPELL_STOLEN_POSSESSIVE = "1", + ACTION_SPELL_SUMMON = "invoque", + ACTION_SPELL_SUMMON_FULL_TEXT = "%2$s %1$s invoque %4$s.%6$s", + ACTION_SPELL_SUMMON_FULL_TEXT_NO_SOURCE = "%2$s invoque %4$s.%6$s", + ACTION_SPELL_SUMMON_POSSESSIVE = "1", + ACTION_SWING = "Coup", + ACTION_SWING_DAMAGE = "touche", + ACTION_SWING_DAMAGE_FULL_TEXT = "Le coup %1$s touche %4$s pour %5$s.%6$s", + ACTION_SWING_DAMAGE_FULL_TEXT_NO_SOURCE = "Un coup touche %4$s pour %5$s.%6$s", + ACTION_SWING_DAMAGE_POSSESSIVE = "1", + ACTION_SWING_MISSED = "rate", + ACTION_SWING_MISSED_ABSORB = "(Absorbe)", + ACTION_SWING_MISSED_ABSORB_FULL_TEXT = "L'attaque %1$s est absorbée par %4$s.%6$s", + ACTION_SWING_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SWING_MISSED_BLOCK = "(Bloque)", + ACTION_SWING_MISSED_BLOCK_FULL_TEXT = "L'attaque %1$s est bloquée par %4$s.%6$s", + ACTION_SWING_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SWING_MISSED_DEFLECT = "(Dévie)", + ACTION_SWING_MISSED_DEFLECT_FULL_TEXT = "L'attaque %1$s est déviée par %4$s.", + ACTION_SWING_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SWING_MISSED_DODGE = "(Esquive)", + ACTION_SWING_MISSED_DODGE_FULL_TEXT = "L'attaque %1$s est esquivée par %4$s.", + ACTION_SWING_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SWING_MISSED_EVADE = "(Évite)", + ACTION_SWING_MISSED_EVADE_FULL_TEXT = "L'attaque %1$s est évitée par %4$s.", + ACTION_SWING_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SWING_MISSED_FULL_TEXT = "L'attaque %1$s rate %4$s.", + ACTION_SWING_MISSED_IMMUNE = "(Insensible)", + ACTION_SWING_MISSED_IMMUNE_FULL_TEXT = "L'attaque %1$s a échoué, %4$s est insensible.", + ACTION_SWING_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISFIRE = "(Tir accidentel)", + ACTION_SWING_MISSED_MISFIRE_FULL_TEXT = "L'attaque %1$s a touché %4$s par accident.", + ACTION_SWING_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISS = "(Raté)", + ACTION_SWING_MISSED_MISS_FULL_TEXT = "L'attaque %1$s rate %4$s.", + ACTION_SWING_MISSED_MISS_POSSESSIVE = "1", + ACTION_SWING_MISSED_PARRY = "(Parade)", + ACTION_SWING_MISSED_PARRY_FULL_TEXT = "L'attaque %1$s est parée par %4$s.", + ACTION_SWING_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SWING_MISSED_POSSESSIVE = "1", + ACTION_SWING_MISSED_RESIST = "(Résistance)", + ACTION_SWING_MISSED_RESIST_FULL_TEXT = "L'attaque %1$s a échoué, %4$s résiste entièrement.%6$s", + ACTION_SWING_MISSED_RESIST_POSSESSIVE = "1", + ACTION_UNIT_BECCOMES_UNCONSCIOUS = "s'évanouit", + ACTION_UNIT_BECOMES_UNCONSCIOUS_FULL_TEXT = "%4$s s'évanouit.", + ACTION_UNIT_BECOMES_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_UNIT_DESTROYED = "détruit", + ACTION_UNIT_DESTROYED_FULL_TEXT = "%4$s a été détruit.", + ACTION_UNIT_DESTROYED_POSSESSIVE = "0", + ACTION_UNIT_DIED = "meurt", + ACTION_UNIT_DIED_FULL_TEXT = "%4$s meurt.", + ACTION_UNIT_DIED_POSSESSIVE = "0", + ACTION_UNIT_DISSIPATES = "se dissipe", + ACTION_UNIT_DISSIPATES_FULL_TEXT = "%4$s se dissipe.", + ACTION_UNIT_DISSIPATES_POSSESSIVE = "0", + ADD = "Ajouter", + ADDITIONAL_FILTERS = "Filtres supplémentaires", + 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 ?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING = "Qu'a fait %s ?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING_ME = "Qu'est-ce que %s vous a fait ?", + BLIZZARD_COMBAT_LOG_MENU_RESET = "Réinitialiser", + 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.", + 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", + DAMAGE_SHIELD = "Boucliers de dégâts", + DEFAULT_COMBATLOG_FILTER_NAME = "Filtre %d", + ENTER_FILTER_NAME = "Indiquez le nom du filtre :", + ENVIRONMENTAL_DAMAGE = "Dégâts de l'environnement", + 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.", + STRING_SCHOOL_UNKNOWN = "(Inconnu)", + 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", + TEXT_MODE_A_STRING_3 = "%1$s %5$s %3$s %4$s %2$s. %6$s", + TEXT_MODE_A_STRING_ACTION = "|Haction:%s|h%s|h", + TEXT_MODE_A_STRING_BRACE_ITEM = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_SPELL = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_UNIT = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_DEST_ICON = "|Hicon:%d:dest|h%s|h", + TEXT_MODE_A_STRING_DEST_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_ITEM = "|Hitem:%s|h%s|h", + TEXT_MODE_A_STRING_POSSESSIVE = "|2 %s", + TEXT_MODE_A_STRING_REMAINING_POINTS = "(%s restant)", + TEXT_MODE_A_STRING_RESULT_ABSORB = "(%s absorbé)", + TEXT_MODE_A_STRING_RESULT_BLOCK = "(%s bloqué)", + TEXT_MODE_A_STRING_RESULT_CRITICAL = "(Critique)", + TEXT_MODE_A_STRING_RESULT_CRITICAL_SPELL = "(Critique)", + TEXT_MODE_A_STRING_RESULT_CRUSHING = "(Écrasement)", + TEXT_MODE_A_STRING_RESULT_FORMAT = "$resultType : $resultAmount", + TEXT_MODE_A_STRING_RESULT_GLANCING = "(Éraflure)", + TEXT_MODE_A_STRING_RESULT_MULTISTRIKE = "(Frappe multiple)", + TEXT_MODE_A_STRING_RESULT_OVERENERGIZE = "(Excès d'énergie %s)", + TEXT_MODE_A_STRING_RESULT_OVERHEALING = "(Excès de soins %s)", + TEXT_MODE_A_STRING_RESULT_OVERKILLING = "(Excès de dégâts %s)", + TEXT_MODE_A_STRING_RESULT_PARRY = "(%d paré)", + TEXT_MODE_A_STRING_RESULT_REFLECT = "Renvoyé", + TEXT_MODE_A_STRING_RESULT_RESIST = "(%s résisté)", + TEXT_MODE_A_STRING_RESULT_VULNERABILITY = "(%s de dégâts de vulnérabilité)", + TEXT_MODE_A_STRING_SOURCE_ICON = "|Hicon:%s:source|h%s|h", + TEXT_MODE_A_STRING_SOURCE_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL_EXTRA = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_TIMESTAMP = "%s> %s", + TEXT_MODE_A_STRING_VALUE_SCHOOL = "%s %s", + TEXT_MODE_A_STRING_VALUE_TYPE = "%s (%s)", + TEXT_MODE_A_TIMESTAMP = "%H:%M:%S", + UNIT_YOU = "Vous", + UNIT_YOU_DEST = "Vous", + UNIT_YOU_DEST_POSSESSIVE = "votre personnage", + UNIT_YOU_SOURCE = "Vous", + UNIT_YOU_SOURCE_POSSESSIVE = "votre", +} diff --git a/env/combatlog_koKR.lua b/env/combatlog_koKR.lua new file mode 100644 index 00000000..5e88967b --- /dev/null +++ b/env/combatlog_koKR.lua @@ -0,0 +1,538 @@ +-- Classic Era GlobalStrings (KR) that the combat log reads +-- and the 1.12 client lacks. Generated; do not edit by hand. +pfUI_locale["koKR"]["combatlog"] = { + ACTION_DAMAGE_SHIELD = "피해", + ACTION_DAMAGE_SHIELD_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; 공격했지만 %4$s|1이;가; %9$s의 %7$s 피해를 반사했습니다. %6$s", + ACTION_DAMAGE_SHIELD_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; 공격했지만 %4$s|1이;가; %9$s의 %7$s 피해를 반사했습니다. %6$s", + ACTION_DAMAGE_SHIELD_MISSED = "적중하지 않음", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK = "방어함", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s|1을;를; 방어했습니다. %6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s|1을;를; 방어했습니다. %6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT = "(튕김)", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격했지만 튕겨냈습니다.", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 공격했지만 튕겨냈습니다.", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DODGE = "피함", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s|1을;를; 교묘히 피했습니다.", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s|1을;를; 교묘히 피했습니다.", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_EVADED = "(벗어남)", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격했지만 벗어났습니다.", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 공격했지만 벗어났습니다.", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격했지만 적중하지 않았습니다.", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 공격했지만 적중하지 않았습니다.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE = "면역", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT = "%1$s의 %2$s|1이;가; 실패했습니다. %4$s|1은;는; 면역입니다.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; 실패했습니다. %4$s|1은;는; 면역입니다.", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_MISS = "(빗나감)", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격했지만 적중하지 않았습니다.", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 공격했지만 적중하지 않았습니다.", + ACTION_DAMAGE_SHIELD_MISSED_MISS_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_PARRY = "막음", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격했지만 막았습니다.", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 공격했지만 막았습니다.", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_RESIST = "저항함", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s|1을;를; 모두 저항했습니다. %6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s|1을;를; 모두 저항했습니다. %6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_POSSESSIVE = "1", + ACTION_DAMAGE_SPLIT = "피해 분배", + ACTION_DAMAGE_SPLIT_ABSORBED_FULL_TEXT = "%1$s의 %2$s|1으로;로; 인한 피해가 %4$s에게 흡수되었습니다. %6$s", + ACTION_DAMAGE_SPLIT_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s에게 %9$s의 피해를 입혔습니다.", + ACTION_DAMAGE_SPLIT_POSSESSIVE = "0", + ACTION_DAMAGE_SPLIT_RESULT_FULL_TEXT = "%1$s의 %2$s|1이;가; %4$s에게 %9$s의 피해를 입혔습니다. %6$s", + ACTION_ENCHANT_APPLIED = "마법부여 사용", + ACTION_ENCHANT_APPLIED_FULL_TEXT = "%1$s|1이;가; %4$s의 %5$s에 %2$s|1을;를; 사용합니다.", + ACTION_ENCHANT_APPLIED_POSSESSIVE = "0", + ACTION_ENCHANT_REMOVED = "마법부여 사라짐", + ACTION_ENCHANT_REMOVED_FULL_TEXT = "%4$s의 %5$s에서 %2$s 효과가 사라집니다.", + ACTION_ENCHANT_REMOVED_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE = "피해", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING = "호흡 불가", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_FULL_TEXT = "%4$s|1이;가; 숨을 쉴 수 없어 %9$s의 피해를 입었습니다.", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING = "낙하 충격", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_FULL_TEXT = "%4$s|1이;가; 낙하할 때의 충격으로 %9$s의 피해를 입었습니다.", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE = "피로", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_FULL_TEXT = "%4$s|1이;가; 피로로 %9$s의 피해를 입었습니다.", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE = "화염", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_FULL_TEXT = "%4$s|1이;가; %9$s의 화염 피해를 입었습니다.", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FULL_TEXT = "%4$s|1이;가; 환경에 의해 %9$s의 피해를 입었습니다.", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA = "용암", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_FULL_TEXT = "%4$s|1이;가; 용암의 열기로 인해 %9$s의 피해를 입었습니다. %6$s", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME = "독성", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_FULL_TEXT = "%4$s|1이;가; 독성으로 인해 %9$s의 피해를 입었습니다. %6$s", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_POSSESSIVE = "0", + ACTION_PARTY_KILL = "죽임", + ACTION_PARTY_KILL_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 죽였습니다.", + ACTION_PARTY_KILL_POSSESSIVE = "0", + ACTION_PARTY_KILL_UNCONSCIOUS = "기절", + ACTION_PARTY_KILL_UNCONSCIOUS_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 기절시켰습니다!", + ACTION_PARTY_KILL_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_RANGED = "원거리 공격", + ACTION_RANGE_DAMAGE = "피해", + ACTION_RANGE_DAMAGE_FULL_TEXT = "%1$s|1이;가; 원거리 공격으로 %4$s에게 %5$s의 피해를 입혔습니다. %6$s", + ACTION_RANGE_DAMAGE_FULL_TEXT_NO_SOURCE = "원거리 공격으로 %4$s|1이;가; %5$s의 피해를 입었습니다. %6$s", + ACTION_RANGE_DAMAGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED = "적중하지 않음", + ACTION_RANGE_MISSED_ABSORB = "흡수됨", + ACTION_RANGE_MISSED_ABSORB_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 원거리로 공격했지만 피해가 흡수되었습니다. %6$s", + ACTION_RANGE_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_RANGE_MISSED_BLOCK = "방어함", + ACTION_RANGE_MISSED_BLOCK_FULL_TEXT = "%4$s|1이;가; %1$s의 원거리 공격을 방어했습니다. %6$s", + ACTION_RANGE_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DEFLECT = "(튕김)", + ACTION_RANGE_MISSED_DEFLECT_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 원거리로 공격했지만 튕겨냈습니다.", + ACTION_RANGE_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DODGE = "피함", + ACTION_RANGE_MISSED_DODGE_FULL_TEXT = "%1$s|1이;가; 원거리로 공격했지만 %4$s|1이;가; 교묘히 피했습니다.", + ACTION_RANGE_MISSED_DODGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_EVADE = "(벗어남)", + ACTION_RANGE_MISSED_EVADE_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 원거리로 공격했지만 빗나갔습니다.", + ACTION_RANGE_MISSED_EVADE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 원거리로 공격했지만 적중하지 않았습니다.", + ACTION_RANGE_MISSED_IMMUNE = "면역", + ACTION_RANGE_MISSED_IMMUNE_FULL_TEXT = "%1$s의 원거리 공격이 실패했습니다. %4$s|1은;는; 면역입니다.", + ACTION_RANGE_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISFIRE = "(공격 실패)", + ACTION_RANGE_MISSED_MISFIRE_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 원거리로 공격하려 했지만 실패했습니다.", + ACTION_RANGE_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISS = "(빗나감)", + ACTION_RANGE_MISSED_MISS_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 원거리로 공격했지만 적중하지 않았습니다.", + ACTION_RANGE_MISSED_MISS_POSSESSIVE = "1", + ACTION_RANGE_MISSED_PARRY = "막음", + ACTION_RANGE_MISSED_PARRY_FULL_TEXT = "%1$s|1이;가; 원거리로 공격했지만 %4$s|1이;가; 막았습니다.", + ACTION_RANGE_MISSED_PARRY_POSSESSIVE = "1", + ACTION_RANGE_MISSED_POSSESSIVE = "1", + ACTION_RANGE_MISSED_RESIST = "저항함", + ACTION_RANGE_MISSED_RESIST_FULL_TEXT = "%4$s|1이;가; %1$s의 원거리 공격을 모두 저항했습니다. %6$s", + ACTION_RANGE_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED = "효과 적용", + ACTION_SPELL_AURA_APPLIED_BUFF = "사용", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s 효과를 얻었습니다.", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s 효과를 얻었습니다.", + ACTION_SPELL_AURA_APPLIED_BUFF_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s 효과를 얻었습니다. %11$s", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s 효과를 얻었습니다. %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF = "걸림", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s에 걸렸습니다.", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s에 걸렸습니다.", + ACTION_SPELL_AURA_APPLIED_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s에 걸렸습니다. %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s에 걸렸습니다. %11$s", + ACTION_SPELL_AURA_APPLIED_DOSE = "겹쳐짐", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF = "겹쳐짐", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s 효과를 얻었습니다. (%9$s)", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s 효과를 얻었습니다. (%9$s)", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF = "걸림", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s에 걸렸습니다. (%9$s)", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s에 걸렸습니다. (%9$s)", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN = "파괴", + ACTION_SPELL_AURA_BROKEN_BUFF = "파괴", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT = "%1$s|1이;가; %4$s의 %2$s|1을;를; 해제했습니다.", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT_NO_SOURCE = "%1$s의 %2$s|1이;가; 해제되었습니다.", + ACTION_SPELL_AURA_BROKEN_BUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_BROKEN_DEBUFF = "파괴", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT = "%1$s|1이;가; %4$s의 %2$s|1을;를; 해제했습니다.", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT_NO_SOURCE = "%1$s의 %2$s|1이;가; 해제되었습니다.", + ACTION_SPELL_AURA_BROKEN_DEBUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF = "파괴", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT = "%1$s|1이;가; %5$s|1으로;로; %4$s의 %2$s|1을;를; 해제했습니다.", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT_NO_SOURCE = "%5$s|1으로;로; %4$s의 %2$s|1이;가; 해제되었습니다.", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF = "파괴", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT = "%1$s|1이;가; %5$s|1으로;로; %4$s의 %2$s|1을;를; 해제했습니다.", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT_NO_SOURCE = "%5$s|1으로;로; %4$s의 %2$s|1이;가; 해제되었습니다.", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH = "지속시간 초기화", + ACTION_SPELL_AURA_REFRESH_BUFF = "지속시간 초기화", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT = "%1$s|1이;가; %4$s의 %2$s 효과를 초기화합니다.", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT_NO_SOURCE = "%4$s의 %2$s 주문 지속시간이 초기화됩니다.", + ACTION_SPELL_AURA_REFRESH_BUFF_MASTER = "2", + ACTION_SPELL_AURA_REFRESH_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT = "%1$s|1이;가; %4$s의 %2$s 효과를 초기화합니다. %11$s", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s의 %2$s 주문 지속시간이 초기화됩니다. %11$s", + ACTION_SPELL_AURA_REFRESH_DEBUFF = "지속시간 초기화", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT = "%1$s|1이;가; %4$s의 %2$s 효과를 초기화합니다.", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s의 %2$s 주문 지속시간이 초기화됩니다.", + ACTION_SPELL_AURA_REFRESH_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT = "%1$s|1이;가; %4$s의 %2$s 효과를 초기화합니다. %11$s", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s의 %2$s 주문 지속시간이 초기화됩니다. %11$s", + ACTION_SPELL_AURA_REFRESH_MASTER = "2", + ACTION_SPELL_AURA_REMOVED = "제거", + ACTION_SPELL_AURA_REMOVED_BUFF = "효과 사라짐", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT = "%4$s에게서 %1$s의 %2$s 효과가 사라졌습니다.", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT_NO_SOURCE = "%4$s에게서 %2$s 효과가 사라졌습니다.", + ACTION_SPELL_AURA_REMOVED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT = "%4$s에게서 %1$s의 %2$s 효과가 사라졌습니다. %11$s", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s에게서 %2$s 효과가 사라졌습니다. %11$s", + ACTION_SPELL_AURA_REMOVED_DEBUFF = "사라짐", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT = "%1$s의 %2$s|1이;가; %4$s에게서 사라졌습니다.", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; %4$s에게서 사라졌습니다.", + ACTION_SPELL_AURA_REMOVED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT = "%1$s의 %2$s|1이;가; %4$s에게서 사라졌습니다. %11$s", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; %4$s에게서 사라졌습니다. %11$s", + ACTION_SPELL_AURA_REMOVED_DOSE = "감소", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF = "감소", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT = "%1$s의 %2$s(%9$s) 효과가 감소했습니다.", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%2$s(%9$s) 효과가 감소했습니다.", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF = "감소", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT = "%2$s(%9$s)|1이;가; %1$s에게서 사라졌습니다.", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s(%9$s)|1이;가; 사라졌습니다.", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT = "%1$s의 %2$s|1이;가; %4$s에게서 제거되었습니다.", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT_NO_SOURCE = "%1$s의 %2$s|1이;가; %4$s에게서 제거되었습니다.", + ACTION_SPELL_AURA_REMOVED_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_DAMAGE = "손상", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격하여 %5$s의 피해를 입혔습니다. %6$s", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 공격하여 %5$s의 피해를 입혔습니다. %6$s", + ACTION_SPELL_BUILDING_DAMAGE_MASTER = "1", + ACTION_SPELL_BUILDING_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_HEAL = "수리", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT = "%1$s의 %2$s|1으로;로; %4$s의 체력이 %9$s만큼 복구되었습니다. %6$s", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s의 체력이 %9$s만큼 복구되었습니다. %6$s", + ACTION_SPELL_BUILDING_HEAL_POSSESSIVE = "1", + ACTION_SPELL_CAST_FAILED = "사용 실패", + ACTION_SPELL_CAST_FAILED_FULL_TEXT = "%1$s|1이;가; %2$s 시전에 실패했습니다. %6$s", + ACTION_SPELL_CAST_FAILED_MASTER = "1", + ACTION_SPELL_CAST_FAILED_POSSESSIVE = "1", + ACTION_SPELL_CAST_START = "시전 시작", + ACTION_SPELL_CAST_START_FULL_TEXT = "%1$s|1이;가; %4$s에게 %2$s 시전을 시작합니다.", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_DEST = "%1$s|1이;가; %2$s 시전을 시작합니다.", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_SOURCE = "무엇인가가 %4$s에게 %2$s 시전을 시작합니다.", + ACTION_SPELL_CAST_START_MASTER = "2", + ACTION_SPELL_CAST_START_POSSESSIVE = "0", + ACTION_SPELL_CAST_SUCCESS = "시전", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT = "%1$s|1이;가; %4$s에게 %2$s|1을;를; 시전합니다.", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_DEST = "%1$s|1이;가; %2$s|1을;를; 시전합니다.", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_SOURCE = "무엇인가가 %4$s에게 %2$s 시전을 시작합니다.", + ACTION_SPELL_CAST_SUCCESS_MASTER = "2", + ACTION_SPELL_CAST_SUCCESS_POSSESSIVE = "0", + ACTION_SPELL_CREATE = "만듦", + ACTION_SPELL_CREATE_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 만들었습니다. %6$s", + ACTION_SPELL_CREATE_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 만들었습니다. %6$s", + ACTION_SPELL_CREATE_POSSESSIVE = "1", + ACTION_SPELL_DAMAGE = "피해", + ACTION_SPELL_DAMAGE_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s에게 %5$s의 피해를 입혔습니다. %6$s", + ACTION_SPELL_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1이;가; %5$s의 피해를 입었습니다. %6$s", + ACTION_SPELL_DAMAGE_MASTER = "1", + ACTION_SPELL_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_DISPEL = "무효화", + ACTION_SPELL_DISPEL_BUFF = "무효화", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT = "%4$s의 %5$s|1이;가; %1$s의 %2$s|1으로;로; 무효화되었습니다.", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT_NO_SOURCE = "%4$s의 %5$s|1이;가; %2$s|1으로;로; 무효화되었습니다.", + ACTION_SPELL_DISPEL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_DEBUFF = "해제", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT = "%4$s의 %5$s|1이;가; %1$s의 %2$s|1으로;로; 해제되었습니다.", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s의 %5$s|1이;가; %2$s|1으로;로; 해제되었습니다.", + ACTION_SPELL_DISPEL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_FAILED = "무효화 실패", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s에게 걸려 있는 %5$s|1을;를; 무효화하지 못했습니다.", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s에게 걸려 있는 %5$s|1을;를; 무효화하지 못했습니다.", + ACTION_SPELL_DISPEL_FAILED_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_POSSESSIVE = "1", + ACTION_SPELL_DRAIN = "소진", + ACTION_SPELL_DRAIN_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s의 %8$s|1을;를; %9$s만큼 소진시켰습니다.", + ACTION_SPELL_DRAIN_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; %4$s의 %8$s|1을;를; %9$s만큼 소진시켰습니다.", + ACTION_SPELL_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE = "내구도 감소", + ACTION_SPELL_DURABILITY_DAMAGE_ALL = "전체 내구도 감소", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s에게 피해를 입혔습니다: 모든 아이템의 내구도가 감소했습니다.", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s에게 피해를 입혔습니다: %5$s|1이;가; 손상되었습니다.", + ACTION_SPELL_DURABILITY_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE = "얻음", + ACTION_SPELL_ENERGIZE_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s|1으로;로; %9$s의 %8$s|1을;를; 얻었습니다.", + ACTION_SPELL_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s|1으로;로; %9$s의 %8$s|1을;를; 얻었습니다.", + ACTION_SPELL_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE_RESULT = "%9$s %8$s 얻음", + ACTION_SPELL_EXTRA_ATTACKS = "추가 공격", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %9$s회의 추가 공격 기회를 얻었습니다.", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %9$s회의 추가 공격 기회를 얻었습니다.", + ACTION_SPELL_EXTRA_ATTACKS_POSSESSIVE = "1", + ACTION_SPELL_HEAL = "생명력 회복", + ACTION_SPELL_HEAL_FULL_TEXT = "%1$s의 %2$s|1으로;로; %4$s의 생명력이 %9$s만큼 회복되었습니다. %6$s", + ACTION_SPELL_HEAL_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s의 생명력이 %9$s만큼 회복되었습니다. %6$s", + ACTION_SPELL_HEAL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL = "죽임", + ACTION_SPELL_INSTAKILL_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; 즉시 %4$s|1을;를; 죽였습니다.", + ACTION_SPELL_INSTAKILL_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; 즉시 %4$s|1을;를; 죽였습니다.", + ACTION_SPELL_INSTAKILL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS = "기절", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT = "%1$s %2$s|1이;가; %4$s|1을;를; 기절시킵니다.", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; %4$s|1을;를; 기절시킵니다.", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_POSSESSIVE = "1", + ACTION_SPELL_INTERRUPT = "차단", + ACTION_SPELL_INTERRUPT_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s의 %5$s|1을;를; 차단했습니다.", + ACTION_SPELL_INTERRUPT_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s의 %5$s|1을;를; 차단했습니다.", + ACTION_SPELL_INTERRUPT_POSSESSIVE = "1", + ACTION_SPELL_LEECH = "소진", + ACTION_SPELL_LEECH_FULL_TEXT = "%1$s의 %2$s|1으로;로; %4$s의 %8$s|1이;가; %9$s만큼 소진되었습니다. %1$s|1이;가; %10$s의 %8$s|1을;를; 얻었습니다.", + ACTION_SPELL_LEECH_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s의 %8$s|1이;가; %9$s만큼 소진되었습니다.", + ACTION_SPELL_LEECH_POSSESSIVE = "1", + ACTION_SPELL_LEECH_RESULT = "%10$s %8$s 얻음", + ACTION_SPELL_MISSED = "적중하지 않음", + ACTION_SPELL_MISSED_ABSORB = "흡수됨", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격했지만 피해가 흡수되었습니다. %6$s", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 공격했지만 피해가 흡수되었습니다. %6$s", + ACTION_SPELL_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_MISSED_BLOCK = "방어함", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s|1을;를; 방어했습니다. %6$s", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s|1을;를; 방어했습니다. %6$s", + ACTION_SPELL_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DEFLECT = "튕김", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격했지만 튕겨냈습니다.", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 공격했지만 튕겨냈습니다.", + ACTION_SPELL_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DODGE = "피함", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격했지만 교묘히 피했습니다.", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s|1을;를; 교묘히 피했습니다.", + ACTION_SPELL_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_EVADE = "벗어남", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격했지만 빗나갔습니다.", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 공격했지만 벗어났습니다.", + ACTION_SPELL_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격했지만 적중하지 않았습니다.", + ACTION_SPELL_MISSED_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; %4$s에게 적중하지 않았습니다.", + ACTION_SPELL_MISSED_IMMUNE = "면역", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT = "%1$s의 %2$s|1이;가; 실패했습니다. %4$s|1은;는; 면역입니다.", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; 실패했습니다. %4$s|1은;는; 면역입니다.", + ACTION_SPELL_MISSED_MISFIRE = "공격 실패", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격하려 했지만 실패했습니다.", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 공격하는 데 실패했습니다.", + ACTION_SPELL_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_MISS = "빗나감", + ACTION_SPELL_MISSED_MISS_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격했지만 적중하지 않았습니다.", + ACTION_SPELL_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; %4$s에게 적중하지 않았습니다.", + ACTION_SPELL_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_MISSED_PARRY = "막음", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 공격했지만 막았습니다.", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 공격했지만 막았습니다.", + ACTION_SPELL_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_MISSED_POSSESSIVE = "1", + ACTION_SPELL_MISSED_REFLECT = "반사함", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s|1을;를; 반사했습니다.", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s|1을;를; 반사했습니다.", + ACTION_SPELL_MISSED_RESIST = "저항함", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s|1을;를; 모두 저항했습니다. %6$s", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s|1을;를; 모두 저항했습니다. %6$s", + ACTION_SPELL_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DAMAGE = "피해", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s|1으로;로; %5$s의 피해를 입었습니다. %6$s", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s|1으로;로; %5$s의 피해를 입었습니다. %6$s", + ACTION_SPELL_PERIODIC_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DRAIN = "소진", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s의 %8$s|1을;를; %9$s만큼 소진시켰습니다.", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s의 %8$s|1이;가; %9$s만큼 소진되었습니다.", + ACTION_SPELL_PERIODIC_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE = "얻음", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s|1으로;로; %9$s의 %8$s|1을;를; 얻었습니다.", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s|1으로;로; %9$s의 %8$s|1을;를; 얻었습니다.", + ACTION_SPELL_PERIODIC_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE_RESULT = "$extraAmount %8$s 얻음", + ACTION_SPELL_PERIODIC_HEAL = "생명력 회복", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT = "%1$s의 %2$s|1으로;로; %4$s의 생명력이 %9$s만큼 회복되었습니다. %6$s", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s의 생명력이 %9$s만큼 회복되었습니다. %6$s", + ACTION_SPELL_PERIODIC_HEAL_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH = "소진", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT = "%1$s의 %2$s|1으로;로; %4$s의 %8$s|1이;가; %9$s만큼 소진되었습니다. %1$s|1이;가; %10$s의 %8$s|1을;를; 얻었습니다.", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s의 %8$s|1이;가; %9$s만큼 소진되었습니다. %1$s|1이;가; %10$s의 %8$s|1을;를; 얻었습니다.", + ACTION_SPELL_PERIODIC_LEECH_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH_RESULT = "(%10$s %8$s 얻음)", + ACTION_SPELL_PERIODIC_MISSED = "적중하지 않음", + ACTION_SPELL_PERIODIC_MISSED_ABSORB = "(%1$s 흡수됨)", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT = "%1$s의 %2$s|1이;가; 흡수되어 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; 흡수되어 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_BLOCK = "일시적으로 방어함", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT = "%1$s의 %2$s|1이;가; 일시적으로 방어되어 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; 일시적으로 방어되어 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED = "(일시적으로 튕김)", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT = "%1$s의 %2$s|1이;가; 일시적으로 튕겨 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; 일시적으로 튕겨 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DODGE = "일시적으로 피함", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT = "%1$s의 %2$s|1이;가; 일시적으로 회피되어 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; 일시적으로 회피되어 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_EVADED = "(일시적으로 벗어남)", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT = "%1$s의 %2$s|1이;가; 일시적으로 벗어나 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; 일시적으로 벗어나 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_EVADED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT = "%1$s의 %2$s|1이;가; 일시적으로 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; 일시적으로 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE = "면역", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT = "%4$s|1이;가; %1$s의 %2$s에 면역입니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%4$s|1이;가; %2$s에 면역입니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_MISS = "일시적으로 적중하지 않음", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT = "%1$s의 %2$s|1이;가; 일시적으로 적중하지 않아 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; 일시적으로 적중하지 않아 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_PARRY = "일시적으로 막음", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT = "%1$s의 %2$s|1이;가; 일시적으로 막혀 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; 일시적으로 막혀 %4$s에게 피해를 주지 못했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_RESIST = "일시적으로 저항함", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT = "%1$s의 %2$s|1이;가; %4$s에게 피해를 주지 못했습니다. %4$s|1이;가; 저항했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%2$s|1이;가; %4$s에게 피해를 주지 못했습니다. %4$s|1이;가; 저항했습니다. %6$s", + ACTION_SPELL_PERIODIC_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_RESURRECT = "부활함", + ACTION_SPELL_RESURRECT_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 부활시켰습니다. %6$s", + ACTION_SPELL_RESURRECT_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 부활시켰습니다. %6$s", + ACTION_SPELL_RESURRECT_POSSESSIVE = "1", + ACTION_SPELL_STOLEN = "훔침", + ACTION_SPELL_STOLEN_BUFF = "훔침", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s의 %5$s|1을;를; 훔쳤습니다.", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s의 %5$s|1을;를; 훔쳤습니다.", + ACTION_SPELL_STOLEN_BUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_BUFF__POSSESSIVE = "1", + ACTION_SPELL_STOLEN_DEBUFF = "훔침", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT = "%1$s의 %2$s|1으로;로; %4$s의 $extraSpell|1이;가; %1$s에게 이전되었습니다.", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s의 $extraSpell|1이;가; 이전되었습니다.", + ACTION_SPELL_STOLEN_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s의 %5$s|1을;를; 훔쳤습니다.", + ACTION_SPELL_STOLEN_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s의 %5$s|1을;를; 훔쳤습니다.", + ACTION_SPELL_STOLEN_POSSESSIVE = "1", + ACTION_SPELL_SUMMON = "소환", + ACTION_SPELL_SUMMON_FULL_TEXT = "%1$s|1이;가; %2$s|1으로;로; %4$s|1을;를; 소환했습니다. %6$s", + ACTION_SPELL_SUMMON_FULL_TEXT_NO_SOURCE = "%2$s|1으로;로; %4$s|1을;를; 소환했습니다. %6$s", + ACTION_SPELL_SUMMON_POSSESSIVE = "1", + ACTION_SWING = "근접 공격", + ACTION_SWING_DAMAGE = "피해", + ACTION_SWING_DAMAGE_FULL_TEXT = "%1$s|1이;가; 근접 공격으로 %4$s에게 %5$s의 피해를 입혔습니다. %6$s", + ACTION_SWING_DAMAGE_FULL_TEXT_NO_SOURCE = "근접 공격으로 %4$s|1이;가; %5$s의 피해를 입었습니다. %6$s", + ACTION_SWING_DAMAGE_POSSESSIVE = "1", + ACTION_SWING_MISSED = "적중하지 않음", + ACTION_SWING_MISSED_ABSORB = "흡수됨", + ACTION_SWING_MISSED_ABSORB_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 공격했지만 피해가 흡수되었습니다. %6$s", + ACTION_SWING_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SWING_MISSED_BLOCK = "방어함", + ACTION_SWING_MISSED_BLOCK_FULL_TEXT = "%1$s|1이;가; %4$s의 공격을 방어했습니다. %6$s", + ACTION_SWING_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SWING_MISSED_DEFLECT = "(튕김)", + ACTION_SWING_MISSED_DEFLECT_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 공격했지만 튕겨냈습니다.", + ACTION_SWING_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SWING_MISSED_DODGE = "피함", + ACTION_SWING_MISSED_DODGE_FULL_TEXT = "%4$s|1이;가; %1$s의 공격을 교묘히 피했습니다.", + ACTION_SWING_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SWING_MISSED_EVADE = "(벗어남)", + ACTION_SWING_MISSED_EVADE_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 공격했지만 벗어났습니다.", + ACTION_SWING_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SWING_MISSED_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 공격했지만 적중하지 않았습니다.", + ACTION_SWING_MISSED_IMMUNE = "면역", + ACTION_SWING_MISSED_IMMUNE_FULL_TEXT = "%1$s의 공격이 실패했습니다. %4$s|1은;는; 면역입니다.", + ACTION_SWING_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISFIRE = "(공격 실패)", + ACTION_SWING_MISSED_MISFIRE_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 공격하려 했지만 실패했습니다.", + ACTION_SWING_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISS = "(빗나감)", + ACTION_SWING_MISSED_MISS_FULL_TEXT = "%1$s|1이;가; %4$s|1을;를; 공격했지만 적중하지 않았습니다.", + ACTION_SWING_MISSED_MISS_POSSESSIVE = "1", + ACTION_SWING_MISSED_PARRY = "막음", + ACTION_SWING_MISSED_PARRY_FULL_TEXT = "%4$s|1이;가; %1$s의 공격을 막았습니다.", + ACTION_SWING_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SWING_MISSED_POSSESSIVE = "1", + ACTION_SWING_MISSED_RESIST = "저항함", + ACTION_SWING_MISSED_RESIST_FULL_TEXT = "%4$s|1이;가; %1$s의 공격을 모두 저항했습니다. %6$s", + ACTION_SWING_MISSED_RESIST_POSSESSIVE = "1", + ACTION_UNIT_BECCOMES_UNCONSCIOUS = "쓰러짐", + ACTION_UNIT_BECOMES_UNCONSCIOUS_FULL_TEXT = "%4$s|1이;가; 쓰러집니다.", + ACTION_UNIT_BECOMES_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_UNIT_DESTROYED = "파괴됨", + ACTION_UNIT_DESTROYED_FULL_TEXT = "%4$s|1이;가; 파괴되었습니다.", + ACTION_UNIT_DESTROYED_POSSESSIVE = "0", + ACTION_UNIT_DIED = "죽음", + ACTION_UNIT_DIED_FULL_TEXT = "%4$s|1이;가; 죽었습니다.", + ACTION_UNIT_DIED_POSSESSIVE = "0", + ACTION_UNIT_DISSIPATES = "사라짐", + ACTION_UNIT_DISSIPATES_FULL_TEXT = "%4$s|1이;가; 사라집니다.", + ACTION_UNIT_DISSIPATES_POSSESSIVE = "0", + ADD = "추가", + ADDITIONAL_FILTERS = "추가 필터", + BLIZZARD_COMBAT_LOG_MENU_BOTH = "%s|1과;와; 관련된 기록을 모두 보여주십시오.", + BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "모두", + BLIZZARD_COMBAT_LOG_MENU_INCOMING = "%s에게 무슨 일이 일어났습니까?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING = "%s|1이;가; 무엇을 했습니까?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING_ME = "%s|1이;가; 당신에게 무엇을 했습니까?", + BLIZZARD_COMBAT_LOG_MENU_RESET = "원래대로", + BLIZZARD_COMBAT_LOG_MENU_SAVE = "새 필터로 저장", + BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE = "같은 종류의 메시지 숨기기", + BLIZZARD_COMBAT_LOG_MENU_SPELL_LINK = "%s|1을;를; 대화창으로 링크", + COMBATLOG_UNKNOWN_UNIT = "무엇인가", + COMBAT_FACTION_CHANGE = "평판", + COMBAT_HONOR_GAIN = "명예", + COMBAT_LOG_UNIT_YOU_ENABLED = "1", + COMBAT_MISC_INFO = "기타 정보", + COMBAT_XP_GAIN = "경험치", + DAMAGE_SHIELD = "피해 보호막", + DEFAULT_COMBATLOG_FILTER_NAME = "필터: %d", + ENTER_FILTER_NAME = "필터 이름을 입력하십시오.", + ENVIRONMENTAL_DAMAGE = "환경 피해", + QUICKBUTTON_NAME_ME = "자신(대상)", + QUICKBUTTON_NAME_ME_TOOLTIP = "자신에게 행해진 모든 내용을 표시합니다.", + QUICKBUTTON_NAME_MY_ACTIONS = "자신의 행위", + QUICKBUTTON_NAME_MY_ACTIONS_TOOLTIP = "자신의 행위에 대한 메시지를 표시합니다.", + STRING_SCHOOL_UNKNOWN = "알 수 없음", + 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", + TEXT_MODE_A_STRING_3 = "%1$s %5$s %3$s %4$s %2$s. %6$s", + TEXT_MODE_A_STRING_ACTION = "|Haction:%s|h%s|h", + TEXT_MODE_A_STRING_BRACE_ITEM = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_SPELL = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_UNIT = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_DEST_ICON = "|Hicon:%d:dest|h%s|h", + TEXT_MODE_A_STRING_DEST_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_ITEM = "|Hitem:%s|h%s|h", + TEXT_MODE_A_STRING_POSSESSIVE = "%s", + TEXT_MODE_A_STRING_REMAINING_POINTS = "(%s 남음)", + TEXT_MODE_A_STRING_RESULT_ABSORB = "(%s 흡수됨)", + TEXT_MODE_A_STRING_RESULT_BLOCK = "(%s 피해 방어)", + TEXT_MODE_A_STRING_RESULT_CRITICAL = "(치명상)", + TEXT_MODE_A_STRING_RESULT_CRITICAL_SPELL = "(극대화)", + TEXT_MODE_A_STRING_RESULT_CRUSHING = "(강타당함)", + TEXT_MODE_A_STRING_RESULT_FORMAT = "$resultAmount $resultType", + TEXT_MODE_A_STRING_RESULT_GLANCING = "(비껴맞음)", + TEXT_MODE_A_STRING_RESULT_MULTISTRIKE = "(연속타격)", + TEXT_MODE_A_STRING_RESULT_OVERENERGIZE = "(%s 과충전)", + TEXT_MODE_A_STRING_RESULT_OVERHEALING = "(%s 초과 치유)", + TEXT_MODE_A_STRING_RESULT_OVERKILLING = "(%s 초과 피해)", + TEXT_MODE_A_STRING_RESULT_PARRY = "(%d 막음)", + TEXT_MODE_A_STRING_RESULT_REFLECT = "반사함", + TEXT_MODE_A_STRING_RESULT_RESIST = "(%s 저항함)", + TEXT_MODE_A_STRING_RESULT_VULNERABILITY = "(%s 약점 피해)", + TEXT_MODE_A_STRING_SOURCE_ICON = "|Hicon:%s:source|h%s|h", + TEXT_MODE_A_STRING_SOURCE_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL_EXTRA = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_TIMESTAMP = "%s> %s", + TEXT_MODE_A_STRING_VALUE_SCHOOL = "(%s %s)", + TEXT_MODE_A_STRING_VALUE_TYPE = "%s (%s)", + TEXT_MODE_A_TIMESTAMP = "%H:%M:%S", + UNIT_YOU = "당신", + UNIT_YOU_DEST = "당신", + UNIT_YOU_DEST_POSSESSIVE = "당신", + UNIT_YOU_SOURCE = "당신", + UNIT_YOU_SOURCE_POSSESSIVE = "당신", +} diff --git a/env/combatlog_ruRU.lua b/env/combatlog_ruRU.lua new file mode 100644 index 00000000..38004a2a --- /dev/null +++ b/env/combatlog_ruRU.lua @@ -0,0 +1,538 @@ +-- Classic Era GlobalStrings (RU) that the combat log reads +-- and the 1.12 client lacks. Generated; do not edit by hand. +pfUI_locale["ruRU"]["combatlog"] = { + ACTION_DAMAGE_SHIELD = "Урон", + ACTION_DAMAGE_SHIELD_FULL_TEXT = "\"%2$s\" |3-1(%1$s) отражает %9$s |4единицу:единицы:единиц; %7$s на |3-3(%4$s)%6$s.", + ACTION_DAMAGE_SHIELD_FULL_TEXT_NO_SOURCE = "\"%2$s\" отражает %9$s |4единицу:единицы:единиц; %7$s на |3-3(%4$s)%6$s.", + ACTION_DAMAGE_SHIELD_MISSED = "Промах", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK = ": выстрел блокирован", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT = "%4$s блокирует заклинание \"%2$s\" |3-1(%1$s)%6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%4$s блокирует заклинание \"%2$s\"%6$s.", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT = ": выстрел отклонен", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT = "%4$s отклоняет заклинание \"%2$s\" |3-1(%1$s).", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%4$s отклоняет заклинание \"%2$s\".", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DODGE = ": уклонение", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT = "%4$s уклоняется от заклинания \"%2$s\" |3-1(%1$s).", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%4$s уклоняется от заклинания \"%2$s\".", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_EVADED = ": атака не достигла цели", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT = "Заклинание \"%2$s\" |3-1(%1$s) не достигает |3-1(%4$s).", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "Заклинание \"%2$s\" не достигает |3-1(%4$s).", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT = "\"%2$s\" |3-1(%1$s) не попадает по |3-2(%4$s).", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT_NO_SOURCE = "\"%2$s\" не попадает по |3-2(%4$s).", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE = ": цель невосприимчива", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT = "%4$s обладает невосприимчивостью к заклинанию \"%2$s\" |3-1(%1$s).", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%4$s обладает невосприимчивостью к заклинанию \"%2$s\".", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_MISS = ": промах", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT = "\"%2$s\" |3-1(%1$s) не попадает по |3-2(%4$s).", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT_NO_SOURCE = "\"%2$s\" не попадает по |3-2(%4$s).", + ACTION_DAMAGE_SHIELD_MISSED_MISS_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_PARRY = ": выстрел парирован", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT = "%4$s парирует способность \"%2$s\" |3-1(%1$s).", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%4$s парирует способность \"%2$s\".", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_RESIST = ": сопротивление", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT = "%4$s полностью сопротивляется заклинанию \"%2$s\" |3-1(%1$s)%6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%4$s полностью сопротивляется заклинанию \"%2$s\"%6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_POSSESSIVE = "1", + ACTION_DAMAGE_SPLIT = "Разделение урона", + ACTION_DAMAGE_SPLIT_ABSORBED_FULL_TEXT = "%4$s поглощает урон от заклинания \"%2$s\" |3-1(%1$s) %6$s", + ACTION_DAMAGE_SPLIT_FULL_TEXT = "\"%2$s\" |3-1(%1$s) наносит |3-2(%4$s) %9$s |4единицу:единицы:единиц; урона.", + ACTION_DAMAGE_SPLIT_POSSESSIVE = "0", + ACTION_DAMAGE_SPLIT_RESULT_FULL_TEXT = "\"%2$s\" |3-1(%1$s) наносит %9$s ед. урона |3-2(%4$s) %6$s", + ACTION_ENCHANT_APPLIED = "зачаровано", + ACTION_ENCHANT_APPLIED_FULL_TEXT = "%1$s накладывает чары \"%2$s\" на предмет \"%5$s\" |3-1(%4$s).", + ACTION_ENCHANT_APPLIED_POSSESSIVE = "0", + ACTION_ENCHANT_REMOVED = "чары развеялись", + ACTION_ENCHANT_REMOVED_FULL_TEXT = "Эффект \"%2$s\" перестает действовать на предмете |3-1(%4$s) \"%5$s\".", + ACTION_ENCHANT_REMOVED_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE = "Урон", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING = "Утопление", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_FULL_TEXT = "%4$s тонет и теряет %9$s |4единицу:единицы:единиц; здоровья.", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING = "Падение", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_FULL_TEXT = "%4$s падает и теряет %9$s |4единицу:единицы:единиц; здоровья.", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE = "Усталость", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_FULL_TEXT = "%4$s от усталости теряет %9$s |4единицу:единицы:единиц; здоровья.", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE = "Огонь", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_FULL_TEXT = "%4$s получает %9$s |4единицу:единицы:единиц; урона от огня.", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FULL_TEXT = "%4$s теряет %9$s |4единицу:единицы:единиц; здоровья из-за опасностей окружающего мира.", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA = "Лава", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_FULL_TEXT = "%4$s погружается в лаву и теряет %9$s |4единицу:единицы:единиц; здоровья. %6$s", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME = "Слизь", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_FULL_TEXT = "%4$s погружается в слизь и теряет %9$s |4единицу:единицы:единиц; здоровья. %6$s", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_POSSESSIVE = "0", + ACTION_PARTY_KILL = "Убийство", + ACTION_PARTY_KILL_FULL_TEXT = "%1$s убивает |3-3(%4$s)!", + ACTION_PARTY_KILL_POSSESSIVE = "0", + ACTION_PARTY_KILL_UNCONSCIOUS = "нейтрализован", + ACTION_PARTY_KILL_UNCONSCIOUS_FULL_TEXT = "Игрок %1$s нейтрализовал |3-3(%4$s)!", + ACTION_PARTY_KILL_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_RANGED = "Дальний бой", + ACTION_RANGE_DAMAGE = "Попадание", + ACTION_RANGE_DAMAGE_FULL_TEXT = "Атака дальнего боя |3-1(%1$s) бьет по |3-2(%4$s) на %5$s%6$s.", + ACTION_RANGE_DAMAGE_FULL_TEXT_NO_SOURCE = "Атака дальнего боя бьет по |3-2(%4$s) на %5$s%6$s.", + ACTION_RANGE_DAMAGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED = "Промах", + ACTION_RANGE_MISSED_ABSORB = ": поглощение", + ACTION_RANGE_MISSED_ABSORB_FULL_TEXT = "%4$s поглощает выстрел |3-1(%1$s)%6$s.", + ACTION_RANGE_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_RANGE_MISSED_BLOCK = ": выстрел блокирован", + ACTION_RANGE_MISSED_BLOCK_FULL_TEXT = "%1$s блокирует выстрел |3-1(%4$s)%6$s.", + ACTION_RANGE_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DEFLECT = ": выстрел отклонен", + ACTION_RANGE_MISSED_DEFLECT_FULL_TEXT = "%4$s отклоняет выстрел |3-1(%1$s).", + ACTION_RANGE_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DODGE = ": уклонение", + ACTION_RANGE_MISSED_DODGE_FULL_TEXT = "%4$s уклоняется от выстрела |3-1(%1$s).", + ACTION_RANGE_MISSED_DODGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_EVADE = ": атака не достигла цели", + ACTION_RANGE_MISSED_EVADE_FULL_TEXT = "Выстрел |3-1(%1$s) не достигает |3-1(%4$s).", + ACTION_RANGE_MISSED_EVADE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_FULL_TEXT = "%1$s не попадает по |3-2(%4$s).", + ACTION_RANGE_MISSED_IMMUNE = ": цель невосприимчива", + ACTION_RANGE_MISSED_IMMUNE_FULL_TEXT = "%4$s обладает невосприимчивостью к выстрелу |3-1(%1$s).", + ACTION_RANGE_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISFIRE = "Промах.", + ACTION_RANGE_MISSED_MISFIRE_FULL_TEXT = "Выстрел 3-1(%1$s) не попадает по |3-2(%4$s).", + ACTION_RANGE_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISS = ": промах", + ACTION_RANGE_MISSED_MISS_FULL_TEXT = "%1$s не попадает по |3-2(%4$s).", + ACTION_RANGE_MISSED_MISS_POSSESSIVE = "1", + ACTION_RANGE_MISSED_PARRY = ": выстрел парирован", + ACTION_RANGE_MISSED_PARRY_FULL_TEXT = "%4$s парирует выстрел |3-1(%1$s).", + ACTION_RANGE_MISSED_PARRY_POSSESSIVE = "1", + ACTION_RANGE_MISSED_POSSESSIVE = "1", + ACTION_RANGE_MISSED_RESIST = ": сопротивление", + ACTION_RANGE_MISSED_RESIST_FULL_TEXT = "%4$s полностью сопротивляется выстрелу |3-1(%1$s)%6$s.", + ACTION_RANGE_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED = "накладывается", + ACTION_SPELL_AURA_APPLIED_BUFF = "накладывается", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT = "На |3-3(%4$s) накладывается эффект \"%2$s\" |3-1(%1$s).", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT_NO_SOURCE = "%4$s обретает %2$s.", + ACTION_SPELL_AURA_APPLIED_BUFF_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT = "На |3-3(%4$s) накладывается эффект \"%2$s\" |3-1(%1$s). %11$s", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "На |3-3(%4$s) накладывается эффект \"%2$s\". %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF = "Негативный эффект", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT = "%4$s находится под воздействием эффекта \"%2$s\" |3-1(%1$s).", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s находится под воздействием эффекта \"%2$s\".", + ACTION_SPELL_AURA_APPLIED_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT = "%4$s находится под воздействием эффекта \"%2$s\" |3-1(%1$s). %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s находится под воздействием эффекта \"%2$s\". %11$s", + ACTION_SPELL_AURA_APPLIED_DOSE = "Суммирование", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF = "Суммирование", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT = "На |3-3(%4$s) накладывается эффект \"%2$s\" |3-1(%1$s) (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%4$s получает %2$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF = "Негативный эффект", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT = "%4$s находится под воздействием эффекта \"%2$s\" |3-1(%1$s) (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s находится под воздействием %2$s (%9$s).", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN = "прервано", + ACTION_SPELL_AURA_BROKEN_BUFF = "прервано", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT = "\"%4$s\" |3-1(%2$s) снято |3-4(%1$s).", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT_NO_SOURCE = "Кто-то прервал действие заклинания \"%2$s\" |3-1(%1$s).", + ACTION_SPELL_AURA_BROKEN_BUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_BROKEN_DEBUFF = "прервано", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT = "\"%4$s\" |3-1(%2$s) снято |3-4(%1$s).", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT_NO_SOURCE = "Кто-то прервал действие заклинания \"%2$s\" |3-1(%1$s).", + ACTION_SPELL_AURA_BROKEN_DEBUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF = "прервано", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT = "%5$s |3-1(%1$s) прекращает действие эффекта \"%2$s\" на |3-3(%4$s).", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT_NO_SOURCE = "%5$s прерывает действие \"%2$s\" |3-1(%4$s).", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF = "прервано", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT = "%5$s |3-1(%1$s) прекращает действие эффекта \"%2$s\" на |3-3(%4$s).", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT_NO_SOURCE = "%5$s прерывает действие \"%2$s\" |3-1(%4$s).", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH = "обновлено", + ACTION_SPELL_AURA_REFRESH_BUFF = "обновлено", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT = "Эффект \"%2$s\" |3-1(%1$s) обновлен на |3-5(%4$s).", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT_NO_SOURCE = "Эффект \"%2$s\" обновлен на |3-5(%4$s).", + ACTION_SPELL_AURA_REFRESH_BUFF_MASTER = "2", + ACTION_SPELL_AURA_REFRESH_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT = "Эффект \"%2$s\" |3-1(%1$s) обновлен на |3-5(%4$s). %11$s", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "Эффект \"%2$s\" обновлен на |3-5(%4$s). %11$s", + ACTION_SPELL_AURA_REFRESH_DEBUFF = "обновлено", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT = "Эффект \"%2$s\" |3-1(%1$s) обновлен на |3-5(%4$s).", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT_NO_SOURCE = "Эффект \"%2$s\" обновлен на |3-5(%4$s).", + ACTION_SPELL_AURA_REFRESH_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT = "Эффект \"%2$s\" |3-1(%1$s) обновлен на |3-5(%4$s). %11$s", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "Эффект \"%2$s\" обновлен на |3-5(%4$s). %11$s", + ACTION_SPELL_AURA_REFRESH_MASTER = "2", + ACTION_SPELL_AURA_REMOVED = "Снятие", + ACTION_SPELL_AURA_REMOVED_BUFF = "Окончание действия", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT = "Действие эффекта \"%2$s\", наложенного |3-4(%1$s) на |3-3(%4$s), заканчивается.", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT_NO_SOURCE = "Действие эффекта \"%2$s\" на |3-2(%4$s) заканчивается.", + ACTION_SPELL_AURA_REMOVED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT = "Действие эффекта \"%2$s\", наложенного |3-4(%1$s) на |3-3(%4$s), заканчивается. %11$s", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "Действие эффекта \"%2$s\", наложенного на |3-3(%4$s), заканчивается. %11$s", + ACTION_SPELL_AURA_REMOVED_DEBUFF = "Прекращение действия", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT = "Эффект \"%2$s\" |3-1(%1$s), наложенный на |3-3(%4$s), рассеивается.", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s рассеивается на %4$s.", + ACTION_SPELL_AURA_REMOVED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT = "Эффект \"%2$s\" |3-1(%1$s), наложенный на |3-3(%4$s), рассеивается. %11$s", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "Эффект \"%2$s\", наложенный на |3-3(%4$s), рассеивается. %11$s", + ACTION_SPELL_AURA_REMOVED_DOSE = "Сокращение", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF = "Сокращение", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT = "Действие эффекта |3-1(%1$s) \"%2$s\" (%9$s) проходит.", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "Действие эффекта \"%2$s\" (%9$s) ослабляется.", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF = "Уменьшение", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT = "Действие эффекта \"%2$s\" |3-1(%1$s) (%9$s) заканчивается.", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "\"%2$s\" (%9$s) прекращает свое действие.", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT = "С |3-1(%4$s) снято заклинание \"%2$s\" |3-1(%1$s).", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT_NO_SOURCE = "С |3-1(%4$s) снято заклинание \"%2$s\" |3-1(%1$s).", + ACTION_SPELL_AURA_REMOVED_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_DAMAGE = "бьет", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT = "%2$s |3-1(%1$s) наносит |3-2(%4$s) %5$s%6$s.", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s наносит |3-2(%4$s) %5$s%6$s", + ACTION_SPELL_BUILDING_DAMAGE_MASTER = "1", + ACTION_SPELL_BUILDING_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_HEAL = "отремонтировано", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT = "%2$s |3-1(%1$s) ремонтирует %4$s на %9$s ед.%6$s.", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT_NO_SOURCE = "%2$s ремонтирует |3-3(%4$s) на %9$s ед.%6$s", + ACTION_SPELL_BUILDING_HEAL_POSSESSIVE = "1", + ACTION_SPELL_CAST_FAILED = "Неудача.", + ACTION_SPELL_CAST_FAILED_FULL_TEXT = "Заклинание \"%2$s\" |3-1(%1$s) не сработало. %6$s", + ACTION_SPELL_CAST_FAILED_MASTER = "1", + ACTION_SPELL_CAST_FAILED_POSSESSIVE = "1", + ACTION_SPELL_CAST_START = "Начало применения", + ACTION_SPELL_CAST_START_FULL_TEXT = "%1$s начинает применять способность %2$s к |3-2(%4$s).", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_DEST = "%1$s начинает применять способность %2$s.", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_SOURCE = "Что-то начинает применять способность %2$s к |3-2(%4$s).", + ACTION_SPELL_CAST_START_MASTER = "2", + ACTION_SPELL_CAST_START_POSSESSIVE = "0", + ACTION_SPELL_CAST_SUCCESS = "Применение", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT = "%1$s применяет заклинание \"%2$s\" на |3-3(%4$s).", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_DEST = "%1$s применяет заклинание \"%2$s\".", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_SOURCE = "На |3-3(%4$s) накладывается эффект \"%2$s\".", + ACTION_SPELL_CAST_SUCCESS_MASTER = "2", + ACTION_SPELL_CAST_SUCCESS_POSSESSIVE = "0", + ACTION_SPELL_CREATE = "создает", + ACTION_SPELL_CREATE_FULL_TEXT = "\"%2$s\" |3-1(%1$s) создает предмет \"%4$s\"%6$s.", + ACTION_SPELL_CREATE_FULL_TEXT_NO_SOURCE = "\"%2$s\" создает \"%4$s\"%6$s.", + ACTION_SPELL_CREATE_POSSESSIVE = "1", + ACTION_SPELL_DAMAGE = "Попадание", + ACTION_SPELL_DAMAGE_FULL_TEXT = "\"%2$s\" |3-1(%1$s) наносит |3-2(%4$s) %5$s%6$s.", + ACTION_SPELL_DAMAGE_FULL_TEXT_NO_SOURCE = "\"%2$s\" наносит |3-2(%4$s) урон: %5$s. %6$s", + ACTION_SPELL_DAMAGE_MASTER = "1", + ACTION_SPELL_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_DISPEL = "Развеивание", + ACTION_SPELL_DISPEL_BUFF = "Развеивание", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT = "%5$s |3-1(%4$s) рассеивается заклинанием \"%2$s\" |3-1(%1$s).\"", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT_NO_SOURCE = "\"%2$s\" рассеивает заклинание \"%5$s\" |3-1(%4$s).", + ACTION_SPELL_DISPEL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_DEBUFF = "Очищение", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT = "\"%2$s\" |3-1(%1$s) очищает заклинание \"%5$s\" |3-1(%4$s).", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT_NO_SOURCE = "\"%2$s\" очищает заклинание \"%5$s\" |3-1(%4$s).", + ACTION_SPELL_DISPEL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_FAILED = "Не удалось развеять.", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT = "Заклинанию |3-1(%1$s) \"%2$s\" не удалось развеять заклинание |3-1(%4$s) \"%5$s\".", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT_NO_SOURCE = "Заклинанию \"%2$s\" не удается развеять заклинание \"%5$s\" |3-1(%4$s).", + ACTION_SPELL_DISPEL_FAILED_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_POSSESSIVE = "1", + ACTION_SPELL_DRAIN = "Похищение", + ACTION_SPELL_DRAIN_FULL_TEXT = "\"%1$s\" |3-1(%2$s) отнимает %9$s |4единицу:единицы:единиц; |3-1(%8$s) у |3-1(%4$s).", + ACTION_SPELL_DRAIN_FULL_TEXT_NO_SOURCE = " %2$s отнимает у |3-1(%4$s) %9$s |4единицу:единицы:единиц; |3-1(%8$s ).", + ACTION_SPELL_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE = "Повреждение предмета", + ACTION_SPELL_DURABILITY_DAMAGE_ALL = "Повреждение всех предметов", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_FULL_TEXT = "\"%2$s\" |3-1(%1$s) наносит урон |3-2(%4$s): повреждаются все предметы.", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE_FULL_TEXT = "\"%2$s\" |3-1(%1$s) наносит урон |3-2(%4$s). Поврежден предмет: %5$s.", + ACTION_SPELL_DURABILITY_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE = "Энергия", + ACTION_SPELL_ENERGIZE_FULL_TEXT = "%4$s получает %9$s |4единицу:единицы:единиц; |3-1(%8$s) от заклинания \"%2$s\" |3-1(%1$s).\"", + ACTION_SPELL_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s получает %9$s |4единицу:единицы:единиц; |3-1(%8$s) благодаря заклинанию \"%2$s\".", + ACTION_SPELL_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE_RESULT = "Получено %9$s |4единица:единицы:единиц; %8$s", + ACTION_SPELL_EXTRA_ATTACKS = "Дополнительные атаки", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT = "\"%2$s\" дает |3-2(\"%1$s) %9$s |4дополнительную атаку:дополнительных атаки:дополнительных атак;.", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT_NO_SOURCE = "\"%2$s\" дает %9$s |4дополнительную атаку:дополнительных атаки:дополнительных атак;.", + ACTION_SPELL_EXTRA_ATTACKS_POSSESSIVE = "1", + ACTION_SPELL_HEAL = "Лечение", + ACTION_SPELL_HEAL_FULL_TEXT = "\"%2$s\" |3-1(%1$s) исцеляет |3-3(%4$s) на %9$s |4единицу:единицы:единиц; здоровья%6$s.", + ACTION_SPELL_HEAL_FULL_TEXT_NO_SOURCE = "\"%2$s\" исцеляет |3-3(%4$s) на %9$s |4единицу:единицы:единиц; %6$s.", + ACTION_SPELL_HEAL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL = "Убийство", + ACTION_SPELL_INSTAKILL_FULL_TEXT = "\"%2$s\" |3-1(%1$s) мгновенно убивает |3-3(%4$s).", + ACTION_SPELL_INSTAKILL_FULL_TEXT_NO_SOURCE = "\"%2$s\" мгновенно убивает |3-3(%4$s).", + ACTION_SPELL_INSTAKILL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS = "нейтрализован", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT = "%1$s %2$s нейтрализует |3-3(%4$s).", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT_NO_SOURCE = "%2$s нейтрализует |3-3(%4$s).", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_POSSESSIVE = "1", + ACTION_SPELL_INTERRUPT = "прерывание", + ACTION_SPELL_INTERRUPT_FULL_TEXT = "\"%2$s\" |3-1(%1$s) прерывает заклинание \"%5$s\" |3-1(%4$s).", + ACTION_SPELL_INTERRUPT_FULL_TEXT_NO_SOURCE = "\"%2$s\" прерывает заклинание \"%5$s\" |3-1(%4$s).", + ACTION_SPELL_INTERRUPT_POSSESSIVE = "1", + ACTION_SPELL_LEECH = "Похищение", + ACTION_SPELL_LEECH_FULL_TEXT = "\"%2$s\" |3-1(%1$s) отнимает %9$s |4единицу:единицы:единиц; |3-1(%8$s) из |3-1(%4$s). %1$s получает %10$s |4единицу:единицы:единиц; |3-1(%8$s).", + ACTION_SPELL_LEECH_FULL_TEXT_NO_SOURCE = "\"%2$s\" отнимает %9$s |4единицу:единицы:единиц; |3-1(%8$s) у |3-1(%4$s).", + ACTION_SPELL_LEECH_POSSESSIVE = "1", + ACTION_SPELL_LEECH_RESULT = "Получено %10$s |4единица:единицы:единиц; |3-1(%8$s)", + ACTION_SPELL_MISSED = "Промах", + ACTION_SPELL_MISSED_ABSORB = "Поглощение", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT = "\"%2$s\" |3-1(%1$s) поглощается |3-4(%4$s)%6$s", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%4$s поглощает заклинание \"%2$s\"%6$s", + ACTION_SPELL_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_MISSED_BLOCK = "Блок", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT = "%4$s блокирует заклинание \"%2$s\" |3-1(%1$s)%6$s", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%4$s блокирует заклинание \"%2$s\"%6$s.", + ACTION_SPELL_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DEFLECT = "Отклонение", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT = "%4$s отклоняет заклинание \"%2$s\" |3-1(%1$s).", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%4$s отклоняет заклинание \"%2$s\".", + ACTION_SPELL_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DODGE = "Уклонение", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT = "%4$s уклоняется от заклинания \"%2$s\" |3-1(%1$s).", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%4$s уклоняется от заклинания \"%2$s\".", + ACTION_SPELL_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_EVADE = "Атака не достигла цели", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT = "Заклинание \"%2$s\" |3-1(%1$s) не достигает |3-1(%4$s).", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT_NO_SOURCE = "Заклинание \"%2$s\" не достигает |3-1(%4$s).", + ACTION_SPELL_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_FULL_TEXT = "\"%2$s\" |3-1(%1$s) не попадает по |3-2(%4$s).", + ACTION_SPELL_MISSED_FULL_TEXT_NO_SOURCE = "\"%2$s\" не попадает по |3-2(%4$s).", + ACTION_SPELL_MISSED_IMMUNE = "Невосприимчивость", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT = "%4$s обладает невосприимчивостью к заклинанию \"%2$s\" |3-1(%1$s).", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%4$s обладает невосприимчивостью к заклинанию \"%2$s\".", + ACTION_SPELL_MISSED_MISFIRE = "Промах", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT = "\"%1$s\" |3-1(%2$s) не попадает по |3-2(%4$s).", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT_NO_SOURCE = "\"%2$s\" не попадает по |3-2(%4$s).", + ACTION_SPELL_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_MISS = "Промах", + ACTION_SPELL_MISSED_MISS_FULL_TEXT = "\"%2$s\" |3-1(%1$s) не попадает по |3-2(%4$s).", + ACTION_SPELL_MISSED_MISS_FULL_TEXT_NO_SOURCE = "\"%2$s\" не попадает по |3-2(%4$s).", + ACTION_SPELL_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_MISSED_PARRY = "Парирование", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT = "%4$s парирует способность \"%2$s\" |3-1(%1$s).", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%4$s парирует способность \"%2$s\".", + ACTION_SPELL_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_MISSED_POSSESSIVE = "1", + ACTION_SPELL_MISSED_REFLECT = "отражение", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT = "%4$s отражает заклинание \"%2$s\" |3-1(%1$s).", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT_NO_SOURCE = "%4$s отражает заклинание \"%2$s\".", + ACTION_SPELL_MISSED_RESIST = "сопротивление", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT = "%4$s полностью сопротивляется заклинанию \"%2$s\" |3-1(%1$s)%6$s", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%4$s полностью сопротивляется заклинанию \"%2$s\"%6$s", + ACTION_SPELL_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DAMAGE = "Урон", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT = "\"%2$s\" |3-1(%1$s) наносит |3-2(%4$s) %5$s%6$s.", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT_NO_SOURCE = "%4$s получает %5$s от заклинания \"%2$s\"%6$s.", + ACTION_SPELL_PERIODIC_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DRAIN = "Похищение", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT = "\"%1$s\" |3-1(%2$s) отнимает %9$s |4единицу:единицы:единиц; |3-1(%8$s) у |3-1(%4$s).", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT_NO_SOURCE = "\"%2$s\" отнимает %9$s |4единицу:единицы:единиц; |3-1(%8$s) у |3-1(%4$s).", + ACTION_SPELL_PERIODIC_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE = "Энергия", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT = "%4$s получает %9$s |4единицу:единицы:единиц; |3-1(%8$s) от заклинания \"%2$s\" |3-1(%1$s).\"", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s получает %9$s |4единицу:единицы:единиц; |3-1(%8$s) благодаря заклинанию \"%2$s\".", + ACTION_SPELL_PERIODIC_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE_RESULT = "%8$s: +$extraAmount", + ACTION_SPELL_PERIODIC_HEAL = "Лечение", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT = "%4$s получает %9$s |4единицу:единицы:единиц; здоровья от заклинания \"%2$s\" |3-1(%1$s)%6$s.", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT_NO_SOURCE = "%4$s получает %9$s |4единицу:единицы:единиц; здоровья от заклинания \"%2$s\". %6$s", + ACTION_SPELL_PERIODIC_HEAL_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH = "Похищение", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT = "\"%2$s\" |3-1(%1$s) отнимает %9$s |4единицу:единицы:единиц; |3-1(%8$s) из |3-1(%4$s). %1$s получает %10$s |4единицу:единицы:единиц; |3-1(%8$s).", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT_NO_SOURCE = "\"%2$s\" отнимает %9$s |4единицу:единицы:единиц; |3-1(%8$s) у |3-1(%4$s). %1$s получает %10$s |4единицу:единицы:единиц; |3-1(%8$s).", + ACTION_SPELL_PERIODIC_LEECH_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH_RESULT = " (Получено %10$s |4единица:единицы:единиц; |3-1(%8$s))", + ACTION_SPELL_PERIODIC_MISSED = "Промах", + ACTION_SPELL_PERIODIC_MISSED_ABSORB = " (поглощение: %1$s)", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT = "\"%2$s\" |3-1(%1$s) поглощается |3-4(%4$s)%6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%4$s поглощает заклинание \"%2$s\"%6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_BLOCK = ": заклинание однократно блокировано", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT = "%4$s временно блокирует заклинание \"%2$s\" |3-1(%1$s)%6$s.", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%4$s на мгновение блокирует заклинание \"%2$s\"%6$s.", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED = ": однократное отклонение", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT = "%4$s на мгновение отклоняет заклинание \"%2$s\" |3-1(%1$s)%6$s.", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT_NO_SOURCE = "%4$s на мгновение отклоняет заклинание \"%2$s\"%6$s.", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DODGE = ": однократное уклонение", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT = "%4$s на мгновение уклоняется от заклинания \"%2$s\" |3-1(%1$s)%6$s.", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%4$s на мгновение уклоняется от заклинания \"%2$s\"%6$s.", + ACTION_SPELL_PERIODIC_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_EVADED = ": временно не достигает цели", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT = "Заклинание \"%2$s\" |3-1(%1$s) на мгновение не достигает |3-1(%4$s)%6$s.", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "Заклинание \"%2$s\" на мгновение не достигает |3-1(%4$s)%6$s.", + ACTION_SPELL_PERIODIC_MISSED_EVADED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT = "\"%2$s\" |3-1(%1$s) временно не действует на |3-3(%4$s)%6$s.", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT_NO_SOURCE = "\"%2$s\" временно не действует на |3-3(%4$s)%6$s.", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE = ": цель невосприимчива", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT = "На |3-3(%4$s) не подействовало заклинание |3-1(%1$s) \"%2$s\". %6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "На |3-3(%4$s) не подействовало заклинание \"%2$s\". %6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_MISS = ": однократный промах", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT = "\"%2$s\" |3-1(%1$s) на мгновение перестает действовать на |3-1(%4$s)%6$s.", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT_NO_SOURCE = "\"%2$s\" на мгновение перестает действовать на |3-1(%4$s)%6$s.", + ACTION_SPELL_PERIODIC_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_PARRY = ": однократное парирование", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT = "%4$s на мгновение парирует заклинание \"%2$s\" |3-1(%1$s)%6$s.", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%4$s на мгновение парирует заклинание \"%2$s\"%6$s.", + ACTION_SPELL_PERIODIC_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_RESIST = ": однократное сопротивление", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT = "\"%2$s\" |3-1(%1$s) не действует на |3-3(%4$s). %4$s сопротивляется заклинанию. %6$s.", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "\"%2$s\" не действует на |3-3(%4$s). %4$s сопротивляется заклинанию. %6$s.", + ACTION_SPELL_PERIODIC_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_RESURRECT = "воскрешено", + ACTION_SPELL_RESURRECT_FULL_TEXT = "%1$s воскрешает |3-3(%4$s)%6$s с помощью заклинания \"%2$s\".", + ACTION_SPELL_RESURRECT_FULL_TEXT_NO_SOURCE = "%2$s воскрешает %4$s%6$s.", + ACTION_SPELL_RESURRECT_POSSESSIVE = "1", + ACTION_SPELL_STOLEN = "Похищение", + ACTION_SPELL_STOLEN_BUFF = "Похищение", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT = "\"%2$s\" |3-1(%1$s) похищает заклинание \"%5$s\" |3-1(%4$s).", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT_NO_SOURCE = "\"%2$s\" похищает заклинание \"%5$s\" |3-1(%4$s).", + ACTION_SPELL_STOLEN_BUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_BUFF__POSSESSIVE = "1", + ACTION_SPELL_STOLEN_DEBUFF = "Похищение", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT = "\"%2$s\" |3-1(%1$s) передает заклинание |3-1(%4$s) \"$extraSpell\" |3-2(%1$s).", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT_NO_SOURCE = "\"%2$s\" передает |3-2(%4$s) заклинание \"$extraSpell\".", + ACTION_SPELL_STOLEN_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_FULL_TEXT = "\"%2$s\" |3-1(%1$s) похищает заклинание \"%5$s\" |3-1(%4$s).", + ACTION_SPELL_STOLEN_FULL_TEXT_NO_SOURCE = "\"%2$s\" похищает заклинание \"%5$s\" |3-1(%4$s).", + ACTION_SPELL_STOLEN_POSSESSIVE = "1", + ACTION_SPELL_SUMMON = "призывает", + ACTION_SPELL_SUMMON_FULL_TEXT = "\"%2$s\" |3-1(%1$s) призывает |3-3(%4$s)%6$s.", + ACTION_SPELL_SUMMON_FULL_TEXT_NO_SOURCE = "%2$s призывает |3-3(%4$s)%6$s", + ACTION_SPELL_SUMMON_POSSESSIVE = "1", + ACTION_SWING = "Ближний бой", + ACTION_SWING_DAMAGE = "Попадание", + ACTION_SWING_DAMAGE_FULL_TEXT = "Атака ближнего боя |3-1(%1$s) наносит |3-2(%4$s) %5$s%6$s.", + ACTION_SWING_DAMAGE_FULL_TEXT_NO_SOURCE = "Атака ближнего боя бьет по |3-2(%4$s) на %5$s%6$s.", + ACTION_SWING_DAMAGE_POSSESSIVE = "1", + ACTION_SWING_MISSED = "Промах", + ACTION_SWING_MISSED_ABSORB = ": поглощение", + ACTION_SWING_MISSED_ABSORB_FULL_TEXT = "%4$s поглощает атаку |3-1(%1$s)%6$s", + ACTION_SWING_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SWING_MISSED_BLOCK = ": выстрел блокирован", + ACTION_SWING_MISSED_BLOCK_FULL_TEXT = "%4$s%6$s блокирует атаку |3-1(%1$s).", + ACTION_SWING_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SWING_MISSED_DEFLECT = ": выстрел отклонен", + ACTION_SWING_MISSED_DEFLECT_FULL_TEXT = "%4$s отклоняет атаку |3-1(%1$s).", + ACTION_SWING_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SWING_MISSED_DODGE = ": уклонение", + ACTION_SWING_MISSED_DODGE_FULL_TEXT = "%4$s уклоняется от атаки |3-1(%1$s).", + ACTION_SWING_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SWING_MISSED_EVADE = ": атака не достигла цели", + ACTION_SWING_MISSED_EVADE_FULL_TEXT = "Атака |3-1(%1$s) не достигает |3-1(%4$s).", + ACTION_SWING_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SWING_MISSED_FULL_TEXT = "%1$s не попадает по |3-2(%4$s).", + ACTION_SWING_MISSED_IMMUNE = ": цель невосприимчива", + ACTION_SWING_MISSED_IMMUNE_FULL_TEXT = "%4$s обладает невосприимчивостью к атаке |3-1(%1$s).", + ACTION_SWING_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISFIRE = "Промах.", + ACTION_SWING_MISSED_MISFIRE_FULL_TEXT = "Атака |3-1(%1$s) не попадает по |3-2(%4$s).", + ACTION_SWING_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISS = ": промах", + ACTION_SWING_MISSED_MISS_FULL_TEXT = "%1$s не попадает по |3-2(%4$s).", + ACTION_SWING_MISSED_MISS_POSSESSIVE = "1", + ACTION_SWING_MISSED_PARRY = ": выстрел парирован", + ACTION_SWING_MISSED_PARRY_FULL_TEXT = "%4$s парирует атаку |3-1(%1$s).", + ACTION_SWING_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SWING_MISSED_POSSESSIVE = "1", + ACTION_SWING_MISSED_RESIST = ": сопротивление", + ACTION_SWING_MISSED_RESIST_FULL_TEXT = "%4$s полностью сопротивляется атаке |3-1(%1$s)%6$s", + ACTION_SWING_MISSED_RESIST_POSSESSIVE = "1", + ACTION_UNIT_BECCOMES_UNCONSCIOUS = "падает", + ACTION_UNIT_BECOMES_UNCONSCIOUS_FULL_TEXT = "%4$s падает.", + ACTION_UNIT_BECOMES_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_UNIT_DESTROYED = "Уничтожение", + ACTION_UNIT_DESTROYED_FULL_TEXT = "%4$s умирает.", + ACTION_UNIT_DESTROYED_POSSESSIVE = "0", + ACTION_UNIT_DIED = "умерли", + ACTION_UNIT_DIED_FULL_TEXT = "%4$s погибает.", + ACTION_UNIT_DIED_POSSESSIVE = "0", + ACTION_UNIT_DISSIPATES = "рассеивается", + ACTION_UNIT_DISSIPATES_FULL_TEXT = "%4$s рассеивается.", + ACTION_UNIT_DISSIPATES_POSSESSIVE = "0", + ADD = "Добавить", + ADDITIONAL_FILTERS = "Дополнительные фильтры", + BLIZZARD_COMBAT_LOG_MENU_BOTH = "Все действия, касающиеся |3-1(%s)", + BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "Показывать все", + BLIZZARD_COMBAT_LOG_MENU_INCOMING = "Действия по отношению к |3-2(%s)?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING = "Действия |3-1(%s)", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING_ME = "Действия |3-1(%s) по отношению к вам", + BLIZZARD_COMBAT_LOG_MENU_RESET = "Сброс", + BLIZZARD_COMBAT_LOG_MENU_SAVE = "Сохранить как новый фильтр", + BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE = "Скрывать подобные сообщения.", + BLIZZARD_COMBAT_LOG_MENU_SPELL_LINK = "Отправить ссылку на \"%s\" в чат.", + COMBATLOG_UNKNOWN_UNIT = "Что-то", + COMBAT_FACTION_CHANGE = "Репутация", + COMBAT_HONOR_GAIN = "Честь", + COMBAT_LOG_UNIT_YOU_ENABLED = "1", + COMBAT_MISC_INFO = "Разное", + COMBAT_XP_GAIN = "Опыт", + DAMAGE_SHIELD = "Ответные повреждения", + DEFAULT_COMBATLOG_FILTER_NAME = "Фильтр %d", + ENTER_FILTER_NAME = "Введите название фильтра:", + ENVIRONMENTAL_DAMAGE = "Урон от окружающего мира", + QUICKBUTTON_NAME_ME = "Что случилось с персонажем?", + QUICKBUTTON_NAME_ME_TOOLTIP = "Отображение всех действий в отношении вашего персонажа.", + QUICKBUTTON_NAME_MY_ACTIONS = "Мои действия", + QUICKBUTTON_NAME_MY_ACTIONS_TOOLTIP = "Отображение сообщений о действиях, совершенных вашим персонажем.", + STRING_SCHOOL_UNKNOWN = "Неизвестно", + 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.", + TEXT_MODE_A_STRING_3 = "%1$s %5$s %3$s %4$s %2$s. %6$s", + TEXT_MODE_A_STRING_ACTION = "|Haction:%s|h%s|h", + TEXT_MODE_A_STRING_BRACE_ITEM = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_SPELL = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_UNIT = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_DEST_ICON = "|Hicon:%d:dest|h%s|h", + TEXT_MODE_A_STRING_DEST_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_ITEM = "|Hitem:%s|h%s|h", + TEXT_MODE_A_STRING_POSSESSIVE = "%s", + TEXT_MODE_A_STRING_REMAINING_POINTS = "Осталось: %s", + TEXT_MODE_A_STRING_RESULT_ABSORB = "Поглощено: %s ед. урона.", + TEXT_MODE_A_STRING_RESULT_BLOCK = "Заблокировано: %s ед. урона.", + TEXT_MODE_A_STRING_RESULT_CRITICAL = ": критический эффект", + TEXT_MODE_A_STRING_RESULT_CRITICAL_SPELL = ": критический эффект", + TEXT_MODE_A_STRING_RESULT_CRUSHING = ": сокрушительный удар", + TEXT_MODE_A_STRING_RESULT_FORMAT = "$resultAmount $resultType", + TEXT_MODE_A_STRING_RESULT_GLANCING = ": удар пришелся вскользь", + TEXT_MODE_A_STRING_RESULT_MULTISTRIKE = "Многократная атака.", + TEXT_MODE_A_STRING_RESULT_OVERENERGIZE = "(%s: перенасыщение энергией)", + TEXT_MODE_A_STRING_RESULT_OVERHEALING = "Избыточное лечение: %s.", + TEXT_MODE_A_STRING_RESULT_OVERKILLING = " (избыточный урон: %s)", + TEXT_MODE_A_STRING_RESULT_PARRY = "Парировано: %d.", + TEXT_MODE_A_STRING_RESULT_REFLECT = "Атака отражена", + TEXT_MODE_A_STRING_RESULT_RESIST = " (сопротивление %s |4единице:единицам:единицам; урона)", + TEXT_MODE_A_STRING_RESULT_VULNERABILITY = " (%s |4единица:единицы:единиц; урона за счет уязвимости)", + TEXT_MODE_A_STRING_SOURCE_ICON = "|Hicon:%s:source|h%s|h", + TEXT_MODE_A_STRING_SOURCE_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL_EXTRA = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_TIMESTAMP = "%s> %s", + TEXT_MODE_A_STRING_VALUE_SCHOOL = "%s (%s)", + TEXT_MODE_A_STRING_VALUE_TYPE = "%s (%s)", + TEXT_MODE_A_TIMESTAMP = "%H:%M:%S", + UNIT_YOU = "Вы", + UNIT_YOU_DEST = "Вы", + UNIT_YOU_DEST_POSSESSIVE = "Ваш", + UNIT_YOU_SOURCE = "Вы", + UNIT_YOU_SOURCE_POSSESSIVE = "Ваше", +} diff --git a/env/combatlog_zhCN.lua b/env/combatlog_zhCN.lua new file mode 100644 index 00000000..475ca88a --- /dev/null +++ b/env/combatlog_zhCN.lua @@ -0,0 +1,538 @@ +-- Classic Era GlobalStrings (CN) that the combat log reads +-- and the 1.12 client lacks. Generated; do not edit by hand. +pfUI_locale["zhCN"]["combatlog"] = { + ACTION_DAMAGE_SHIELD = "伤害", + ACTION_DAMAGE_SHIELD_FULL_TEXT = "%1$s%2$s将%9$s点%7$s伤害反射给%4$s。%6$s", + ACTION_DAMAGE_SHIELD_FULL_TEXT_NO_SOURCE = "%2$s将%9$s点%7$s伤害反射给%4$s。%6$s", + ACTION_DAMAGE_SHIELD_MISSED = "未命中", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK = "(格挡)", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT = "%1$s%2$s被%4$s格挡了。%6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%2$s被%4$s格挡了。%6$s", + ACTION_DAMAGE_SHIELD_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT = "(偏转)", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT = "%1$s%2$s被%4$s偏转了。", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%2$s被%4$s偏转了。", + ACTION_DAMAGE_SHIELD_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_DODGE = "(躲闪)", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT = "%1$s%2$s被%4$s躲闪了。", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%2$s被%4$s躲闪了。", + ACTION_DAMAGE_SHIELD_MISSED_DODGE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_EVADED = "(闪避)", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT = "%1$s%2$s被%4$s闪避了。", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "%2$s被%4$s闪避了。", + ACTION_DAMAGE_SHIELD_MISSED_EVADED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT = "%1$s%2$s未命中%4$s。", + ACTION_DAMAGE_SHIELD_MISSED_FULL_TEXT_NO_SOURCE = "%2$s未命中%4$s。", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE = "(免疫)", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT = "%1$s%2$s失败。%4$s对此免疫。", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%2$s失败。%4$s对此免疫。", + ACTION_DAMAGE_SHIELD_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_MISS = "(未命中)", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT = "%1$s%2$s未命中%4$s。", + ACTION_DAMAGE_SHIELD_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s未命中%4$s。", + ACTION_DAMAGE_SHIELD_MISSED_MISS_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_PARRY = "(招架)", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT = "%1$s%2$s被%4$s招架了。", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%2$s被%4$s招架了。", + ACTION_DAMAGE_SHIELD_MISSED_PARRY_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_MISSED_RESIST = "(抵抗)", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT = "%1$s%2$s被%4$s完全抵抗了。%6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%2$s被%4$s完全抵抗了。%6$s", + ACTION_DAMAGE_SHIELD_MISSED_RESIST_POSSESSIVE = "1", + ACTION_DAMAGE_SHIELD_POSSESSIVE = "1", + ACTION_DAMAGE_SPLIT = "分担伤害", + ACTION_DAMAGE_SPLIT_ABSORBED_FULL_TEXT = "%4$s %6$s吸收了%1$s的%2$s点伤害。", + ACTION_DAMAGE_SPLIT_FULL_TEXT = "%1$s%2$s对%4$s$s造成%9$s点伤害。", + ACTION_DAMAGE_SPLIT_POSSESSIVE = "0", + ACTION_DAMAGE_SPLIT_RESULT_FULL_TEXT = "%1$s的%2$s对%4$s %6$s造成%9$s点伤害。", + ACTION_ENCHANT_APPLIED = "附魔", + ACTION_ENCHANT_APPLIED_FULL_TEXT = "%1$s在%4$s%5$s上施放了%2$s。", + ACTION_ENCHANT_APPLIED_POSSESSIVE = "0", + ACTION_ENCHANT_REMOVED = "附魔消失", + ACTION_ENCHANT_REMOVED_FULL_TEXT = "%2$s从%4$s%5$s上消失了。", + ACTION_ENCHANT_REMOVED_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE = "伤害", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING = "溺水", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_FULL_TEXT = "%4$s溺水,损失了%9$s点生命值。", + ACTION_ENVIRONMENTAL_DAMAGE_DROWNING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING = "掉落", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_FULL_TEXT = "%4$s受到%9$s点掉落伤害。", + ACTION_ENVIRONMENTAL_DAMAGE_FALLING_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE = "疲倦", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_FULL_TEXT = "%4$s筋疲力尽,损失了%9$s点生命值。", + ACTION_ENVIRONMENTAL_DAMAGE_FATIGUE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE = "火焰", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_FULL_TEXT = "%4$s受到了%9$s点火焰伤害。", + ACTION_ENVIRONMENTAL_DAMAGE_FIRE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_FULL_TEXT = "%4$s因环境伤害而损失了%9$s点生命值。", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA = "岩浆", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_FULL_TEXT = "%4$s在岩浆中,损失了%9$s点生命值。%6$s", + ACTION_ENVIRONMENTAL_DAMAGE_LAVA_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_POSSESSIVE = "0", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME = "淤泥", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_FULL_TEXT = "%4$s在淤泥中,损失了%9$s点生命值。%6$s", + ACTION_ENVIRONMENTAL_DAMAGE_SLIME_POSSESSIVE = "0", + ACTION_PARTY_KILL = "杀死了", + ACTION_PARTY_KILL_FULL_TEXT = "%1$s杀死了%4$s!", + ACTION_PARTY_KILL_POSSESSIVE = "0", + ACTION_PARTY_KILL_UNCONSCIOUS = "被击昏", + ACTION_PARTY_KILL_UNCONSCIOUS_FULL_TEXT = "%1$s击昏了%4$s!", + ACTION_PARTY_KILL_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_RANGED = "射击", + ACTION_RANGE_DAMAGE = "命中", + ACTION_RANGE_DAMAGE_FULL_TEXT = "%1$s远程射击命中%4$s造成了%5$s伤害。%6$s", + ACTION_RANGE_DAMAGE_FULL_TEXT_NO_SOURCE = "一次远程射击命中%4$s造成了%5$s伤害。%6$s", + ACTION_RANGE_DAMAGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED = "未命中", + ACTION_RANGE_MISSED_ABSORB = "(吸收)", + ACTION_RANGE_MISSED_ABSORB_FULL_TEXT = "%1$s射击被%4$s吸收了。%6$s", + ACTION_RANGE_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_RANGE_MISSED_BLOCK = "(格挡)", + ACTION_RANGE_MISSED_BLOCK_FULL_TEXT = "%1$s射击被%4$s格挡了。%6$s", + ACTION_RANGE_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DEFLECT = "(偏转)", + ACTION_RANGE_MISSED_DEFLECT_FULL_TEXT = "%1$s射击被%4$s偏转了。", + ACTION_RANGE_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_RANGE_MISSED_DODGE = "(躲闪)", + ACTION_RANGE_MISSED_DODGE_FULL_TEXT = "%1$s射击被%4$s躲闪了。", + ACTION_RANGE_MISSED_DODGE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_EVADE = "(闪避)", + ACTION_RANGE_MISSED_EVADE_FULL_TEXT = "%1$s射击被%4$s闪避了。", + ACTION_RANGE_MISSED_EVADE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_FULL_TEXT = "%1$s射击未命中%4$s。", + ACTION_RANGE_MISSED_IMMUNE = "(免疫)", + ACTION_RANGE_MISSED_IMMUNE_FULL_TEXT = "%1$s射击失败。%4$s对此免疫。", + ACTION_RANGE_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISFIRE = "(未命中)", + ACTION_RANGE_MISSED_MISFIRE_FULL_TEXT = "%1$s射击未命中%4$s。", + ACTION_RANGE_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_RANGE_MISSED_MISS = "(未命中)", + ACTION_RANGE_MISSED_MISS_FULL_TEXT = "%1$s射击未命中%4$s。", + ACTION_RANGE_MISSED_MISS_POSSESSIVE = "1", + ACTION_RANGE_MISSED_PARRY = "(招架)", + ACTION_RANGE_MISSED_PARRY_FULL_TEXT = "%1$s射击被%4$s招架了。", + ACTION_RANGE_MISSED_PARRY_POSSESSIVE = "1", + ACTION_RANGE_MISSED_POSSESSIVE = "1", + ACTION_RANGE_MISSED_RESIST = "(抵抗)", + ACTION_RANGE_MISSED_RESIST_FULL_TEXT = "%1$s射击被%4$s完全抵抗了。%6$s", + ACTION_RANGE_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED = "附加", + ACTION_SPELL_AURA_APPLIED_BUFF = "获得", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT = "%4$s获得了%1$s%2$s。", + ACTION_SPELL_AURA_APPLIED_BUFF_FULL_TEXT_NO_SOURCE = "%4$s获得了%2$s。", + ACTION_SPELL_AURA_APPLIED_BUFF_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT = "%4$s获得了%1$s %2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s获得了%2$s. %11$s", + ACTION_SPELL_AURA_APPLIED_DEBUFF = "影响", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT = "%4$s受到了%1$s%2$s的影响。", + ACTION_SPELL_AURA_APPLIED_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s受到了%2$s的影响。", + ACTION_SPELL_AURA_APPLIED_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT = "%4$s受到了%1$s %2$s. %11$s的影响", + ACTION_SPELL_AURA_APPLIED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%4$s受到了%2$s. %11$s的影响", + ACTION_SPELL_AURA_APPLIED_DOSE = "堆叠", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF = "堆叠", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT = "%4$s获得了%1$s%2$s(%9$s)。", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%4$s获得了%2$s(%9$s)。", + ACTION_SPELL_AURA_APPLIED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF = "影响", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT = "%4$s受到了%1$s%2$s的影响(%9$s)。", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s受到了%2$s的影响(%9$s)。", + ACTION_SPELL_AURA_APPLIED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_APPLIED_MASTER = "2", + ACTION_SPELL_AURA_APPLIED_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN = "打破", + ACTION_SPELL_AURA_BROKEN_BUFF = "打破", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT = "%1$s打破了%4$s%2$s。", + ACTION_SPELL_AURA_BROKEN_BUFF_FULL_TEXT_NO_SOURCE = "%1$s%2$s被某目标打破了。", + ACTION_SPELL_AURA_BROKEN_BUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_BROKEN_DEBUFF = "打破", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT = "%1$s打破了%4$s%2$s。", + ACTION_SPELL_AURA_BROKEN_DEBUFF_FULL_TEXT_NO_SOURCE = "%1$s%2$s被某目标打破了。", + ACTION_SPELL_AURA_BROKEN_DEBUFF_POSSESSIVE = "0", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF = "打破", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT = "%1$s的%5$s打破了%4$s%2$s。", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_FULL_TEXT_NO_SOURCE = "%5$s打破了%4$s%2$s。", + ACTION_SPELL_AURA_BROKEN_SPELL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF = "打破", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT = "%1$s的%5$s打破了%4$s%2$s。", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_FULL_TEXT_NO_SOURCE = "%5$s打破了%4$s%2$s。", + ACTION_SPELL_AURA_BROKEN_SPELL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH = "被刷新", + ACTION_SPELL_AURA_REFRESH_BUFF = "被刷新", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT = "%1$s%2$s在%4$s身上刷新了。", + ACTION_SPELL_AURA_REFRESH_BUFF_FULL_TEXT_NO_SOURCE = "%2$s在%4$s身上刷新了。", + ACTION_SPELL_AURA_REFRESH_BUFF_MASTER = "2", + ACTION_SPELL_AURA_REFRESH_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT = "%1$s %2$s在%4$s. %11$s身上刷新了", + ACTION_SPELL_AURA_REFRESH_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s在%4$s. %11$s的身上刷新了", + ACTION_SPELL_AURA_REFRESH_DEBUFF = "被刷新", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT = "%1$s%2$s在%4$s身上刷新了。", + ACTION_SPELL_AURA_REFRESH_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s在%4$s身上刷新了。", + ACTION_SPELL_AURA_REFRESH_DEBUFF_MASTER = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT = "%1$s %2$s在%4$s. %11$s身上刷新了", + ACTION_SPELL_AURA_REFRESH_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s在%4$s. %11$s的身上刷新了", + ACTION_SPELL_AURA_REFRESH_MASTER = "2", + ACTION_SPELL_AURA_REMOVED = "移除", + ACTION_SPELL_AURA_REMOVED_BUFF = "消失", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT = "%1$s%2$s从%4$s身上消失了。", + ACTION_SPELL_AURA_REMOVED_BUFF_FULL_TEXT_NO_SOURCE = "%2$s从%4$s身上消失了。", + ACTION_SPELL_AURA_REMOVED_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT = "%1$s %2$s从%4$s. %11$s身上消失了", + ACTION_SPELL_AURA_REMOVED_BUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s从%4$s. %11$s的身上消失了", + ACTION_SPELL_AURA_REMOVED_DEBUFF = "消散", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT = "%1$s%2$s从%4$s身上消散了。", + ACTION_SPELL_AURA_REMOVED_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s从%4$s身上消散了。", + ACTION_SPELL_AURA_REMOVED_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT = "%1$s %2$s从%4$s. %11$s身上消散了", + ACTION_SPELL_AURA_REMOVED_DEBUFF_WITH_POINTS_FULL_TEXT_NO_SOURCE = "%2$s从%4$s. %11$s的身上消散了", + ACTION_SPELL_AURA_REMOVED_DOSE = "降低", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF = "降低", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT = "%1$s%2$s(%9$s)衰减了。", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_FULL_TEXT_NO_SOURCE = "%2$s(%9$s)衰减了。", + ACTION_SPELL_AURA_REMOVED_DOSE_BUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF = "衰减", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT = "%1$s%2$s(%9$s)消退了。", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s(%9$s)消退了。", + ACTION_SPELL_AURA_REMOVED_DOSE_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT = "%1$s%2$s被从%4$s身上移除了。", + ACTION_SPELL_AURA_REMOVED_FULL_TEXT_NO_SOURCE = "%1$s%2$s被从%4$s身上移除了。", + ACTION_SPELL_AURA_REMOVED_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_DAMAGE = "打击", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT = "%1$s%2$s打击%4$s造成了%5$s伤害。%6$s", + ACTION_SPELL_BUILDING_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s打击%4$s造成了%5$s伤害。%6$s", + ACTION_SPELL_BUILDING_DAMAGE_MASTER = "1", + ACTION_SPELL_BUILDING_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_BUILDING_HEAL = "修理", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT = "%1$s%2$s修理%4$s,恢复了%9$s点生命值。%6$s", + ACTION_SPELL_BUILDING_HEAL_FULL_TEXT_NO_SOURCE = "%2$s修理%4$s,恢复了%9$s点生命值。%6$s", + ACTION_SPELL_BUILDING_HEAL_POSSESSIVE = "1", + ACTION_SPELL_CAST_FAILED = "失败", + ACTION_SPELL_CAST_FAILED_FULL_TEXT = "%1$s%2$s未能施放。%6$s", + ACTION_SPELL_CAST_FAILED_MASTER = "1", + ACTION_SPELL_CAST_FAILED_POSSESSIVE = "1", + ACTION_SPELL_CAST_START = "开始施放", + ACTION_SPELL_CAST_START_FULL_TEXT = "%1$s开始向%4$s施放%2$s。", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_DEST = "%1$s开始施放%2$s。", + ACTION_SPELL_CAST_START_FULL_TEXT_NO_SOURCE = "某物体开始对%4$s施放%2$s。", + ACTION_SPELL_CAST_START_MASTER = "2", + ACTION_SPELL_CAST_START_POSSESSIVE = "0", + ACTION_SPELL_CAST_SUCCESS = "施放", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT = "%1$s向%4$s施放了%2$s。", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_DEST = "%1$s施放了%2$s。", + ACTION_SPELL_CAST_SUCCESS_FULL_TEXT_NO_SOURCE = "某目标对%4$s施放了%2$s。", + ACTION_SPELL_CAST_SUCCESS_MASTER = "2", + ACTION_SPELL_CAST_SUCCESS_POSSESSIVE = "0", + ACTION_SPELL_CREATE = "制造", + ACTION_SPELL_CREATE_FULL_TEXT = "%1$s%2$s制造了一个%4$s。%6$s", + ACTION_SPELL_CREATE_FULL_TEXT_NO_SOURCE = "%2$s制造了一个%4$s。%6$s", + ACTION_SPELL_CREATE_POSSESSIVE = "1", + ACTION_SPELL_DAMAGE = "命中", + ACTION_SPELL_DAMAGE_FULL_TEXT = "%1$s%2$s命中%4$s造成%5$s伤害。%6$s", + ACTION_SPELL_DAMAGE_FULL_TEXT_NO_SOURCE = "%2$s命中%4$s,造成%5$s点伤害。%6$s", + ACTION_SPELL_DAMAGE_MASTER = "1", + ACTION_SPELL_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_DISPEL = "驱散", + ACTION_SPELL_DISPEL_BUFF = "驱散", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT = "%4$s%5$s被%1$s%2$s驱散了。", + ACTION_SPELL_DISPEL_BUFF_FULL_TEXT_NO_SOURCE = "%4$s%5$s被%2$s驱散了。", + ACTION_SPELL_DISPEL_BUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_DEBUFF = "净化", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT = "%4$s%5$s被%1$s%2$s净化了。", + ACTION_SPELL_DISPEL_DEBUFF_FULL_TEXT_NO_SOURCE = "%4$s%5$s被%2$s净化了。", + ACTION_SPELL_DISPEL_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_FAILED = "驱散失败", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT = "%1$s%2$s未能驱散%4$s%5$s。", + ACTION_SPELL_DISPEL_FAILED_FULL_TEXT_NO_SOURCE = "%2$s未能驱散%4$s%5$s。", + ACTION_SPELL_DISPEL_FAILED_POSSESSIVE = "1", + ACTION_SPELL_DISPEL_POSSESSIVE = "1", + ACTION_SPELL_DRAIN = "吸取", + ACTION_SPELL_DRAIN_FULL_TEXT = "%1$s%2$s从%4$s身上吸取了%9$s点%8$s。", + ACTION_SPELL_DRAIN_FULL_TEXT_NO_SOURCE = "%2$s从%4$s身上吸取了%9$s点%8$s。", + ACTION_SPELL_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE = "耐久度下降", + ACTION_SPELL_DURABILITY_DAMAGE_ALL = "完全耐久度下降", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_FULL_TEXT = "%1$s%2$s对%4$s造成伤害:所有装备受损。", + ACTION_SPELL_DURABILITY_DAMAGE_ALL_POSSESSIVE = "1", + ACTION_SPELL_DURABILITY_DAMAGE_FULL_TEXT = "%1$s%2$s对%4$s造成伤害:%5$s受损。", + ACTION_SPELL_DURABILITY_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE = "补充", + ACTION_SPELL_ENERGIZE_FULL_TEXT = "%4$s因%1$s%2$s获得了%9$s点%8$s。", + ACTION_SPELL_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s因%2$s获得了%9$s点%8$s。", + ACTION_SPELL_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_ENERGIZE_RESULT = "获得%9$s点%8$s", + ACTION_SPELL_EXTRA_ATTACKS = "获得额外攻击", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT = "%1$s通过%2$s获得了%9$s次额外攻击。", + ACTION_SPELL_EXTRA_ATTACKS_FULL_TEXT_NO_SOURCE = "通过%2$s获得%9$s次额外攻击。", + ACTION_SPELL_EXTRA_ATTACKS_POSSESSIVE = "1", + ACTION_SPELL_HEAL = "治疗", + ACTION_SPELL_HEAL_FULL_TEXT = "%1$s%2$s为%4$s恢复了%9$s点生命值。%6$s", + ACTION_SPELL_HEAL_FULL_TEXT_NO_SOURCE = "%2$s为%4$s恢复了%9$s点生命值。%6$s", + ACTION_SPELL_HEAL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL = "杀死了", + ACTION_SPELL_INSTAKILL_FULL_TEXT = "%1$s%2$s杀死了%4$s。", + ACTION_SPELL_INSTAKILL_FULL_TEXT_NO_SOURCE = "%2$s杀死了%4$s。", + ACTION_SPELL_INSTAKILL_POSSESSIVE = "1", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS = "被击昏", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT = "%1$s %2$s击昏了%4$s。", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT_NO_SOURCE = "%2$s击昏了%4$s。", + ACTION_SPELL_INSTAKILL_UNCONSCIOUS_POSSESSIVE = "1", + ACTION_SPELL_INTERRUPT = "打断", + ACTION_SPELL_INTERRUPT_FULL_TEXT = "%1$s%2$s打断了%4$s%5$s。", + ACTION_SPELL_INTERRUPT_FULL_TEXT_NO_SOURCE = "%2$s打断了%4$s%5$s。", + ACTION_SPELL_INTERRUPT_POSSESSIVE = "1", + ACTION_SPELL_LEECH = "吸取", + ACTION_SPELL_LEECH_FULL_TEXT = "%1$s%2$s从%4$s身上吸取了%9$s点%8$s。%1$s获得了%10$s点%8$s。", + ACTION_SPELL_LEECH_FULL_TEXT_NO_SOURCE = "%2$s从%4$s身上吸取了%9$s点%8$s。", + ACTION_SPELL_LEECH_POSSESSIVE = "1", + ACTION_SPELL_LEECH_RESULT = "获得%10$s点%8$s", + ACTION_SPELL_MISSED = "未命中", + ACTION_SPELL_MISSED_ABSORB = "被吸收", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT = "%1$s%2$s被%4$s吸收了。%6$s", + ACTION_SPELL_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%2$s被%4$s吸收了。%6$s", + ACTION_SPELL_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_MISSED_BLOCK = "被格挡", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT = "%1$s%2$s被%4$s格挡了。%6$s", + ACTION_SPELL_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%2$s被%4$s格挡了。%6$s", + ACTION_SPELL_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DEFLECT = "偏转", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT = "%1$s%2$s被%4$s偏转了。", + ACTION_SPELL_MISSED_DEFLECT_FULL_TEXT_NO_SOURCE = "%2$s被%4$s偏转了。", + ACTION_SPELL_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SPELL_MISSED_DODGE = "被躲闪", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT = "%1$s%2$s被%4$s躲闪了。", + ACTION_SPELL_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%2$s被%4$s躲闪了。", + ACTION_SPELL_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_EVADE = "被闪避", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT = "%1$s%2$s被%4$s闪避了。", + ACTION_SPELL_MISSED_EVADE_FULL_TEXT_NO_SOURCE = "%2$s被%4$s闪避了。", + ACTION_SPELL_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_FULL_TEXT = "%1$s%2$s未命中%4$s。", + ACTION_SPELL_MISSED_FULL_TEXT_NO_SOURCE = "%2$s未命中%4$s。", + ACTION_SPELL_MISSED_IMMUNE = "免疫", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT = "%1$s%2$s失败。%4$s对此免疫。", + ACTION_SPELL_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%2$s失败。%4$s对此免疫。", + ACTION_SPELL_MISSED_MISFIRE = "未命中", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT = "%1$s%2$s未命中%4$s。", + ACTION_SPELL_MISSED_MISFIRE_FULL_TEXT_NO_SOURCE = "%2$s未命中%4$s。", + ACTION_SPELL_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SPELL_MISSED_MISS = "未命中", + ACTION_SPELL_MISSED_MISS_FULL_TEXT = "%1$s%2$s未命中%4$s。", + ACTION_SPELL_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s未命中%4$s。", + ACTION_SPELL_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_MISSED_PARRY = "被招架", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT = "%1$s%2$s被%4$s招架了。", + ACTION_SPELL_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%2$s被%4$s招架了。", + ACTION_SPELL_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_MISSED_POSSESSIVE = "1", + ACTION_SPELL_MISSED_REFLECT = "被反射", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT = "%1$s%2$s被%4$s反射了。", + ACTION_SPELL_MISSED_REFLECT_FULL_TEXT_NO_SOURCE = "%2$s被%4$s反射了。", + ACTION_SPELL_MISSED_RESIST = "被抵抗", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT = "%1$s%2$s被%4$s完全抵抗了。%6$s", + ACTION_SPELL_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%2$s被%4$s完全抵抗了。%6$s", + ACTION_SPELL_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DAMAGE = "伤害", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT = "%4$s因%1$s%2$s受到了%5$s伤害。%6$s", + ACTION_SPELL_PERIODIC_DAMAGE_FULL_TEXT_NO_SOURCE = "%4$s因%2$s受到了%5$s伤害。%6$s", + ACTION_SPELL_PERIODIC_DAMAGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_DRAIN = "吸取", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT = "%1$s%2$s从%4$s身上吸取了%9$s点%8$s。", + ACTION_SPELL_PERIODIC_DRAIN_FULL_TEXT_NO_SOURCE = "%2$s从%4$s身上吸取了%9$s点%8$s。", + ACTION_SPELL_PERIODIC_DRAIN_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE = "补充", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT = "%4$s因%1$s%2$s获得了%9$s点%8$s。", + ACTION_SPELL_PERIODIC_ENERGIZE_FULL_TEXT_NO_SOURCE = "%4$s因%2$s获得了%9$s点%8$s。", + ACTION_SPELL_PERIODIC_ENERGIZE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_ENERGIZE_RESULT = "获得$extraAmount点%8$s", + ACTION_SPELL_PERIODIC_HEAL = "治疗", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT = "%4$s因%1$s%2$s获得了%9$s点生命值。%6$s", + ACTION_SPELL_PERIODIC_HEAL_FULL_TEXT_NO_SOURCE = "%4$s因%2$s恢复了%9$s点生命值。%6$s", + ACTION_SPELL_PERIODIC_HEAL_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH = "吸取", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT = "%1$s%2$s从%4$s身上吸取了%9$s点%8$s。%1$s获得了%10$s点%8$s。", + ACTION_SPELL_PERIODIC_LEECH_FULL_TEXT_NO_SOURCE = "%2$s从%4$s身上吸取了%9$s点%8$s。%1$s获得了%10$s点%8$s。", + ACTION_SPELL_PERIODIC_LEECH_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_LEECH_RESULT = "(获得%10$s点%8$s)", + ACTION_SPELL_PERIODIC_MISSED = "未命中", + ACTION_SPELL_PERIODIC_MISSED_ABSORB = "(%1$s 吸收)", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT = "%1$s%2$s被%4$s吸收了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_FULL_TEXT_NO_SOURCE = "%2$s暂时被%4$s吸收了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_BLOCK = "(周期伤害被格挡)", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT = "%1$s%2$s暂时被%4$s格挡了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_FULL_TEXT_NO_SOURCE = "%2$s暂时被%4$s格挡了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED = "(周期伤害被偏转)", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT = "%1$s%2$s暂时被%4$s偏转了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_FULL_TEXT_NO_SOURCE = "%2$s暂时被%4$s偏转了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_DEFLECTED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_DODGE = "(周期伤害被躲闪)", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT = "%1$s%2$s暂时被%4$s躲闪了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_DODGE_FULL_TEXT_NO_SOURCE = "%2$s暂时被%4$s躲闪了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_EVADED = "(周期伤害被闪避)", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT = "%1$s%2$s暂时被%4$s闪避了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_EVADED_FULL_TEXT_NO_SOURCE = "%2$s暂时被%4$s闪避了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_EVADED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT = "%1$s%2$s暂时未能对%4$s产生影响。%6$s", + ACTION_SPELL_PERIODIC_MISSED_FULL_TEXT_NO_SOURCE = "%2$s暂时未能影响%4$s。%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE = "(免疫)", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT = "%4$s对%1$s %2$s免疫。%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_FULL_TEXT_NO_SOURCE = "%4$s对%2$s免疫。%6$s", + ACTION_SPELL_PERIODIC_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_MISS = "(周期伤害未命中)", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT = "%1$s%2$s暂时未命中%4$s。%6$s", + ACTION_SPELL_PERIODIC_MISSED_MISS_FULL_TEXT_NO_SOURCE = "%2$s暂时未命中%4$s。%6$s", + ACTION_SPELL_PERIODIC_MISSED_MISS_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_PARRY = "(周期伤害被招架)", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT = "%1$s%2$s暂时被%4$s招架了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_PARRY_FULL_TEXT_NO_SOURCE = "%2$s暂时被%4$s招架了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_POSSESSIVE = "1", + ACTION_SPELL_PERIODIC_MISSED_RESIST = "(周期伤害被抵抗)", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT = "%1$s%2$s未能对%4$s产生影响。%4$s抵抗了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_RESIST_FULL_TEXT_NO_SOURCE = "%2$s未能影响%4$s。%4$s抵抗了。%6$s", + ACTION_SPELL_PERIODIC_MISSED_RESIST_POSSESSIVE = "1", + ACTION_SPELL_RESURRECT = "复活", + ACTION_SPELL_RESURRECT_FULL_TEXT = "%1$s%2$s复活了%4$s。%6$s", + ACTION_SPELL_RESURRECT_FULL_TEXT_NO_SOURCE = "%2$s复活了%4$s。%6$s", + ACTION_SPELL_RESURRECT_POSSESSIVE = "1", + ACTION_SPELL_STOLEN = "偷取", + ACTION_SPELL_STOLEN_BUFF = "偷取", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT = "%1$s%2$s偷取了%4$s%5$s。", + ACTION_SPELL_STOLEN_BUFF_FULL_TEXT_NO_SOURCE = "%2$s偷取了%4$s%5$s。", + ACTION_SPELL_STOLEN_BUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_BUFF__POSSESSIVE = "1", + ACTION_SPELL_STOLEN_DEBUFF = "偷取", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT = "%1$s%2$s将%4$s$extraSpell转移给了%1$s。", + ACTION_SPELL_STOLEN_DEBUFF_FULL_TEXT_NO_SOURCE = "%2$s转移了%4$s$extraSpell。", + ACTION_SPELL_STOLEN_DEBUFF_POSSESSIVE = "1", + ACTION_SPELL_STOLEN_FULL_TEXT = "%1$s%2$s偷取了%4$s%5$s。", + ACTION_SPELL_STOLEN_FULL_TEXT_NO_SOURCE = "%2$s偷取了%4$s%5$s。", + ACTION_SPELL_STOLEN_POSSESSIVE = "1", + ACTION_SPELL_SUMMON = "召唤", + ACTION_SPELL_SUMMON_FULL_TEXT = "%1$s%2$s召唤了%4$s。%6$s", + ACTION_SPELL_SUMMON_FULL_TEXT_NO_SOURCE = "%2$s召唤了%4$s。%6$s", + ACTION_SPELL_SUMMON_POSSESSIVE = "1", + ACTION_SWING = "近战攻击", + ACTION_SWING_DAMAGE = "命中", + ACTION_SWING_DAMAGE_FULL_TEXT = "%1$s近战攻击命中%4$s造成了%5$s伤害。%6$s", + ACTION_SWING_DAMAGE_FULL_TEXT_NO_SOURCE = "一次近战攻击命中%4$s造成了%5$s伤害。%6$s", + ACTION_SWING_DAMAGE_POSSESSIVE = "1", + ACTION_SWING_MISSED = "未命中", + ACTION_SWING_MISSED_ABSORB = "(吸收)", + ACTION_SWING_MISSED_ABSORB_FULL_TEXT = "%1$s攻击被%4$s吸收了。%6$s", + ACTION_SWING_MISSED_ABSORB_POSSESSIVE = "1", + ACTION_SWING_MISSED_BLOCK = "(格挡)", + ACTION_SWING_MISSED_BLOCK_FULL_TEXT = "%1$s攻击被%4$s格挡了。%6$s", + ACTION_SWING_MISSED_BLOCK_POSSESSIVE = "1", + ACTION_SWING_MISSED_DEFLECT = "(偏转)", + ACTION_SWING_MISSED_DEFLECT_FULL_TEXT = "%1$s攻击被%4$s偏转了。", + ACTION_SWING_MISSED_DEFLECT_POSSESSIVE = "1", + ACTION_SWING_MISSED_DODGE = "(躲闪)", + ACTION_SWING_MISSED_DODGE_FULL_TEXT = "%1$s攻击被%4$s躲闪了。", + ACTION_SWING_MISSED_DODGE_POSSESSIVE = "1", + ACTION_SWING_MISSED_EVADE = "(闪避)", + ACTION_SWING_MISSED_EVADE_FULL_TEXT = "%1$s攻击被%4$s闪避了。", + ACTION_SWING_MISSED_EVADE_POSSESSIVE = "1", + ACTION_SWING_MISSED_FULL_TEXT = "%1$s攻击未命中%4$s。", + ACTION_SWING_MISSED_IMMUNE = "(免疫)", + ACTION_SWING_MISSED_IMMUNE_FULL_TEXT = "%1$s攻击失败。%4$s对此免疫。", + ACTION_SWING_MISSED_IMMUNE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISFIRE = "(未命中)", + ACTION_SWING_MISSED_MISFIRE_FULL_TEXT = "%1$s攻击未命中%4$s。", + ACTION_SWING_MISSED_MISFIRE_POSSESSIVE = "1", + ACTION_SWING_MISSED_MISS = "(未命中)", + ACTION_SWING_MISSED_MISS_FULL_TEXT = "%1$s攻击未命中%4$s。", + ACTION_SWING_MISSED_MISS_POSSESSIVE = "1", + ACTION_SWING_MISSED_PARRY = "(招架)", + ACTION_SWING_MISSED_PARRY_FULL_TEXT = "%1$s攻击被%4$s招架了。", + ACTION_SWING_MISSED_PARRY_POSSESSIVE = "1", + ACTION_SWING_MISSED_POSSESSIVE = "1", + ACTION_SWING_MISSED_RESIST = "(抵抗)", + ACTION_SWING_MISSED_RESIST_FULL_TEXT = "%1$s攻击被%4$s完全抵抗了。%6$s", + ACTION_SWING_MISSED_RESIST_POSSESSIVE = "1", + ACTION_UNIT_BECCOMES_UNCONSCIOUS = "倒下", + ACTION_UNIT_BECOMES_UNCONSCIOUS_FULL_TEXT = "%4$s倒下了。", + ACTION_UNIT_BECOMES_UNCONSCIOUS_POSSESSIVE = "0", + ACTION_UNIT_DESTROYED = "摧毁", + ACTION_UNIT_DESTROYED_FULL_TEXT = "%4$s被摧毁了。", + ACTION_UNIT_DESTROYED_POSSESSIVE = "0", + ACTION_UNIT_DIED = "死亡", + ACTION_UNIT_DIED_FULL_TEXT = "%4$s死亡了。", + ACTION_UNIT_DIED_POSSESSIVE = "0", + ACTION_UNIT_DISSIPATES = "消散", + ACTION_UNIT_DISSIPATES_FULL_TEXT = "%4$s消散了。", + ACTION_UNIT_DISSIPATES_POSSESSIVE = "0", + ADD = "添加", + ADDITIONAL_FILTERS = "更多过滤条件", + BLIZZARD_COMBAT_LOG_MENU_BOTH = "显示所有与%s有关的信息?", + BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "全部显示", + BLIZZARD_COMBAT_LOG_MENU_INCOMING = "%s发生了什么事情?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING = "%s做了些什么?", + BLIZZARD_COMBAT_LOG_MENU_OUTGOING_ME = "%s对你做了什么?", + BLIZZARD_COMBAT_LOG_MENU_RESET = "重置", + BLIZZARD_COMBAT_LOG_MENU_SAVE = "保存为新的过滤条件", + BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE = "隐藏与这一条类似的信息。", + BLIZZARD_COMBAT_LOG_MENU_SPELL_LINK = "将%s链接到聊天频道中。", + COMBATLOG_UNKNOWN_UNIT = "某目标", + COMBAT_FACTION_CHANGE = "声望", + COMBAT_HONOR_GAIN = "荣誉", + COMBAT_LOG_UNIT_YOU_ENABLED = "1", + COMBAT_MISC_INFO = "其它信息", + COMBAT_XP_GAIN = "经验", + DAMAGE_SHIELD = "伤害护盾", + DEFAULT_COMBATLOG_FILTER_NAME = "过滤条件%d", + ENTER_FILTER_NAME = "输入过滤名称:", + ENVIRONMENTAL_DAMAGE = "环境伤害", + QUICKBUTTON_NAME_ME = "我发生了什么?", + QUICKBUTTON_NAME_ME_TOOLTIP = "显示我所接收的所有行为信息。", + QUICKBUTTON_NAME_MY_ACTIONS = "我的动作", + QUICKBUTTON_NAME_MY_ACTIONS_TOOLTIP = "显示你所进行的动作的信息。", + STRING_SCHOOL_UNKNOWN = "未知", + 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", + TEXT_MODE_A_STRING_3 = "%1$s%5$s%3$s%4$s%2$s。%6$s", + TEXT_MODE_A_STRING_ACTION = "|Haction:%s|h%s|h", + TEXT_MODE_A_STRING_BRACE_ITEM = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_SPELL = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_BRACE_UNIT = "|c%s[|r%s|c%s]|r", + TEXT_MODE_A_STRING_DEST_ICON = "|Hicon:%d:dest|h%s|h", + TEXT_MODE_A_STRING_DEST_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_ITEM = "|Hitem:%s|h%s|h", + TEXT_MODE_A_STRING_POSSESSIVE = "%s的", + TEXT_MODE_A_STRING_REMAINING_POINTS = "(剩余%s)", + TEXT_MODE_A_STRING_RESULT_ABSORB = "(%s 吸收)", + TEXT_MODE_A_STRING_RESULT_BLOCK = "(%s 格挡)", + TEXT_MODE_A_STRING_RESULT_CRITICAL = "(爆击)", + TEXT_MODE_A_STRING_RESULT_CRITICAL_SPELL = "(爆击)", + TEXT_MODE_A_STRING_RESULT_CRUSHING = "(碾压)", + TEXT_MODE_A_STRING_RESULT_FORMAT = "$resultAmount点$resultType", + TEXT_MODE_A_STRING_RESULT_GLANCING = "(偏斜)", + TEXT_MODE_A_STRING_RESULT_MULTISTRIKE = "(溅射)", + TEXT_MODE_A_STRING_RESULT_OVERENERGIZE = "(%s 过量充能)", + TEXT_MODE_A_STRING_RESULT_OVERHEALING = "(%s 过量治疗)", + TEXT_MODE_A_STRING_RESULT_OVERKILLING = "(%s 过量伤害)", + TEXT_MODE_A_STRING_RESULT_PARRY = "(%d招架)", + TEXT_MODE_A_STRING_RESULT_REFLECT = "被反射", + TEXT_MODE_A_STRING_RESULT_RESIST = "(%s 抵抗)", + TEXT_MODE_A_STRING_RESULT_VULNERABILITY = "(%s 易伤伤害)", + TEXT_MODE_A_STRING_SOURCE_ICON = "|Hicon:%s:source|h%s|h", + TEXT_MODE_A_STRING_SOURCE_UNIT = "%s|Hunit:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_SPELL_EXTRA = "|Hspell:%s:%s:%s|h%s|h", + TEXT_MODE_A_STRING_TIMESTAMP = "%s> %s", + TEXT_MODE_A_STRING_VALUE_SCHOOL = "%s %s", + TEXT_MODE_A_STRING_VALUE_TYPE = "%s(%s)", + TEXT_MODE_A_TIMESTAMP = "%H:%M:%S", + UNIT_YOU = "你", + UNIT_YOU_DEST = "你", + UNIT_YOU_DEST_POSSESSIVE = "你的", + UNIT_YOU_SOURCE = "你", + UNIT_YOU_SOURCE_POSSESSIVE = "你的", +} diff --git a/init/env.xml b/init/env.xml index b8516679..40d53180 100644 --- a/init/env.xml +++ b/init/env.xml @@ -7,6 +7,14 @@ + + + + + + + + diff --git a/init/modules.xml b/init/modules.xml index 8189e378..fd982fd2 100644 --- a/init/modules.xml +++ b/init/modules.xml @@ -7,6 +7,7 @@ + diff --git a/modules/chat.lua b/modules/chat.lua index b3d6857f..450cccac 100644 --- a/modules/chat.lua +++ b/modules/chat.lua @@ -376,7 +376,8 @@ pfUI:RegisterModule("chat", function () CreateBackdrop(LanguageMenu) CreateBackdrop(VoiceMacroMenu) - local combatlogpanel = (CombatLogQuickButtonFrame_Custom and CombatLogQuickButtonFrame_Custom:GetHeight() or 0) + -- the combatlog module's quick button bar sits above the docked log + local combatlogpanel = (ChatFrame2.CombatLogQuickButtonFrame and ChatFrame2.CombatLogQuickButtonFrame:GetHeight() or 0) for i=1, NUM_CHAT_WINDOWS do local frame = _G["ChatFrame"..i] @@ -389,7 +390,7 @@ pfUI:RegisterModule("chat", function () end end - if combat > 5 then + if frame.CombatLogQuickButtonFrame or combat > 5 then frame.pfCombatLog = true else frame.pfCombatLog = nil diff --git a/modules/combatlog.lua b/modules/combatlog.lua new file mode 100644 index 00000000..50e19184 --- /dev/null +++ b/modules/combatlog.lua @@ -0,0 +1,2695 @@ +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. + + -- Classic's combat log GlobalStrings that the 1.12 client lacks + for name, text in pairs(L["combatlog"]) do + _G[name] = text + end + + local COMBATLOG = ChatFrame2 + + local bit_bor = bit.bor + local bit_band = bit.band + local tinsert = tinsert + local math_floor = math.floor + local format = format + local gsub = gsub + local strsub = strsub + + local CombatLog_Object_IsA = CombatLog_Object_IsA + local COMBATLOG_OBJECT_NONE = COMBATLOG_OBJECT_NONE + local COMBATLOG_OBJECT_RAIDTARGET_MASK = COMBATLOG_OBJECT_RAIDTARGET_MASK + local COMBATLOG_OBJECT_RAIDTARGET1 = COMBATLOG_OBJECT_RAIDTARGET1 + local COMBATLOG_OBJECT_RAIDTARGET2 = COMBATLOG_OBJECT_RAIDTARGET2 + local COMBATLOG_OBJECT_RAIDTARGET3 = COMBATLOG_OBJECT_RAIDTARGET3 + local COMBATLOG_OBJECT_RAIDTARGET4 = COMBATLOG_OBJECT_RAIDTARGET4 + local COMBATLOG_OBJECT_RAIDTARGET5 = COMBATLOG_OBJECT_RAIDTARGET5 + local COMBATLOG_OBJECT_RAIDTARGET6 = COMBATLOG_OBJECT_RAIDTARGET6 + local COMBATLOG_OBJECT_RAIDTARGET7 = COMBATLOG_OBJECT_RAIDTARGET7 + local COMBATLOG_OBJECT_RAIDTARGET8 = COMBATLOG_OBJECT_RAIDTARGET8 + local COMBATLOG_FILTER_MINE = COMBATLOG_FILTER_MINE + local COMBATLOG_FILTER_MY_PET = COMBATLOG_FILTER_MY_PET + local COMBATLOG_FILTER_FRIENDLY_UNITS = COMBATLOG_FILTER_FRIENDLY_UNITS + local COMBATLOG_FILTER_HOSTILE_UNITS = COMBATLOG_FILTER_HOSTILE_UNITS + local COMBATLOG_FILTER_HOSTILE_PLAYERS = COMBATLOG_FILTER_HOSTILE_PLAYERS + local COMBATLOG_FILTER_NEUTRAL_UNITS = COMBATLOG_FILTER_NEUTRAL_UNITS + local COMBATLOG_FILTER_UNKNOWN_UNITS = COMBATLOG_FILTER_UNKNOWN_UNITS + + -- spell school bits (Constants.lua on later clients) + local SCHOOL_MASK_NONE = 0 + local SCHOOL_MASK_PHYSICAL = 1 + local SCHOOL_MASK_HOLY = 2 + local SCHOOL_MASK_FIRE = 4 + local SCHOOL_MASK_NATURE = 8 + local SCHOOL_MASK_FROST = 16 + local SCHOOL_MASK_SHADOW = 32 + local SCHOOL_MASK_ARCANE = 64 + + -- ChatConfigFrame's cap on saved filters + local MAX_COMBATLOG_FILTERS = 20 + + -- assigned further down, called by functions defined before them + local Blizzard_CombatLog_Filters, Blizzard_CombatLog_CurrentSettings + local CombatLogQuickButtonFrame, CombatLogQuickButtonFrameProgressBar + local Blizzard_CombatLog_GenerateFullEventList, Blizzard_CombatLog_GenerateFullFlagList + local Blizzard_CombatLog_ApplyFilters, Blizzard_CombatLog_Refilter, Blizzard_CombatLog_RefilterUpdate + 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 Blizzard_CombatLog_Update_QuickButtons, Blizzard_CombatLog_QuickButton_OnClick, ShowQuickButton + + -- runs the refilter a step per frame, and takes COMBAT_LOG_EVENT + local CombatLogUpdateFrame = CreateFrame("Frame") + + -- ChatEdit_InsertLink for 1.12's single chat edit box + local function InsertLink(text) + if text and ChatFrameEditBox:IsVisible() then + ChatFrameEditBox:Insert(text) + return true + end + end + + local function CanCreateFilters() + return #Blizzard_CombatLog_Filters.filters < MAX_COMBATLOG_FILTERS + end + + -- BUFF / DEBUFF + local AURA_TYPE_BUFF = "BUFF"; + local AURA_TYPE_DEBUFF = "DEBUFF" + + -- Message Limit + local COMBATLOG_LIMIT_PER_FRAME = 1; + local COMBATLOG_HIGHLIGHT_MULTIPLIER = 1.5; + + -- Default Colors + local COMBATLOG_DEFAULT_COLORS = { + -- Unit names + unitColoring = { + [COMBATLOG_FILTER_MINE] = {a=1.0,r=0.70,g=0.70,b=0.70}; --{a=1.0,r=0.14,g=1.00,b=0.15}; + [COMBATLOG_FILTER_MY_PET] = {a=1.0,r=0.70,g=0.70,b=0.70}; --{a=1.0,r=0.14,g=0.80,b=0.15}; + [COMBATLOG_FILTER_FRIENDLY_UNITS] = {a=1.0,r=0.34,g=0.64,b=1.00}; + [COMBATLOG_FILTER_HOSTILE_UNITS] = {a=1.0,r=0.75,g=0.05,b=0.05}; + [COMBATLOG_FILTER_HOSTILE_PLAYERS] = {a=1.0,r=0.75,g=0.05,b=0.05}; + [COMBATLOG_FILTER_NEUTRAL_UNITS] = {a=1.0,r=0.75,g=0.05,b=0.05}; -- {a=1.0,r=0.80,g=0.80,b=0.14}; + [COMBATLOG_FILTER_UNKNOWN_UNITS] = {a=1.0,r=0.75,g=0.75,b=0.75}; + }; + -- School coloring + schoolColoring = { + [SCHOOL_MASK_NONE] = {a=1.0,r=1.00,g=1.00,b=1.00}; + [SCHOOL_MASK_PHYSICAL] = {a=1.0,r=1.00,g=1.00,b=0.00}; + [SCHOOL_MASK_HOLY] = {a=1.0,r=1.00,g=0.90,b=0.50}; + [SCHOOL_MASK_FIRE] = {a=1.0,r=1.00,g=0.50,b=0.00}; + [SCHOOL_MASK_NATURE] = {a=1.0,r=0.30,g=1.00,b=0.30}; + [SCHOOL_MASK_FROST] = {a=1.0,r=0.50,g=1.00,b=1.00}; + [SCHOOL_MASK_SHADOW] = {a=1.0,r=0.50,g=0.50,b=1.00}; + [SCHOOL_MASK_ARCANE] = {a=1.0,r=1.00,g=0.50,b=1.00}; + }; + -- Defaults + defaults = { + spell = {a=1.0,r=1.00,g=1.00,b=1.00}; + damage = {a=1.0,r=1.00,g=1.00,b=0.00}; + }; + -- Line coloring + eventColoring = { + }; + + -- Highlighted events + highlightedEvents = { + ["PARTY_KILL"] = true; + }; + }; + local COMBATLOG_DEFAULT_SETTINGS = { + -- Settings + fullText = true; + textMode = TEXT_MODE_A; + timestamp = false; + timestampFormat = TEXT_MODE_A_TIMESTAMP; + unitColoring = false; + sourceColoring = true; + destColoring = true; + lineColoring = true; + lineHighlighting = true; + abilityColoring = false; + abilityActorColoring = false; + abilitySchoolColoring = false; + abilityHighlighting = true; + actionColoring = false; + actionActorColoring = false; + actionHighlighting = false; + amountColoring = false; + amountActorColoring = false; + amountSchoolColoring = false; + amountHighlighting = true; + schoolNameColoring = false; + schoolNameActorColoring = false; + schoolNameHighlighting = true; + noMeleeSwingColoring = false; + missColoring = true; + braces = false; + unitBraces = true; + sourceBraces = true; + destBraces = true; + spellBraces = false; + itemBraces = true; + showHistory = true; + lineColorPriority = 1; -- 1 = source->dest->event, 2 = dest->source->event, 3 = event->source->dest + unitIcons = true; + hideBuffs = false; + hideDebuffs = false; + --unitTokens = true; + }; + + -- + -- Combat Log Icons + -- + local COMBATLOG_ICON_RAIDTARGET1 = "|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_1.blp:0|t"; + local COMBATLOG_ICON_RAIDTARGET2 = "|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_2.blp:0|t"; + local COMBATLOG_ICON_RAIDTARGET3 = "|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_3.blp:0|t"; + local COMBATLOG_ICON_RAIDTARGET4 = "|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_4.blp:0|t"; + local COMBATLOG_ICON_RAIDTARGET5 = "|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_5.blp:0|t"; + local COMBATLOG_ICON_RAIDTARGET6 = "|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_6.blp:0|t"; + local COMBATLOG_ICON_RAIDTARGET7 = "|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_7.blp:0|t"; + local COMBATLOG_ICON_RAIDTARGET8 = "|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_8.blp:0|t"; + + -- + -- Default Event List + -- + local COMBATLOG_EVENT_LIST = { + ["ENVIRONMENTAL_DAMAGE"] = true, + ["SWING_DAMAGE"] = true, + ["SWING_MISSED"] = true, + ["RANGE_DAMAGE"] = true, + ["RANGE_MISSED"] = true, + ["SPELL_CAST_START"] = false, + ["SPELL_CAST_SUCCESS"] = false, + ["SPELL_CAST_FAILED"] = false, + ["SPELL_MISSED"] = true, + ["SPELL_DAMAGE"] = true, + ["SPELL_HEAL"] = true, + ["SPELL_ENERGIZE"] = true, + ["SPELL_DRAIN"] = true, + ["SPELL_LEECH"] = true, + ["SPELL_SUMMON"] = true, + ["SPELL_RESURRECT"] = true, + ["SPELL_CREATE"] = true, + ["SPELL_INSTAKILL"] = true, + ["SPELL_INTERRUPT"] = true, + ["SPELL_EXTRA_ATTACKS"] = true, + ["SPELL_DURABILITY_DAMAGE"] = true, + ["SPELL_DURABILITY_DAMAGE_ALL"] = true, + ["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"] = 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"] = true, + ["SPELL_PERIODIC_LEECH"] = true, + ["SPELL_DISPEL_FAILED"] = true, + ["DAMAGE_SHIELD"] = false, + ["DAMAGE_SHIELD_MISSED"] = false, + ["DAMAGE_SPLIT"] = false, + ["PARTY_KILL"] = true, + ["UNIT_DIED"] = true, + ["UNIT_DESTROYED"] = true, + ["SPELL_BUILDING_DAMAGE"] = true, + ["SPELL_BUILDING_HEAL"] = true, + ["UNIT_DISSIPATES"] = true, + ["UNIT_LOYALTY"] = true, + }; + + local COMBATLOG_FLAG_LIST = { + [COMBATLOG_FILTER_MINE] = true, + [COMBATLOG_FILTER_MY_PET] = true, + [COMBATLOG_FILTER_FRIENDLY_UNITS] = true, + [COMBATLOG_FILTER_HOSTILE_UNITS] = true, + [COMBATLOG_FILTER_HOSTILE_PLAYERS] = true, + [COMBATLOG_FILTER_NEUTRAL_UNITS] = true, + [COMBATLOG_FILTER_UNKNOWN_UNITS] = true, + }; + + local EVENT_TEMPLATE_FORMATS = { + ["SPELL_AURA_BROKEN_SPELL"] = TEXT_MODE_A_STRING_3, + ["SPELL_CAST_START"] = TEXT_MODE_A_STRING_2, + ["SPELL_CAST_SUCCESS"] = TEXT_MODE_A_STRING_2 + }; + + -- + -- Generates a new event list from the COMBATLOG_EVENT_LIST global + -- + -- I wish there was a better way built in to do this. + -- + -- Returns: + -- An array, indexed by the events, with a value of true + -- + function Blizzard_CombatLog_GenerateFullEventList ( ) + local eventList = {} + for event, v in pairs ( COMBATLOG_EVENT_LIST ) do + eventList[event] = true; + end + return eventList; + end + + function Blizzard_CombatLog_GenerateFullFlagList(flag) + local flagList = {}; + for k, v in pairs(COMBATLOG_FLAG_LIST) do + flagList[k] = flag; + end + return flagList; + end + + -- + -- Persistant Variables + -- + -- + -- Default Filters + -- + local Blizzard_CombatLog_Filter_Defaults = { + -- All of the filters + filters = { + [1] = { + -- Descriptive Information + name = QUICKBUTTON_NAME_MY_ACTIONS; + hasQuickButton = true; + quickButtonName = QUICKBUTTON_NAME_MY_ACTIONS; + quickButtonDisplay = { + solo = true; + party = true; + raid = true; + }; + tooltip = QUICKBUTTON_NAME_MY_ACTIONS_TOOLTIP; + + -- Default Color and Formatting Options + settings = CopyTable(COMBATLOG_DEFAULT_SETTINGS); + + -- Coloring + colors = CopyTable(COMBATLOG_DEFAULT_COLORS); + + -- The actual client filters + filters = { + [1] = { + eventList = { + ["ENVIRONMENTAL_DAMAGE"] = false, + ["SWING_DAMAGE"] = true, + ["SWING_MISSED"] = false, + ["RANGE_DAMAGE"] = true, + ["RANGE_MISSED"] = false, + --["SPELL_CAST_START"] = true, + --["SPELL_CAST_SUCCESS"] = true, + --["SPELL_CAST_FAILED"] = true, + ["SPELL_MISSED"] = false, + ["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_PERIODIC_DAMAGE"] = true, + ["SPELL_PERIODIC_HEAL"] = true, + ["SPELL_PERIODIC_ENERGIZE"] = true, + ["SPELL_PERIODIC_DRAIN"] = false, + ["SPELL_PERIODIC_LEECH"] = false, + ["SPELL_DISPEL_FAILED"] = false, + --["DAMAGE_SHIELD"] = true, + --["DAMAGE_SHIELD_MISSED"] = true, + ["DAMAGE_SPLIT"] = true, + ["PARTY_KILL"] = true, + ["UNIT_DIED"] = false, + ["UNIT_DESTROYED"] = true, + ["UNIT_DISSIPATES"] = true, + ["UNIT_LOYALTY"] = false + }; + sourceFlags = { + [COMBATLOG_FILTER_MINE] = true + }; + destFlags = nil; + }; + [2] = { + eventList = { + --["ENVIRONMENTAL_DAMAGE"] = true, + ["SWING_DAMAGE"] = true, + ["SWING_MISSED"] = true, + ["RANGE_DAMAGE"] = true, + ["RANGE_MISSED"] = true, + --["SPELL_CAST_START"] = true, + --["SPELL_CAST_SUCCESS"] = true, + --["SPELL_CAST_FAILED"] = true, + ["SPELL_MISSED"] = true, + ["SPELL_DAMAGE"] = true, + ["SPELL_HEAL"] = true, + ["SPELL_ENERGIZE"] = true, + ["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_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"] = true, + --["SPELL_PERIODIC_LEECH"] = true, + ["SPELL_DISPEL_FAILED"] = true, + --["DAMAGE_SHIELD"] = true, + --["DAMAGE_SHIELD_MISSED"] = true, + ["DAMAGE_SPLIT"] = true, + ["PARTY_KILL"] = true, + ["UNIT_DIED"] = true, + ["UNIT_DESTROYED"] = true, + ["UNIT_DISSIPATES"] = true, + ["UNIT_LOYALTY"] = false + }; + sourceFlags = nil; + destFlags = { + [COMBATLOG_FILTER_MINE] = false, + [COMBATLOG_FILTER_MY_PET] = false; + }; + }; + }; + }; + [2] = { + -- Descriptive Information + name = QUICKBUTTON_NAME_ME; + hasQuickButton = true; + quickButtonName = QUICKBUTTON_NAME_ME; + quickButtonDisplay = { + solo = true; + party = true; + raid = true; + }; + tooltip = QUICKBUTTON_NAME_ME_TOOLTIP; + + -- Settings + settings = CopyTable(COMBATLOG_DEFAULT_SETTINGS); + + -- Coloring + colors = CopyTable(COMBATLOG_DEFAULT_COLORS); + + -- 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 + }; + sourceFlags = Blizzard_CombatLog_GenerateFullFlagList(false); + destFlags = nil; + }; + [2] = { + eventList = Blizzard_CombatLog_GenerateFullEventList(); + sourceFlags = nil; + destFlags = { + [COMBATLOG_FILTER_MINE] = true, + [COMBATLOG_FILTER_MY_PET] = false; + }; + }; + }; + }; + }; + + -- Current Filter + currentFilter = 1; + }; + + -- Combat Log Filter Resetting Code + -- + -- args: + -- config - the configuration array we are about to apply + -- + function Blizzard_CombatLog_ApplyFilters(config) + if ( not config ) then + return; + end + CombatLogResetFilter() + + -- Loop over all associated filters + local eventList; + for k,v in pairs(config.filters) do + local eList + -- Only use the first filter's eventList because for some reason each filter that the player can see actually + -- has two filters, one for source flags and one for dest flags (??), even though only the eventList for the source + -- flags is updated properly + eventList = config.filters[1].eventList; + if ( eventList ) then + for k2,v2 in pairs(eventList) do + if ( v2 == true ) then + -- The true comparison is because check boxes whose parent is unchecked will be non-false but not "true" + eList = eList and (eList .. "," .. k2) or k2 + end + end + end + + local sourceFlags, destFlags; + if ( v.sourceFlags ) then + sourceFlags = 0; + for k2, v2 in pairs(v.sourceFlags) do + -- Support for GUIDs + if ( type (k2) == "string" ) then + sourceFlags = k2; + break; + end + -- Otherwise OR bits + if ( v2 ) then + sourceFlags = bit_bor(sourceFlags, k2); + end + end + end + if ( v.destFlags ) then + destFlags = 0; + for k2, v2 in pairs(v.destFlags) do + -- Support for GUIDs + if ( type (k2) == "string" ) then + destFlags = k2; + break; + end + -- Otherwise OR bits + if ( v2 ) then + destFlags = bit_bor(destFlags, k2); + end + end + end + if ( type(sourceFlags) == "string" and destFlags == 0 ) then + destFlags = nil; + end + if ( type(destFlags) == "string" and sourceFlags == 0 ) then + sourceFlags = nil; + end + + -- This is a HACK!!! Need filters to be able to accept empty or zero sourceFlags or destFlags + if ( sourceFlags == 0 or destFlags == 0 ) then + CombatLogAddFilter("", COMBATLOG_FILTER_MINE, nil); + else + CombatLogAddFilter(eList, sourceFlags, destFlags); + end + end + end + + -- + -- Combat Log Repopulation Code + -- + + -- Message Limit + + local COMBATLOG_MESSAGE_LIMIT = 300; + + -- + -- Repopulate the combat log with message history + -- + function Blizzard_CombatLog_Refilter() + local count = CombatLogGetNumEntries(); + + COMBATLOG:SetMaxLines(COMBATLOG_MESSAGE_LIMIT); + + -- count should be between 1 and COMBATLOG_MESSAGE_LIMIT + count = max(1, min(count, COMBATLOG_MESSAGE_LIMIT)); + + CombatLogSetCurrentEntry(0); + + -- Clear the combat log + COMBATLOG:Clear(); + + -- Moved setting the max value here, since we don't really need to reset the max every frame, do we? + -- We can't add events while refiltering (:AddFilter short circuits) so this should be safe optimization. + CombatLogQuickButtonFrameProgressBar:SetMinMaxValues(0, count); + CombatLogQuickButtonFrameProgressBar:SetValue(0); + CombatLogQuickButtonFrameProgressBar:Show(); + + -- Enable the distributed frame + CombatLogUpdateFrame.refiltering = true; + CombatLogUpdateFrame:SetScript("OnUpdate", Blizzard_CombatLog_RefilterUpdate) + + Blizzard_CombatLog_RefilterUpdate() + end + + -- + -- This is a single frame "step" in the refiltering process + -- + function Blizzard_CombatLog_RefilterUpdate() + local valid = CombatLogGetCurrentEntry(); -- CombatLogAdvanceEntry(0); + + -- Clear the combat log + local total = 0; + while (valid and total < COMBATLOG_LIMIT_PER_FRAME) do + -- Log to the window + local text, r, g, b, a = CombatLog_OnEvent(Blizzard_CombatLog_CurrentSettings, CombatLogGetCurrentEntry()); + -- NOTE: be sure to pass in nil for the color id or the color id may override the r, g, b values for this message + if ( text ) then + COMBATLOG:BackFillMessage(text, r, g, b); + end + + -- count can be + -- positive to advance from oldest to newest + -- negative to advance from newest to oldest + valid = CombatLogAdvanceEntry(-1) + total = total + 1; + end + + -- Show filtering progress bar + CombatLogQuickButtonFrameProgressBar:SetValue(CombatLogQuickButtonFrameProgressBar:GetValue() + total); + + if ( not valid or (CombatLogQuickButtonFrameProgressBar:GetValue() >= COMBATLOG_MESSAGE_LIMIT) ) then + CombatLogUpdateFrame.refiltering = false + CombatLogUpdateFrame:SetScript("OnUpdate", nil) + CombatLogQuickButtonFrameProgressBar:Hide(); + end + end + + -- + -- Creates the action menu popup + -- + do + local eventType + local actionMenu = { + [1] = { + text = "string.format(BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE, eventType)", + func = function () Blizzard_CombatLog_SpellMenuClick ("HIDE", nil, nil, eventType); end; + }, + }; + function Blizzard_CombatLog_CreateActionMenu(eventType_arg) + -- Update upvalues + eventType = eventType_arg + actionMenu[1].text = string.format(BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE, eventType_arg); + return actionMenu + end + end + + -- + -- Creates the spell menu popup + -- + do + local spellName, spellId, eventType + local spellMenu = { + [1] = { + text = "string.format(BLIZZARD_COMBAT_LOG_MENU_SPELL_LINK, spellName)", + func = function () Blizzard_CombatLog_SpellMenuClick ("LINK", spellName, spellId, eventType); end; + }, + }; + local spellMenu2 = { + [2] = { + text = "string.format(BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE, eventType)", + func = function () Blizzard_CombatLog_SpellMenuClick ("HIDE", spellName, spellId, eventType); end; + }, + }; + function Blizzard_CombatLog_CreateSpellMenu(spellName_arg, spellId_arg, eventType_arg) + -- Update upvalues + spellName, spellId, eventType = spellName_arg, spellId_arg, eventType_arg; + -- Update menu text and filters + spellMenu[1].text = string.format(BLIZZARD_COMBAT_LOG_MENU_SPELL_LINK, spellName); + if ( eventType ) then + spellMenu2[2].text = string.format(BLIZZARD_COMBAT_LOG_MENU_SPELL_HIDE, eventType); + -- Copy the table references over + spellMenu[2] = spellMenu2[2]; + else + -- Remove the table reference, it is still stored in its closure + spellMenu[2] = nil; + end + return spellMenu; + end + end + + -- + -- Temporary Menu + -- + do + function Blizzard_CombatLog_CreateUnitMenu(unitName, unitGUID, special) + local displayName = unitName; + if ( (unitGUID == UnitGUID("player")) and (_G["COMBAT_LOG_UNIT_YOU_ENABLED"] == "1") ) then + displayName = UNIT_YOU; + end + local unitMenu = { + [1] = { + text = string.format(BLIZZARD_COMBAT_LOG_MENU_BOTH, displayName); -- Dummy text + func = function () Blizzard_CombatLog_UnitMenuClick ("BOTH", unitName, unitGUID, special); end; + }, + [2] = { + text = string.format(BLIZZARD_COMBAT_LOG_MENU_INCOMING, displayName); + func = function () Blizzard_CombatLog_UnitMenuClick ("INCOMING", unitName, unitGUID, special); end; + }, + [3] = { + text = string.format(BLIZZARD_COMBAT_LOG_MENU_OUTGOING, displayName); + func = function () Blizzard_CombatLog_UnitMenuClick ("OUTGOING", unitName, unitGUID, special); end; + }, + [4] = { + divider = true; + }, + [5] = { + text = BLIZZARD_COMBAT_LOG_MENU_EVERYTHING; + func = function () Blizzard_CombatLog_UnitMenuClick ("EVERYTHING", unitName, unitGUID, special); end; + }, + [6] = { + text = BLIZZARD_COMBAT_LOG_MENU_SAVE; + func = function () Blizzard_CombatLog_UnitMenuClick ("SAVE", unitName, unitGUID, special); end; + disabled = not CanCreateFilters(); + }, + [7] = { + text = BLIZZARD_COMBAT_LOG_MENU_RESET; + func = function () Blizzard_CombatLog_UnitMenuClick ("RESET", unitName, unitGUID, special); end; + }, + }; + + if ( unitGUID ~= UnitGUID("player") ) then + table.insert(unitMenu, 4, { + text = string.format(BLIZZARD_COMBAT_LOG_MENU_OUTGOING_ME, displayName); + func = function () Blizzard_CombatLog_UnitMenuClick ("OUTGOING_ME", unitName, unitGUID, special); end; + } ); + end + return unitMenu + end + end + -- Create additional filter dropdown list + do + local menu = {}; + function Blizzard_CombatLog_CreateFilterMenu() + local count = 1; + for index, value in pairs(menu) do + if ( not value ) then + value = {}; + else + for k, v in pairs(value) do + value[k] = nil; + end + end + end + local selectedIndex = Blizzard_CombatLog_Filters.currentFilter; + local checked; + for index, value in ipairs(Blizzard_CombatLog_Filters.filters) do + if ( not value.onQuickBar ) then + if ( not menu[count] ) then + menu[count] = {}; + end + menu[count].text = value.name; + menu[count].func = function () Blizzard_CombatLog_QuickButton_OnClick(index); end; + if ( selectedIndex == index ) then + checked = 1; + else + checked = nil; + end + menu[count].checked = checked; + count = count+1; + end + end + return menu; + end + end + -- + -- Handle mini menu clicks + -- + -- args: + -- event - "EVERYTHING" | "RESET" | "INCOMING" | "OUTGOING" | "BOTH" + -- unitName - string for the units name + -- unitGUID - unique global unit ID for the specific unit + -- special - bit code for special filters, such as raid targets + -- + function Blizzard_CombatLog_UnitMenuClick(event, unitName, unitGUID, unitFlags) + if ( event == "SAVE" ) then + StaticPopup_Show("PFUI_COPY_COMBAT_FILTER", nil, nil, Blizzard_CombatLog_CurrentSettings); + return; + elseif ( event == "RESET" ) then + Blizzard_CombatLog_CurrentSettings = Blizzard_CombatLog_Filters.filters[Blizzard_CombatLog_Filters.currentFilter]; + Blizzard_CombatLog_ApplyFilters(Blizzard_CombatLog_CurrentSettings); + Blizzard_CombatLog_Update_QuickButtons() + else + -- Copy the current settings + local previousSettings = Blizzard_CombatLog_CurrentSettings; + Blizzard_CombatLog_CurrentSettings = {}; + + for k,v in pairs( previousSettings ) do + Blizzard_CombatLog_CurrentSettings[k] = v; + end + + -- Erase the filter criteria + Blizzard_CombatLog_CurrentSettings.filters = {}; -- We want to be careful not to destroy the active data, so the user can reset + + if ( event == "EVERYTHING" ) then + -- Reset all filtering. + CombatLogResetFilter() + --Blizzard_CombatLog_CurrentSettings = Blizzard_CombatLog_Filters.contextMenu[event]; + CombatLogAddFilter(nil, nil, nil) + tinsert ( Blizzard_CombatLog_CurrentSettings.filters, {} ); + end + if ( event == "INCOMING" or event == "BOTH" ) then + if ( unitFlags ) then + tinsert ( Blizzard_CombatLog_CurrentSettings.filters, { destFlags = { [unitFlags] = true; } } ); + else + tinsert ( Blizzard_CombatLog_CurrentSettings.filters, { destFlags = { [unitGUID] = true; } } ); + end + end + if ( event == "OUTGOING" or event == "BOTH" ) then + if ( unitFlags ) then + tinsert ( Blizzard_CombatLog_CurrentSettings.filters, { sourceFlags = { [unitFlags] = true; } } ); + else + tinsert ( Blizzard_CombatLog_CurrentSettings.filters, { sourceFlags = { [unitGUID] = true; } } ); + end + end + if ( event == "OUTGOING_ME" ) then + if ( unitFlags ) then + tinsert ( Blizzard_CombatLog_CurrentSettings.filters, { sourceFlags = { [unitFlags] = true; }; destFlags = { [COMBATLOG_FILTER_MINE] = true; } } ); + else + tinsert ( Blizzard_CombatLog_CurrentSettings.filters, { sourceFlags = { [unitGUID] = true; }; destFlags = { [COMBATLOG_FILTER_MINE] = true; } } ); + end + end + + -- If the context menu is not resetting, then we need to create an event list, + -- So that right click removal works when the user right clicks + -- + + -- Fill the event list + local fullEventList = Blizzard_CombatLog_GenerateFullEventList(); + + -- Insert to the active data + for k,v in pairs (Blizzard_CombatLog_CurrentSettings.filters) do + v.eventList = fullEventList; + end + + -- Apply the generated filters + Blizzard_CombatLog_ApplyFilters(Blizzard_CombatLog_CurrentSettings); + -- Let the system know that this filter is temporary and unhighlight any quick buttons + Blizzard_CombatLog_CurrentSettings.isTemp = true; + Blizzard_CombatLog_Update_QuickButtons() + end + + -- Reset the combat log text box! (Grats!) + Blizzard_CombatLog_Refilter(); + end + + -- + -- Handle spell mini menu clicks + -- args: + -- action - "HIDE" | "LINK" + -- spellName - Spell or ability's name + -- spellId - Spell or ability's id (100, 520, 30000, etc) + -- event - the event type that generated this message + -- + function Blizzard_CombatLog_SpellMenuClick(action, spellName, spellId, eventType) + if ( action == "HIDE" ) then + for k,v in pairs (Blizzard_CombatLog_CurrentSettings.filters) do + if ( type (v.eventList) ~= "table" ) then + v.eventList = Blizzard_CombatLog_GenerateFullEventList(); + end + v.eventList[eventType] = false; + end + elseif ( action == "LINK" ) then + if ( not InsertLink(GetSpellLink(spellId)) ) then + ChatFrame_OpenChat(GetSpellLink(spellId)); + end + return; + end + + -- Apply the newly reconstituted filters + Blizzard_CombatLog_ApplyFilters(Blizzard_CombatLog_CurrentSettings); + + -- Reset the combat log text box! (Grats!) + Blizzard_CombatLog_Refilter(); + end + + --[[ + -- Converts 4 floats into FF code + -- + --]] + local function CombatLog_Color_FloatToText(r,g,b,a) + if ( type(r) == "table" ) then + r, g, b, a = r.r, r.g, r.b, r.a; + end + a = min(1, a or 1) * 255 + r = min(1, r) * 255 + g = min(1, g) * 255 + b = min(1, b) * 255 + + -- local fmt = "%.2x"; + return format("%.2x%.2x%.2x%.2x", math_floor(a), math_floor(r), math_floor(g), math_floor(b)) + end + + -- + -- Gets the appropriate color for an event type + -- + + -- If this needs to return a new table per event (ie, the table gets modified), then just replace the "defaultColorArray" in the function with + -- a new table creation. + local defaultColorArray = {a=1.0,r=0.5,g=0.5,b=0.5} + local function CombatLog_Color_ColorArrayByEventType( event ) + return Blizzard_CombatLog_CurrentSettings.colors.eventColoring[event] or defaultColorArray + end + + -- + -- Gets the appropriate color for a unit type + -- + + local function CombatLog_Color_ColorArrayByUnitType(unitFlags, settings) + local array = nil; + if ( not settings ) then + settings = Blizzard_CombatLog_CurrentSettings; + end + for mask,colorArray in pairs( settings.colors.unitColoring ) do + if ( CombatLog_Object_IsA (unitFlags, mask) )then + array = colorArray; + break; + end + end + return array or defaultColorArray + end + + -- + -- Gets the appropriate color for a spell school + -- + local function CombatLog_Color_ColorArrayBySchool(school, settings) + if ( not settings ) then + settings = Blizzard_CombatLog_CurrentSettings; + end + if ( not school ) then + return settings.colors.schoolColoring.default; + end + + return settings.colors.schoolColoring[school] or settings.colors.defaults.spell; + end + + -- + -- Gets the appropriate color for a spell school + -- + + local highlightColorTable = {} + local function CombatLog_Color_HighlightColorArray(colorArray) + highlightColorTable.r = colorArray.r * COMBATLOG_HIGHLIGHT_MULTIPLIER; + highlightColorTable.g = colorArray.g * COMBATLOG_HIGHLIGHT_MULTIPLIER; + highlightColorTable.b = colorArray.b * COMBATLOG_HIGHLIGHT_MULTIPLIER; + highlightColorTable.a = colorArray.a; + + return highlightColorTable + end + + -- + -- Returns a string associated with a numeric power type + -- + + local powerTypeToStringLookup = + { + [Enum.PowerType.Mana] = MANA, + [Enum.PowerType.Rage] = RAGE, + [Enum.PowerType.Focus] = FOCUS, + [Enum.PowerType.Energy] = ENERGY, + [Enum.PowerType.Happiness] = HAPPINESS, + }; + + local function CombatLog_String_PowerType(powerType) + -- Previous behavior was specifically returning an empty string in this case + if ( not powerType ) then + return ""; + end + + -- Previous behavior was returning nil if powerType didn't match one of the explicitly checked types + return powerTypeToStringLookup[powerType]; + end + + local function CombatLog_String_SchoolString(school) + if ( not school or school == SCHOOL_MASK_NONE ) then + return STRING_SCHOOL_UNKNOWN; + end + + local schoolString = C_Spell.GetSchoolString(school); + return schoolString or STRING_SCHOOL_UNKNOWN + end + + local function CombatLog_String_DamageResultString( resisted, blocked, absorbed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overenergize ) + local resultStr; + -- Result String formatting + local useOverhealing = overhealing and overhealing > 0; + local useOverkill = overkill and overkill > 0; + local useOverEnergize = overenergize and overenergize > 0; + local useAbsorbed = absorbed and absorbed > 0; + if ( resisted or blocked or critical or glancing or crushing or useOverhealing or useOverkill or useAbsorbed or overenergize ) then + resultStr = nil; + + if ( resisted ) then + if ( resisted < 0 ) then --Its really a vulnerability + resultStr = format(TEXT_MODE_A_STRING_RESULT_VULNERABILITY, -resisted); + else + resultStr = format(TEXT_MODE_A_STRING_RESULT_RESIST, resisted); + end + end + if ( blocked ) then + if ( resultStr ) then + resultStr = resultStr.." "..format(TEXT_MODE_A_STRING_RESULT_BLOCK, blocked); + else + resultStr = format(TEXT_MODE_A_STRING_RESULT_BLOCK, blocked); + end + end + if ( useAbsorbed ) then + if ( resultStr ) then + resultStr = resultStr.." "..format(TEXT_MODE_A_STRING_RESULT_ABSORB, absorbed); + else + resultStr = format(TEXT_MODE_A_STRING_RESULT_ABSORB, absorbed); + end + end + if ( glancing ) then + if ( resultStr ) then + resultStr = resultStr.." "..TEXT_MODE_A_STRING_RESULT_GLANCING; + else + resultStr = TEXT_MODE_A_STRING_RESULT_GLANCING; + end + end + if ( crushing ) then + if ( resultStr ) then + resultStr = resultStr.." "..TEXT_MODE_A_STRING_RESULT_CRUSHING; + else + resultStr = TEXT_MODE_A_STRING_RESULT_CRUSHING; + end + end + if ( useOverhealing ) then + if ( resultStr ) then + resultStr = resultStr.." "..format(TEXT_MODE_A_STRING_RESULT_OVERHEALING, overhealing); + else + resultStr = format(TEXT_MODE_A_STRING_RESULT_OVERHEALING, overhealing); + end + end + if ( useOverkill ) then + if ( resultStr ) then + resultStr = resultStr.." "..format(TEXT_MODE_A_STRING_RESULT_OVERKILLING, overkill); + else + resultStr = format(TEXT_MODE_A_STRING_RESULT_OVERKILLING, overkill); + end + end + if ( useOverEnergize ) then + if ( resultStr ) then + resultStr = resultStr.." "..format(TEXT_MODE_A_STRING_RESULT_OVERENERGIZE, overenergize); + else + resultStr = format(TEXT_MODE_A_STRING_RESULT_OVERENERGIZE, overenergize); + end + end + if ( critical ) then + local critString = TEXT_MODE_A_STRING_RESULT_CRITICAL; + if ( spellId ) then + critString = TEXT_MODE_A_STRING_RESULT_CRITICAL_SPELL; + end + if ( resultStr ) then + resultStr = resultStr.." "..critString; + else + resultStr = critString; + end + end + end + + return resultStr; + end + + -- + -- Get the appropriate raid icon for a unit + -- + local function CombatLog_String_GetIcon ( unitFlags, direction ) + + -- Check for an appropriate icon for this unit + local raidTarget = bit_band(unitFlags, COMBATLOG_OBJECT_RAIDTARGET_MASK); + if ( raidTarget == 0 ) then + return ""; + end + + local iconString = ""; + local icon = nil; + local iconBit = 0; + + if ( raidTarget == COMBATLOG_OBJECT_RAIDTARGET1 ) then + icon = COMBATLOG_ICON_RAIDTARGET1; + iconBit = COMBATLOG_OBJECT_RAIDTARGET1; + elseif ( raidTarget == COMBATLOG_OBJECT_RAIDTARGET2 ) then + icon = COMBATLOG_ICON_RAIDTARGET2; + iconBit = COMBATLOG_OBJECT_RAIDTARGET2; + elseif ( raidTarget == COMBATLOG_OBJECT_RAIDTARGET3 ) then + icon = COMBATLOG_ICON_RAIDTARGET3; + iconBit = COMBATLOG_OBJECT_RAIDTARGET3; + elseif ( raidTarget == COMBATLOG_OBJECT_RAIDTARGET4 ) then + icon = COMBATLOG_ICON_RAIDTARGET4; + iconBit = COMBATLOG_OBJECT_RAIDTARGET4; + elseif ( raidTarget == COMBATLOG_OBJECT_RAIDTARGET5 ) then + icon = COMBATLOG_ICON_RAIDTARGET5; + iconBit = COMBATLOG_OBJECT_RAIDTARGET5; + elseif ( raidTarget == COMBATLOG_OBJECT_RAIDTARGET6 ) then + icon = COMBATLOG_ICON_RAIDTARGET6; + iconBit = COMBATLOG_OBJECT_RAIDTARGET6; + elseif ( raidTarget == COMBATLOG_OBJECT_RAIDTARGET7 ) then + icon = COMBATLOG_ICON_RAIDTARGET7; + iconBit = COMBATLOG_OBJECT_RAIDTARGET7; + elseif ( raidTarget == COMBATLOG_OBJECT_RAIDTARGET8 ) then + icon = COMBATLOG_ICON_RAIDTARGET8; + iconBit = COMBATLOG_OBJECT_RAIDTARGET8; + end + + -- Insert the Raid Icon if it exists + if ( icon ) then + -- + -- Insert a hyperlink for that icon + + if ( direction == "source" ) then + iconString = format(TEXT_MODE_A_STRING_SOURCE_ICON, iconBit, icon); + else + iconString = format(TEXT_MODE_A_STRING_DEST_ICON, iconBit, icon); + end + end + + return iconString; + end + + -- + -- Gets the appropriate color for a unit type + -- + -- + local function CombatLog_Color_ColorStringByUnitType(unitFlags) + local colorArray = CombatLog_Color_ColorArrayByUnitType(unitFlags); + + return CombatLog_Color_FloatToText(colorArray.r, colorArray.g, colorArray.b, colorArray.a ) + end + + --[[ + -- Handles events and dumps them to the specified frame. + --]] + + -- Add settings as an arg + + local defaultCombatLogLineColor = { a = 1.00, r = 1.00, g = 1.00, b = 1.00 }; + + function CombatLog_OnEvent(filterSettings, timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags, ...) + -- [environmentalDamageType] + -- [spellName, spellRank, spellSchool] + -- [damage, school, [resisted, blocked, absorbed, crit, glancing, crushing]] + + -- Upvalue this, we're gonna use it a lot + local settings = filterSettings.settings; + + local lineColor = defaultCombatLogLineColor; + local sourceColor, destColor = nil, nil; + + local braceColor = "FFFFFFFF"; + local abilityColor = "FFFFFF00"; + + -- Processing variables + local textMode = settings.textMode; + local timestampEnabled = settings.timestamp; + local hideBuffs = settings.hideBuffs; + local hideDebuffs = settings.hideDebuffs; + local sourceEnabled = true; + local falseSource = false; + local destEnabled = true; + local valueEnabled = true; + local valueTypeEnabled = true; + local resultEnabled = true; + local powerTypeEnabled = true; + local extraSpellEnabled = false; + local valueIsItem = false; + local withPoints = false; + local forceDestPossessive = false; + + -- Get the initial string + local schoolString; + local resultStr = nil; + + local formatString = TEXT_MODE_A_STRING_1; + if ( EVENT_TEMPLATE_FORMATS[event] ) then + formatString = EVENT_TEMPLATE_FORMATS[event]; + end + + -- Replacements to do: + -- * Src, Dest, Action, Spell, Amount, Result + + -- Spell standard order + local spellId, spellName, spellSchool = nil, nil, nil; + local extraSpellId, extraSpellName, extraSpellSchool = nil, nil, nil; + + -- For Melee/Ranged swings and enchants + local nameIsNotSpell; + local extraNameIsNotSpell = false; + + -- Damage standard order + local amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing, overhealing = nil, nil, nil, nil, nil, nil, nil, nil, nil, nil; + -- Miss argument order + local missType, isOffHand, amountMissed; + -- Aura arguments + local auraType; -- BUFF or DEBUFF + -- Energize Arguments + local overEnergize = nil; + + -- Enchant arguments + local itemId, itemName; + + -- Special Spell values + local valueType = 1; -- 1 = School, 2 = Power Type + local extraAmount; -- Used for Drains and Leeches + local powerType; -- Used for energizes, drains and leeches + local environmentalType; -- Used for environmental damage + local message; -- Used for server spell messages + local originalEvent = event; -- Used for spell links + local remainingPoints; --Used for absorbs with the correct flag set (like Power Word: Shield) + + --Extra data for PARTY_KILL, SPELL_INSTAKILL and UNIT_DIED + local unconsciousOnDeath = 0; + + -- Generic disabling stuff + if ( not sourceName or CombatLog_Object_IsA(sourceFlags, COMBATLOG_OBJECT_NONE) ) then + sourceEnabled = false; + end + if ( not destName or CombatLog_Object_IsA(destFlags, COMBATLOG_OBJECT_NONE) ) then + destEnabled = false; + end + + local subVal = strsub(event, 1, 5) + + -- Swings + if ( subVal == "SWING" ) then + spellName = ACTION_SWING; + nameIsNotSpell = true; + end + + -- Break out the arguments into variable + if ( event == "SWING_DAMAGE" ) then + -- Damage standard + amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing, isOffHand = ...; + + -- Parse the result string + resultStr = CombatLog_String_DamageResultString( resisted, blocked, absorbed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overEnergize ); + + if ( not resultStr ) then + resultEnabled = false; + end + + if ( overkill > 0 ) then + amount = amount - overkill; + end + + elseif ( event == "SWING_MISSED" ) then + spellName = ACTION_SWING; + + -- Miss type + missType, isOffHand, amountMissed = ...; + + -- Result String + if( missType == "RESIST" or missType == "BLOCK" or missType == "ABSORB" ) then + resultStr = format(_G["TEXT_MODE_A_STRING_RESULT_"..missType], amountMissed); + else + resultStr = _G["ACTION_SWING_MISSED_"..missType]; + end + + -- Miss Type + if ( settings.fullText and missType ) then + event = format("%s_%s", event, missType); + end + + -- Disable appropriate sections + nameIsNotSpell = true; + valueEnabled = false; + resultEnabled = true; + + elseif ( subVal == "SPELL" ) then -- Spell standard arguments + spellId, spellName, spellSchool = ...; + + if ( event == "SPELL_DAMAGE" or event == "SPELL_BUILDING_DAMAGE") then + -- Damage standard + amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing, isOffHand = select(4, ...); + + -- Parse the result string + resultStr = CombatLog_String_DamageResultString( resisted, blocked, absorbed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overEnergize ); + + if ( not resultStr ) then + resultEnabled = false + end + + if ( overkill > 0 ) then + amount = amount - overkill; + end + elseif ( event == "SPELL_MISSED" ) then + -- Miss type + missType, isOffHand, amountMissed = select(4, ...); + + resultEnabled = true; + -- Result String + if( missType == "RESIST" or missType == "BLOCK" or missType == "ABSORB" ) then + if ( amountMissed ~= 0 ) then + resultStr = format(_G["TEXT_MODE_A_STRING_RESULT_"..missType], amountMissed); + else + resultEnabled = false; + end + else + resultStr = _G["ACTION_SWING_MISSED_"..missType]; + end + + -- Miss Event + if ( missType ) then + event = format("%s_%s", event, missType); + end + + -- Disable appropriate sections + valueEnabled = false; + elseif ( event == "SPELL_HEAL" or event == "SPELL_BUILDING_HEAL") then + -- Did the heal crit? + amount, overhealing, absorbed, critical = select(4, ...); + + -- Parse the result string + resultStr = CombatLog_String_DamageResultString( resisted, blocked, absorbed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overEnergize ); + + if ( not resultStr ) then + resultEnabled = false + end + + -- Temporary Spell School Hack + school = spellSchool; + + -- Disable appropriate sections + valueEnabled = true; + valueTypeEnabled = true; + + amount = amount - overhealing; + elseif ( event == "SPELL_ENERGIZE" ) then + -- Set value type to be a power type + valueType = 2; + + -- Did the heal crit? + amount, powerType = select(4, ...); + + -- Parse the result string + resultStr = CombatLog_String_DamageResultString( resisted, blocked, absorbed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overEnergize ); + + if ( not resultStr ) then + resultEnabled = false + end + + -- Disable appropriate sections + valueEnabled = true; + valueTypeEnabled = true; + elseif ( strsub(event, 1, 14) == "SPELL_PERIODIC" ) then + + if ( event == "SPELL_PERIODIC_MISSED" ) then + -- Miss type + missType, isOffHand, amountMissed = select(4, ...); + + -- Result String + if ( missType == "ABSORB" ) then + resultStr = CombatLog_String_DamageResultString( resisted, blocked, amountMissed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overEnergize ); + else + resultStr = _G["ACTION_SPELL_PERIODIC_MISSED_"..missType]; + end + + -- Miss Event + if ( settings.fullText and missType ) then + event = format("%s_%s", event, missType); + end + + -- Disable appropriate sections + valueEnabled = false; + resultEnabled = true; + elseif ( event == "SPELL_PERIODIC_DAMAGE" ) then + -- Damage standard + amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing, isOffHand = select(4, ...); + + -- Parse the result string + resultStr = CombatLog_String_DamageResultString( resisted, blocked, absorbed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overEnergize ); + + -- Disable appropriate sections + if ( not resultStr ) then + resultEnabled = false + end + + if ( overkill > 0 ) then + amount = amount - overkill; + end + elseif ( event == "SPELL_PERIODIC_HEAL" ) then + -- Did the heal crit? + amount, overhealing, absorbed, critical = select(4, ...); + + -- Parse the result string + resultStr = CombatLog_String_DamageResultString( resisted, blocked, absorbed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overEnergize ); + + if ( not resultStr ) then + resultEnabled = false + end + + -- Temporary Spell School Hack + school = spellSchool; + + -- Disable appropriate sections + valueEnabled = true; + valueTypeEnabled = true; + + amount = amount - overhealing; + elseif ( event == "SPELL_PERIODIC_DRAIN" ) then + -- Special attacks + amount, powerType, extraAmount = select(4, ...); + + -- Set value type to be a power type + valueType = 2; + + -- Result String + --resultStr = _G[textModeString .. "RESULT"]; + --resultStr = gsub(resultStr,"$resultString", _G["ACTION_"..event.."_RESULT"]); + + -- Disable appropriate sections + if ( not resultStr ) then + resultEnabled = false + end + valueEnabled = true; + elseif ( event == "SPELL_PERIODIC_LEECH" ) then + -- Special attacks + amount, powerType, extraAmount = select(4, ...); + + -- Set value type to be a power type + valueType = 2; + + -- Result String + resultStr = format(_G["ACTION_SPELL_PERIODIC_LEECH_RESULT"], nil, nil, nil, nil, nil, nil, nil, CombatLog_String_PowerType(powerType), nil, extraAmount) --"($extraAmount $powerType Gained)" + + -- Disable appropriate sections + if ( not resultStr ) then + resultEnabled = false + end + valueEnabled = true; + elseif ( event == "SPELL_PERIODIC_ENERGIZE" ) then + -- Set value type to be a power type + valueType = 2; + + -- Did the heal crit? + amount, powerType = select(4, ...); + + -- Parse the result string + --resultStr = _G[textModeString .. "RESULT"]; + --resultStr = gsub(resultStr,"$resultString", _G["ACTION_"..event.."_RESULT"]); + resultStr = CombatLog_String_DamageResultString( resisted, blocked, absorbed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overEnergize ); + + if ( not resultStr ) then + resultEnabled = false + end + + -- Disable appropriate sections + valueEnabled = true; + valueTypeEnabled = true; + end + elseif ( event == "SPELL_CAST_START" ) then -- Spellcast + if ( not destName ) then + destEnabled = false; + end + if ( not sourceName ) then + sourceName = COMBATLOG_UNKNOWN_UNIT; + sourceEnabled = true; + falseSource = true; + end + + -- Disable appropriate types + resultEnabled = false; + valueEnabled = false; + elseif ( event == "SPELL_CAST_SUCCESS" ) then + if ( not destName ) then + destEnabled = false; + end + if ( not sourceName ) then + sourceName = COMBATLOG_UNKNOWN_UNIT; + sourceEnabled = true; + falseSource = true; + end + + -- Disable appropriate types + resultEnabled = false; + valueEnabled = false; + elseif ( event == "SPELL_CAST_FAILED" ) then + if ( not destName ) then + destEnabled = false; + end + -- Miss reason + missType = select(4, ...); + + -- Result String + resultStr = format("(%s)", missType); + --resultStr = gsub(_G[textModeString .. "RESULT"],"$resultString", missType); + + -- Disable appropriate sections + valueEnabled = false; + destEnabled = false; + + if ( not resultStr ) then + resultEnabled = false; + end + elseif ( event == "SPELL_DRAIN" ) then -- Special Spell effects + -- Special attacks + amount, powerType, extraAmount = select(4, ...); + + -- Set value type to be a power type + valueType = 2; + + -- Disable appropriate sections + if ( not resultStr ) then + resultEnabled = false; + end + valueEnabled = true; + elseif ( event == "SPELL_LEECH" ) then + -- Special attacks + amount, powerType, extraAmount = select(4, ...); + + -- Set value type to be a power type + valueType = 2; + + -- Result String + resultStr = format(_G["ACTION_SPELL_LEECH_RESULT"], nil, nil, nil, nil, nil, nil, nil, CombatLog_String_PowerType(powerType), nil, extraAmount) + + -- Disable appropriate sections + if ( not resultStr ) then + resultEnabled = false; + end + valueEnabled = true; + elseif ( event == "SPELL_INTERRUPT" ) then + -- Spell interrupted + extraSpellId, extraSpellName, extraSpellSchool = select(4, ...); + + -- Replace the value token with a spell token + if ( extraSpellId ) then + extraSpellEnabled = true; + end + + -- Disable appropriate sections + resultEnabled = false; + valueEnabled = false; + valueTypeEnabled = false; + elseif ( event == "SPELL_EXTRA_ATTACKS" ) then + -- Special attacks + amount = select(4, ...); + + -- Disable appropriate sections + resultEnabled = false; + valueEnabled = true; + valueTypeEnabled = false; + elseif ( event == "SPELL_SUMMON" ) then + -- Disable appropriate sections + resultEnabled = false; + valueEnabled = false; + elseif ( event == "SPELL_RESURRECT" ) then + -- Disable appropriate sections + resultEnabled = false; + valueEnabled = false; + elseif ( event == "SPELL_CREATE" ) then + -- Disable appropriate sections + resultEnabled = false; + valueEnabled = false; + elseif ( event == "SPELL_INSTAKILL" ) then + -- Disable appropriate sections + resultEnabled = false; + valueEnabled = false; + + unconsciousOnDeath = select(5, ...); + elseif ( event == "SPELL_DURABILITY_DAMAGE" ) then + itemId, itemName = select(4, ...); + + -- Disable appropriate sections + valueIsItem = true; + resultEnabled = false; + valueEnabled = true; + elseif ( event == "SPELL_DURABILITY_DAMAGE_ALL" ) then + -- Disable appropriate sections + resultEnabled = false; + valueEnabled = false; + elseif ( event == "SPELL_DISPEL_FAILED" ) then + -- Extra Spell standard + extraSpellId, extraSpellName, extraSpellSchool = select(4, ...); + + -- Replace the value token with a spell token + if ( extraSpellId ) then + extraSpellEnabled = true; + end + + -- Disable appropriate sections + resultEnabled = false; + valueEnabled = false; + elseif ( event == "SPELL_DISPEL" or event == "SPELL_STOLEN" ) then + -- Extra Spell standard, Aura standard + extraSpellId, extraSpellName, extraSpellSchool, auraType = select(4, ...); + + -- Event Type + event = format("%s_%s", event, auraType); + + -- Replace the value token with a spell token + if ( extraSpellId ) then + extraSpellEnabled = true; + valueEnabled = true; + else + valueEnabled = false; + end + + -- Disable appropriate sections + resultEnabled = false; + elseif ( event == "SPELL_AURA_BROKEN" or event == "SPELL_AURA_BROKEN_SPELL") then + + -- Extra Spell standard, Aura standard + if(event == "SPELL_AURA_BROKEN") then + auraType = select(4, ...); + else + extraSpellId, extraSpellName, extraSpellSchool, auraType = select(4, ...); + end + + -- Abort if buff/debuff is not set to true + if ( hideBuffs and auraType == AURA_TYPE_BUFF ) then + return; + elseif ( hideDebuffs and auraType == AURA_TYPE_DEBUFF ) then + return; + end + + -- Event Type + event = format("%s_%s", event, auraType); + + -- Replace the value token with a spell token + if ( extraSpellId ) then + extraSpellEnabled = true; + valueEnabled = true; + else + forceDestPossessive = true; + valueEnabled = false; + end + + resultEnabled = false; + elseif ( event == "SPELL_AURA_APPLIED" or event == "SPELL_AURA_REMOVED" or event == "SPELL_AURA_REFRESH") then -- Aura Events + -- Aura standard + auraType, remainingPoints = select(4, ...); + + -- Abort if buff/debuff is not set to true + if ( hideBuffs and auraType == AURA_TYPE_BUFF ) then + return; + elseif ( hideDebuffs and auraType == AURA_TYPE_DEBUFF ) then + return; + end + + formatString = TEXT_MODE_A_STRING_1; + + -- Event Type + event = format("%s_%s", event, auraType); + + if ( remainingPoints and settings.fullText ) then + withPoints = true; + end + + resultEnabled = false; + valueEnabled = false; + elseif ( event == "SPELL_AURA_APPLIED_DOSE" or event == "SPELL_AURA_REMOVED_DOSE" ) then + -- Aura standard + auraType, amount = select(4, ...); + + -- Abort if buff/debuff is not set to true + if ( hideBuffs and auraType == AURA_TYPE_BUFF ) then + return; + elseif ( hideDebuffs and auraType == AURA_TYPE_DEBUFF ) then + return; + end + + -- Event Type + event = format("%s_%s", event, auraType); + + -- Disable appropriate sections + resultEnabled = false; + valueEnabled = true; + valueTypeEnabled = false; + + end + elseif ( subVal == "RANGE" ) then + --spellName = ACTION_RANGED; + --nameIsNotSpell = true; + + -- Shots are spells, technically + spellId, spellName, spellSchool = ...; + if ( event == "RANGE_DAMAGE" ) then + -- Damage standard + amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing, isOffHand = select(4, ...); + + -- Parse the result string + resultStr = CombatLog_String_DamageResultString( resisted, blocked, absorbed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overEnergize); + + if ( not resultStr ) then + resultEnabled = false + end + + -- Disable appropriate sections + nameIsNotSpell = true; + + if ( overkill > 0 ) then + amount = amount - overkill; + end + elseif ( event == "RANGE_MISSED" ) then + spellName = ACTION_RANGED; + + -- Miss type + missType, isOffHand, amountMissed = select(4,...); + + -- Result String + if( missType == "RESIST" or missType == "BLOCK" or missType == "ABSORB" ) then + resultStr = format(_G["TEXT_MODE_A_STRING_RESULT_"..missType], amountMissed); + else + resultStr = _G["ACTION_RANGE_MISSED_"..missType]; + end + + -- Miss Type + if ( settings.fullText and missType ) then + event = format("%s_%s", event, missType); + end + + -- Disable appropriate sections + nameIsNotSpell = true; + valueEnabled = false; + resultEnabled = true; + end + elseif ( event == "DAMAGE_SHIELD" ) then -- Damage Shields + -- Spell standard, Damage standard + spellId, spellName, spellSchool, amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = ...; + + -- Parse the result string + resultStr = CombatLog_String_DamageResultString( resisted, blocked, absorbed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overEnergize ); + + -- Disable appropriate sections + if ( not resultStr ) then + resultEnabled = false + end + + if ( overkill > 0 ) then + amount = amount - overkill; + end + elseif ( event == "DAMAGE_SHIELD_MISSED" ) then + -- Spell standard, Miss type + spellId, spellName, spellSchool, missType = ...; + + -- Result String + resultStr = _G["ACTION_DAMAGE_SHIELD_MISSED_"..missType]; + + -- Miss Event + if ( settings.fullText and missType ) then + event = format("%s_%s", event, missType); + end + + -- Disable appropriate sections + valueEnabled = false; + if ( not resultStr ) then + resultEnabled = false; + end + elseif ( event == "PARTY_KILL" ) then -- Unique Events + -- Disable appropriate sections + resultEnabled = false; + valueEnabled = false; + + unconsciousOnDeath = select(5, ...); + elseif ( event == "ENCHANT_APPLIED" ) then + -- Get the enchant name, item id and item name + spellName, itemId, itemName = ...; + nameIsNotSpell = true; + + -- Disable appropriate sections + valueIsItem = true; + resultEnabled = false; + forceDestPossessive = true; + elseif ( event == "ENCHANT_REMOVED" ) then + -- Get the enchant name, item id and item name + spellName, itemId, itemName = ...; + nameIsNotSpell = true; + + -- Disable appropriate sections + valueIsItem = true; + resultEnabled = false; + sourceEnabled = false; + forceDestPossessive = true; + elseif ( event == "UNIT_DIED" or event == "UNIT_DESTROYED" or event == "UNIT_DISSIPATES" ) then + -- Swap Source with Dest + sourceName = destName; + sourceGUID = destGUID; + sourceFlags = destFlags; + + -- Disable appropriate sections + resultEnabled = false; + sourceEnabled = true; + destEnabled = false; + valueEnabled = false; + + elseif ( event == "ENVIRONMENTAL_DAMAGE" ) then + --Environmental Type, Damage standard + environmentalType, amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = ... + environmentalType = string.upper(environmentalType); + + -- Miss Event + spellName = _G["ACTION_ENVIRONMENTAL_DAMAGE_"..environmentalType]; + spellSchool = school; + nameIsNotSpell = true; + + -- Parse the result string + resultStr = CombatLog_String_DamageResultString( resisted, blocked, absorbed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overEnergize ); + + -- Environmental Event + if ( settings.fullText and environmentalType ) then + event = "ENVIRONMENTAL_DAMAGE_"..environmentalType; + end + + if ( not resultStr ) then + resultEnabled = false; + end + + if ( overkill > 0 ) then + amount = amount - overkill; + end + elseif ( event == "DAMAGE_SPLIT" ) then + -- Spell Standard Arguments, Damage standard + spellId, spellName, spellSchool, amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = ...; + + -- Parse the result string + resultStr = CombatLog_String_DamageResultString( resisted, blocked, absorbed, critical, glancing, crushing, overhealing, textMode, spellId, overkill, overEnergize ); + + if ( not resultStr ) then + resultEnabled = false + end + + if ( overkill > 0 ) then + amount = amount - overkill; + end + elseif ( event == "UNIT_LOYALTY" ) then + local gained = ... + if ( gained == 1 ) then + resultStr = _G["PET_LOYALTY_GAIN"]; + else + resultStr = _G["PET_LOYALTY_LOSS"]; + end + formatString = "%6$s"; + end + + -- Throw away all of the assembled strings and just grab a premade one + if ( settings.fullText ) then + local formatStringEvent; + if (withPoints) then + formatStringEvent = format("ACTION_%s_WITH_POINTS_FULL_TEXT", event); + else + formatStringEvent = format("ACTION_%s_FULL_TEXT", event); + end + + -- Get the base string + if ( _G[formatStringEvent] ) then + formatString = _G[formatStringEvent]; + end + + -- Set any special cases + if ( not sourceEnabled ) then + formatStringEvent = formatStringEvent.."_NO_SOURCE"; + end + if ( not destEnabled ) then + formatStringEvent = formatStringEvent.."_NO_DEST"; + end + + if (event=="DAMAGE_SPLIT" and resultStr) then + if (amount == 0) then + formatStringEvent = "ACTION_DAMAGE_SPLIT_ABSORBED_FULL_TEXT"; + else + formatStringEvent = "ACTION_DAMAGE_SPLIT_RESULT_FULL_TEXT"; + end + end + + -- Get the special cased string + if ( _G[formatStringEvent] ) then + formatString = _G[formatStringEvent]; + end + + sourceEnabled = true; + destEnabled = true; + valueEnabled = true; + end + + -- Actor name construction. + -- + local sourceNameStr = ""; + local destNameStr = ""; + local sourceIcon = ""; + local destIcon = ""; + local spellNameStr = spellName; + local extraSpellNameStr = extraSpellName; + local itemNameStr = itemName; + local actionEvent = "ACTION_"..event; + + --This is to get PARTY_KILL COMBAT_LOG_EVENTs on UnconsciousOnDeath units to display properly without new CombatLog events. + if ( event == "PARTY_KILL" ) then + if ( unconsciousOnDeath == 1 ) then + actionEvent = "ACTION_PARTY_KILL_UNCONSCIOUS"; + + if ( settings.fullText ) then + formatString = _G["ACTION_PARTY_KILL_UNCONSCIOUS_FULL_TEXT"]; + end + end + end + + --This is to get SPELL_INSTAKILL COMBAT_LOG_EVENTs on UnconsciousOnDeath units to display properly without new CombatLog events. + if ( event == "SPELL_INSTAKILL" ) then + if ( unconsciousOnDeath == 1 ) then + actionEvent = "ACTION_SPELL_INSTAKILL_UNCONSCIOUS"; + + if ( settings.fullText ) then + if ( not sourceEnabled ) then + formatString = _G["ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT_NO_SOURCE"]; + else + formatString = _G["ACTION_SPELL_INSTAKILL_UNCONSCIOUS_FULL_TEXT"]; + end + end + end + end + + --This is to get the UNIT_DIED COMBAT_LOG_EVENTs for UnconsciousOnDeath units to display properly without new CombatLog events. + if ( event == "UNIT_DIED" ) then + if ( unconsciousOnDeath == 1 ) then + actionEvent = "ACTION_UNIT_BECCOMES_UNCONSCIOUS"; + + if ( settings.fullText ) then + formatString = _G["ACTION_UNIT_BECOMES_UNCONSCIOUS_FULL_TEXT"]; + end + end + end + + local actionStr = _G[actionEvent]; + local timestampStr = timestamp; + local powerTypeString = ""; + + -- If this ever succeeds, the event string is missing. + -- + if ( not actionStr ) then + actionStr = event; + end + + -- Initialize the strings now + sourceNameStr, destNameStr = sourceName, destName; + + -- Special changes for localization when not in full text mode + if ( not settings.fullText and COMBAT_LOG_UNIT_YOU_ENABLED == "1" ) then + -- Replace your name with "You"; + if ( sourceName and CombatLog_Object_IsA(sourceFlags, COMBATLOG_FILTER_MINE) ) then + sourceNameStr = UNIT_YOU_SOURCE; + end + if ( destName and CombatLog_Object_IsA(destFlags, COMBATLOG_FILTER_MINE) ) then + destNameStr = UNIT_YOU_DEST; + end + -- Apply the possessive form to the source + if ( sourceName and spellName and _G[actionEvent.."_POSSESSIVE"] == "1" ) then + if ( sourceName and CombatLog_Object_IsA(sourceFlags, COMBATLOG_FILTER_MINE) ) then + sourceNameStr = UNIT_YOU_SOURCE_POSSESSIVE; + end + end + -- Apply the possessive form to the source + if ( destName and ( extraSpellName or itemName ) ) then + if ( destName and CombatLog_Object_IsA(destFlags, COMBATLOG_FILTER_MINE) ) then + destNameStr = UNIT_YOU_DEST_POSSESSIVE; + end + end + + -- If its full text mode + else + -- Apply the possessive form to the source + if ( sourceName and spellName and _G[actionEvent.."_POSSESSIVE"] == "1" ) then + sourceNameStr = format(TEXT_MODE_A_STRING_POSSESSIVE, sourceNameStr); + end + + -- Apply the possessive form to the dest if the dest has a spell + if ( ( extraSpellName or forceDestPossessive ) and destName ) then + destNameStr = format(TEXT_MODE_A_STRING_POSSESSIVE, destNameStr); + end + end + + -- Unit Icons + if ( settings.unitIcons ) then + if ( sourceName ) then + sourceIcon = CombatLog_String_GetIcon(sourceRaidFlags, "source"); + end + if ( destName ) then + destIcon = CombatLog_String_GetIcon(destRaidFlags, "dest"); + end + end + + -- Get the source color + if ( sourceName ) then + sourceColor = CombatLog_Color_ColorStringByUnitType( sourceFlags ); + end + + -- Get the dest color + if ( destName ) then + destColor = CombatLog_Color_ColorStringByUnitType( destFlags ); + end + + -- Whole line coloring + if ( settings.lineColoring ) then + if ( settings.lineColorPriority == 3 or ( not sourceName and not destName) ) then + lineColor = CombatLog_Color_ColorArrayByEventType( event, filterSettings ); + else + if ( ( settings.lineColorPriority == 1 and sourceName ) or not destName ) then + lineColor = CombatLog_Color_ColorArrayByUnitType( sourceFlags, filterSettings ); + elseif ( ( settings.lineColorPriority == 2 and destName ) ) then + lineColor = CombatLog_Color_ColorArrayByUnitType( destFlags, filterSettings ); + else + lineColor = CombatLog_Color_ColorArrayByUnitType( sourceFlags, filterSettings ); + end + end + end + + -- Power Type + if ( powerType ) then + powerTypeString = CombatLog_String_PowerType(powerType); + end + + -- Only replace if there's an amount + if ( amount ) then + local amountColor; + + -- Color amount numbers + if ( settings.amountColoring ) then + -- To make white swings white + if ( settings.noMeleeSwingColoring and school == SCHOOL_MASK_PHYSICAL and not spellId ) then + -- Do nothing + elseif ( settings.amountActorColoring ) then + if ( sourceName ) then + amountColor = CombatLog_Color_ColorArrayByUnitType( sourceFlags, filterSettings ); + elseif ( destName ) then + amountColor = CombatLog_Color_ColorArrayByUnitType( destFlags, filterSettings ); + end + elseif ( settings.amountSchoolColoring ) then + amountColor = CombatLog_Color_ColorArrayBySchool(school, filterSettings); + else + amountColor = filterSettings.colors.defaults.damage; + end + + end + -- Highlighting + if ( settings.amountHighlighting ) then + local colorArray; + if ( not amountColor ) then + colorArray = lineColor; + else + colorArray = amountColor; + end + amountColor = CombatLog_Color_HighlightColorArray (colorArray); + end + + if ( amountColor ) then + amountColor = CombatLog_Color_FloatToText(amountColor); + amount = format("|c%s%s|r", amountColor, amount); + end + + schoolString = CombatLog_String_SchoolString(school); + local schoolNameColor = nil; + -- Color school names + if ( settings.schoolNameColoring ) then + if ( settings.noMeleeSwingColoring and school == SCHOOL_MASK_PHYSICAL and not spellId ) then + elseif ( settings.schoolNameActorColoring ) then + if ( sourceName ) then + schoolNameColor = CombatLog_Color_ColorArrayByUnitType( sourceFlags, filterSettings ); + elseif ( destName ) then + schoolNameColor = CombatLog_Color_ColorArrayByUnitType( destFlags, filterSettings ); + end + else + schoolNameColor = CombatLog_Color_ColorArrayBySchool( school, filterSettings ); + end + end + -- Highlighting + if ( settings.schoolNameHighlighting ) then + local colorArray; + if ( not schoolNameColor ) then + colorArray = lineColor; + else + colorArray = schoolNameColor; + end + schoolNameColor = CombatLog_Color_HighlightColorArray (colorArray); + end + if ( schoolNameColor ) then + schoolNameColor = CombatLog_Color_FloatToText(schoolNameColor); + schoolString = format("|c%s%s|r", schoolNameColor, schoolString); + end + + end + + -- Color source names + if ( settings.unitColoring ) then + if ( sourceName and settings.sourceColoring ) then + sourceNameStr = format("|c%s%s|r", sourceColor, sourceNameStr); + end + if ( destName and settings.destColoring ) then + destNameStr = format("|c%s%s|r", destColor, destNameStr); + end + end + + -- If there's an action (always) + if ( actionStr ) then + local actionColor = nil; + -- Color ability names + if ( settings.actionColoring ) then + + if ( settings.actionActorColoring ) then + if ( sourceName ) then + actionColor = CombatLog_Color_ColorArrayByUnitType( sourceFlags, filterSettings ); + elseif ( destName ) then + actionColor = CombatLog_Color_ColorArrayByUnitType( destFlags, filterSettings ); + end + elseif ( settings.actionSchoolColoring and spellSchool ) then + actionColor = CombatLog_Color_ColorArrayBySchool( spellSchool, filterSettings ); + else + actionColor = CombatLog_Color_ColorArrayByEventType(event); + end + -- Special option to only color "Miss" if there's no damage + elseif ( settings.missColoring ) then + + if ( event ~= "SWING_DAMAGE" and + event ~= "RANGE_DAMAGE" and + event ~= "SPELL_DAMAGE" and + event ~= "SPELL_PERIODIC_DAMAGE" ) then + + if ( settings.actionActorColoring ) then + actionColor = CombatLog_Color_ColorArrayByUnitType( sourceFlags, filterSettings ); + elseif ( settings.actionSchoolColoring ) then + actionColor = CombatLog_Color_ColorArrayBySchool( spellSchool, filterSettings ); + else + actionColor = CombatLog_Color_ColorArrayByEventType(event); + end + + end + end + + -- Highlighting + if ( settings.actionHighlighting ) then + local colorArray; + if ( not actionColor ) then + colorArray = lineColor; + else + colorArray = actionColor; + end + actionColor = CombatLog_Color_HighlightColorArray (colorArray); + end + + if ( actionColor ) then + actionColor = CombatLog_Color_FloatToText(actionColor); + actionStr = format("|c%s%s|r", actionColor, actionStr); + end + + end + -- If there's a spell name + if ( spellName ) then + local spellAbilityColor = nil; + -- Color ability names + if ( settings.abilityColoring ) then + if ( settings.abilityActorColoring ) then + spellAbilityColor = CombatLog_Color_ColorArrayByUnitType( sourceFlags, filterSettings ); + elseif ( settings.abilitySchoolColoring ) then + spellAbilityColor = CombatLog_Color_ColorArrayBySchool( spellSchool, filterSettings ); + else + if ( spellSchool ) then + spellAbilityColor = filterSettings.colors.defaults.spell; + end + end + end + + -- Highlight this color + if ( settings.abilityHighlighting ) then + local colorArray; + if ( not spellAbilityColor ) then + colorArray = lineColor; + else + colorArray = spellAbilityColor; + end + spellAbilityColor = CombatLog_Color_HighlightColorArray (colorArray); + end + if ( spellAbilityColor ) then + spellAbilityColor = CombatLog_Color_FloatToText(spellAbilityColor); + if ( itemId ) then + spellNameStr = spellName; + else + spellNameStr = format("|c%s%s|r", spellAbilityColor, spellName); + end + end + end + + -- If there's a spell name + if ( extraSpellName ) then + local extraAbilityColor = nil; + -- Color ability names + if ( settings.abilityColoring ) then + + if ( settings.abilitySchoolColoring ) then + extraAbilityColor = CombatLog_Color_ColorArrayBySchool( extraSpellSchool, filterSettings ); + else + if ( extraSpellSchool ) then + extraAbilityColor = CombatLog_Color_ColorArrayBySchool( SCHOOL_MASK_HOLY, filterSettings ); + else + extraAbilityColor = CombatLog_Color_ColorArrayBySchool( nil, filterSettings ); + end + end + end + -- Highlight this color + if ( settings.abilityHighlighting ) then + local colorArray; + if ( not extraAbilityColor ) then + colorArray = lineColor; + else + colorArray = extraAbilityColor; + end + extraAbilityColor = CombatLog_Color_HighlightColorArray (colorArray); + end + if ( extraAbilityColor ) then + extraAbilityColor = CombatLog_Color_FloatToText(extraAbilityColor); + extraSpellNameStr = format("|c%s%s|r", extraAbilityColor, extraSpellName); + end + end + + -- Whole line highlighting + if ( settings.lineHighlighting ) then + if ( filterSettings.colors.highlightedEvents[event] ) then + lineColor = CombatLog_Color_HighlightColorArray (lineColor); + end + end + + -- Build braces + if ( settings.braces ) then + -- Unit specific braces + if ( settings.unitBraces ) then + if ( sourceName and settings.sourceBraces ) then + sourceNameStr = format(TEXT_MODE_A_STRING_BRACE_UNIT, braceColor, sourceNameStr, braceColor); + end + + if ( destName and settings.destBraces ) then + destNameStr = format(TEXT_MODE_A_STRING_BRACE_UNIT, braceColor, destNameStr, braceColor); + end + end + + -- Spell name braces + if ( spellName and settings.spellBraces ) then + if ( not itemId ) then + spellNameStr = format(TEXT_MODE_A_STRING_BRACE_SPELL, braceColor, spellNameStr, braceColor); + end + end + if ( extraSpellName and settings.spellBraces ) then + extraSpellNameStr = format(TEXT_MODE_A_STRING_BRACE_SPELL, braceColor, extraSpellNameStr, braceColor); + end + + -- Build item braces + if ( itemName and settings.itemBraces ) then + itemNameStr = format(TEXT_MODE_A_STRING_BRACE_ITEM, braceColor, itemNameStr, braceColor); + end + end + + local sourceString = ""; + local spellString = ""; + local actionString = ""; + local destString = ""; + local valueString = ""; + local resultString = ""; + local remainingPointsString = ""; + + if ( sourceEnabled and sourceName and falseSource ) then + sourceString = sourceName; + elseif ( sourceEnabled and sourceName ) then + sourceString = format(TEXT_MODE_A_STRING_SOURCE_UNIT, sourceIcon, sourceGUID, sourceName, sourceNameStr); + end + + if ( spellName ) then + if ( nameIsNotSpell ) then + spellString = format(TEXT_MODE_A_STRING_ACTION, originalEvent, spellNameStr); + else + spellString = format(TEXT_MODE_A_STRING_SPELL, spellId, 0, originalEvent, spellNameStr, spellId); + end + end + + if ( actionString ) then + actionString = format(TEXT_MODE_A_STRING_ACTION, originalEvent, actionStr); + end + + if ( destEnabled and destName ) then + destString = format(TEXT_MODE_A_STRING_DEST_UNIT, destIcon, destGUID, destName, destNameStr); + end + + if ( valueEnabled ) then + if ( extraSpellEnabled and extraSpellNameStr ) then + if ( extraNameIsNotSpell ) then + valueString = extraSpellNameStr; + else + valueString = format(TEXT_MODE_A_STRING_SPELL_EXTRA, extraSpellId, 0, originalEvent, extraSpellNameStr, spellId); + end + elseif ( valueIsItem and itemNameStr ) then + valueString = format(TEXT_MODE_A_STRING_ITEM, itemId, itemNameStr); + elseif ( amount ) then + if ( valueTypeEnabled ) then + if ( valueType == 1 and schoolString ) then + valueString = format(TEXT_MODE_A_STRING_VALUE_SCHOOL, amount, schoolString); + elseif ( valueType == 2 and powerTypeString ) then + valueString = format(TEXT_MODE_A_STRING_VALUE_TYPE, amount, powerTypeString); + end + end + if ( valueString == "" ) then + valueString = amount; + end + end + end + + if ( resultEnabled and resultStr ) then + resultString = resultStr; + end + + if ( not schoolString ) then + schoolString = ""; + end + if ( not powerTypeString ) then + powerTypeString = ""; + end + if ( not amount ) then + amount = ""; + end + + if ( not extraAmount) then + extraAmount = ""; + end + + if ( sourceString == "" and not hideCaster ) then + sourceString = UNKNOWN; + end + + if ( destEnabled and destString == "" ) then + destString = UNKNOWN; + end + + if ( remainingPoints ) then + remainingPointsString = format(TEXT_MODE_A_STRING_REMAINING_POINTS, remainingPoints); + end + + local finalString = format(formatString, sourceString, spellString, actionString, destString, valueString, resultString, schoolString, powerTypeString, amount, extraAmount, remainingPointsString); + + finalString = gsub(finalString, " [ ]+", " " ); -- extra white spaces + finalString = gsub(finalString, " ([.,])", "%1" ); -- spaces before periods or comma + finalString = gsub(finalString, "^([ .,]+)", "" ); -- spaces, period or comma at the beginning of a line + + if ( timestampEnabled and timestamp ) then + -- Replace the timestamp + finalString = format(TEXT_MODE_A_STRING_TIMESTAMP, date(settings.timestampFormat, timestamp), finalString); + end + + -- NOTE: be sure to pass back nil for the color id or the color id may override the r, g, b values for this message line + return finalString, lineColor.r, lineColor.g, lineColor.b; + end + + -- Process the event and add it to the combat log + function CombatLog_AddEvent(...) + -- Add the messages + local text, r, g, b, a = CombatLog_OnEvent(Blizzard_CombatLog_CurrentSettings, ... ); + if ( text ) then + COMBATLOG:AddMessage(text, r, g, b, a); + end + end + + -- + -- Combat Log Global Functions + -- + + --[[ + -- + -- Returns the correct {} code for the combat log bit + -- + -- args: + -- bit - a bit exactly equal to a raid target icon. + --]] + local function Blizzard_CombatLog_BitToBraceCode(bit) + if ( bit == COMBATLOG_OBJECT_RAIDTARGET1 ) then + return "{"..strlower(RAID_TARGET_1).."}"; + elseif ( bit == COMBATLOG_OBJECT_RAIDTARGET2 ) then + return "{"..strlower(RAID_TARGET_2).."}"; + elseif ( bit == COMBATLOG_OBJECT_RAIDTARGET3 ) then + return "{"..strlower(RAID_TARGET_3).."}"; + elseif ( bit == COMBATLOG_OBJECT_RAIDTARGET4 ) then + return "{"..strlower(RAID_TARGET_4).."}"; + elseif ( bit == COMBATLOG_OBJECT_RAIDTARGET5 ) then + return "{"..strlower(RAID_TARGET_5).."}"; + elseif ( bit == COMBATLOG_OBJECT_RAIDTARGET6 ) then + return "{"..strlower(RAID_TARGET_6).."}"; + elseif ( bit == COMBATLOG_OBJECT_RAIDTARGET7 ) then + return "{"..strlower(RAID_TARGET_7).."}"; + elseif ( bit == COMBATLOG_OBJECT_RAIDTARGET8 ) then + return "{"..strlower(RAID_TARGET_8).."}"; + end + return ""; + end + + -- The format of the data describing context menu entries was originally written for the legacy menus + -- but is being funneled into the updated menu system to minimize any changes. + function CreateCombatLogContextMenu(region, tbls) + MenuUtil.CreateContextMenu(region, function(owner, rootDescription) + rootDescription:SetTag("MENU_COMBAT_LOG", tbls); + + for index, tbl in ipairs(tbls) do + if tbl.divider then + rootDescription:CreateDivider(); + else + local button = rootDescription:CreateButton(tbl.text, tbl.func); + + -- We can invert 'disabled' here as none of it's uses were functions. If functions are added, + -- a function wrapper can be passed instead that inverts the return value of the added function. + button:SetEnabled(not tbl.disabled); + end + end + end); + end + + -- CombatLogQuickButtonTemplate + local function CreateQuickButton(name) + local button = CreateFrame("Button", name, CombatLogQuickButtonFrame) + button:SetHeight(20) + button:SetNormalFontObject(GameFontDisable) + button:SetHighlightFontObject(GameFontHighlight) + button:SetScript("OnClick", function(self) + Blizzard_CombatLog_QuickButton_OnClick(self:GetID()) + PlaySound(SOUNDKIT.U_CHAT_SCROLL_BUTTON) + end) + button: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) + button:SetScript("OnLeave", function() + GameTooltip:Hide() + end) + return button + end + + function Blizzard_CombatLog_Update_QuickButtons() + local baseName = "CombatLogQuickButtonFrame"; + local buttonName, button, textWidth; + local buttonIndex = 1; + -- subtract the width of the dropdown button + local clogleft, clogright = COMBATLOG:GetRight(), COMBATLOG:GetLeft(); + local maxWidth; + if ( clogleft and clogright ) then + maxWidth = (COMBATLOG:GetRight()-COMBATLOG:GetLeft())-31; --Hacky hacky because GetWidth goes crazy when it is docked + else + maxWidth = COMBATLOG:GetWidth() - 31; + end + + local additionalFilterButton = CombatLogQuickButtonFrame.AdditionalFilterButton; + + local totalWidth = 0; + local padding = 13; + local showMoreQuickButtons = true; + local hasOffBar = false; + for index, filter in ipairs(Blizzard_CombatLog_Filters.filters) do + buttonName = baseName.."Button"..buttonIndex; + button = _G[buttonName]; + if ( ShowQuickButton(filter) and showMoreQuickButtons ) then + if ( not button ) then + button = CreateQuickButton(buttonName); + end + button:SetText(filter.name); + textWidth = button:GetTextWidth(); + totalWidth = totalWidth + textWidth + padding; + if ( totalWidth <= maxWidth ) then + button:SetWidth(textWidth+padding); + button:SetID(index); + button:Show(); + button.tooltip = filter.tooltip; + if ( buttonIndex > 1 ) then + button:SetPoint("LEFT", _G[baseName.."Button"..buttonIndex-1], "RIGHT", 3, 0); + else + button:SetPoint("LEFT", CombatLogQuickButtonFrame, "LEFT", 3, 0); + end + if ( Blizzard_CombatLog_Filters.currentFilter == index and (Blizzard_CombatLog_CurrentSettings and not Blizzard_CombatLog_CurrentSettings.isTemp) ) then + button:LockHighlight(); + else + button:UnlockHighlight(); + end + filter.onQuickBar = true; + else + -- Don't show anymore buttons if the maxwidth has been exceeded + showMoreQuickButtons = false; + hasOffBar = true; + button:Hide(); + filter.onQuickBar = false; + end + buttonIndex = buttonIndex + 1; + else + filter.onQuickBar = false; + if ( button ) then + button:Hide(); + end + end + end + + -- Hide remaining buttons + repeat + button = _G[baseName.."Button"..buttonIndex]; + if ( button ) then + button:Hide(); + end + buttonIndex = buttonIndex+1; + until not button; + + additionalFilterButton:SetShown(hasOffBar); + end + + function Blizzard_CombatLog_QuickButton_OnClick(id) + Blizzard_CombatLog_Filters.currentFilter = id; + Blizzard_CombatLog_CurrentSettings = Blizzard_CombatLog_Filters.filters[Blizzard_CombatLog_Filters.currentFilter]; + Blizzard_CombatLog_ApplyFilters(Blizzard_CombatLog_CurrentSettings); + if ( Blizzard_CombatLog_CurrentSettings.settings.showHistory ) then + Blizzard_CombatLog_Refilter(); + end + Blizzard_CombatLog_Update_QuickButtons(); + end + + function ShowQuickButton(filter) + if ( filter.hasQuickButton ) then + if ( IsInRaid() ) then + return filter.quickButtonDisplay.raid; + elseif ( IsInGroup() ) then + return filter.quickButtonDisplay.party; + else + return filter.quickButtonDisplay.solo; + end + else + return false; + end; + end + + -- Right-click menus and chat links for the log's unit, icon, spell and + -- action links. Unit, icon and action links have no tooltip, so they stop + -- here; a plain click on a spell link shows the spell. + local HookSetItemRef = SetItemRef + _G.SetItemRef = function(link, text, button) + if strsub(link, 1, 4) == "unit" then + local _, guid, name = strsplit(":", link) + if IsModifiedClick("CHATLINK") then + InsertLink(name) + elseif button == "RightButton" then + CreateCombatLogContextMenu(COMBATLOG, Blizzard_CombatLog_CreateUnitMenu(name, guid)) + end + return + elseif strsub(link, 1, 4) == "icon" then + local _, iconBit = strsplit(":", link) + iconBit = tonumber(iconBit) + if button == "RightButton" then + CreateCombatLogContextMenu(COMBATLOG, Blizzard_CombatLog_CreateUnitMenu(Blizzard_CombatLog_BitToBraceCode(iconBit), nil, iconBit)) + elseif IsModifiedClick("CHATLINK") then + InsertLink(Blizzard_CombatLog_BitToBraceCode(iconBit)) + end + return + elseif strsub(link, 1, 6) == "action" then + local _, event = strsplit(":", link) + if button == "RightButton" then + CreateCombatLogContextMenu(COMBATLOG, Blizzard_CombatLog_CreateActionMenu(event)) + end + return + elseif strsub(link, 1, 5) == "spell" then + local _, spellId, _, event = strsplit(":", link) + spellId = tonumber(spellId) + if IsModifiedClick("CHATLINK") then + if spellId > 0 then + InsertLink(GetSpellLink(spellId)) + end + return + elseif button == "RightButton" and event then + CreateCombatLogContextMenu(COMBATLOG, Blizzard_CombatLog_CreateSpellMenu(text, spellId, event)) + return + end + end + HookSetItemRef(link, text, button) + end + + -- Turtle's ChatFrame_OnHyperlinkShow handles spell::: links + -- itself, never reaching SetItemRef, and the log's spell::0: + -- links have that shape. Elsewhere the original forwards them there anyway. + local HookChatFrame_OnHyperlinkShow = ChatFrame_OnHyperlinkShow + _G.ChatFrame_OnHyperlinkShow = function(link, text, button) + if strfind(link, "^spell:%d+:%d+:%u[%u_]*$") then + SetItemRef(link, text, button) + return + end + return HookChatFrame_OnHyperlinkShow(link, text, button) + end + + -- CombatConfig_CreateCombatFilter, without the config window to select it in + local function CreateCombatFilter(name, filter) + local newFilter = CopyTable(filter) + if not name or name == "" then + name = format(DEFAULT_COMBATLOG_FILTER_NAME, #Blizzard_CombatLog_Filters.filters) + end + newFilter.name = name + newFilter.tooltip = "" + -- the unit menu's filter is temporary; its saved copy is not + newFilter.isTemp = nil + tinsert(Blizzard_CombatLog_Filters.filters, newFilter) + Blizzard_CombatLog_Update_QuickButtons() + 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, + } + + _G.pfUI_combatlog = _G.pfUI_combatlog or Blizzard_CombatLog_Filter_Defaults + Blizzard_CombatLog_Filters = _G.pfUI_combatlog + Blizzard_CombatLog_CurrentSettings = Blizzard_CombatLog_Filters.filters[Blizzard_CombatLog_Filters.currentFilter] + + -- The bar above the log: a button per quick filter, a menu for the filters + -- that don't fit, and the refilter's progress. + CombatLogQuickButtonFrame = CreateFrame("Frame", "CombatLogQuickButtonFrame", COMBATLOG) + CombatLogQuickButtonFrame:SetHeight(24) + CombatLogQuickButtonFrame:SetPoint("BOTTOMLEFT", COMBATLOG, "TOPLEFT") + CombatLogQuickButtonFrame:SetPoint("BOTTOMRIGHT", COMBATLOG, "TOPRIGHT") + CombatLogQuickButtonFrame:SetScript("OnShow", Blizzard_CombatLog_Update_QuickButtons) + CombatLogQuickButtonFrame:SetScript("OnSizeChanged", Blizzard_CombatLog_Update_QuickButtons) + -- chat.lua makes room for the bar above the docked log, and passes the + -- log's lines through unparsed (it sets pfCombatLog again on each refresh) + COMBATLOG.CombatLogQuickButtonFrame = CombatLogQuickButtonFrame + COMBATLOG.pfCombatLog = true + + -- Blizzard's AdjustCombatLogHeight. FCF_DockUpdate pins every docked frame + -- but the first to the top of DEFAULT_CHAT_FRAME, which puts the bar over + -- the tabs, so the log's top goes back down by the bar's height each time. + -- A tab sits on its frame's Background, so the log's Background reaches up + -- over the bar to keep the tab in line with the others. + local barHeight = CombatLogQuickButtonFrame:GetHeight() + local background = _G[COMBATLOG:GetName().."Background"] + background:SetPoint("TOPLEFT", COMBATLOG, "TOPLEFT", -2, 3 + barHeight) + background:SetPoint("TOPRIGHT", COMBATLOG, "TOPRIGHT", 2, 3 + barHeight) + + hooksecurefunc("FCF_DockUpdate", function() + if COMBATLOG.isDocked and DOCKED_CHAT_FRAMES[1] ~= COMBATLOG then + COMBATLOG:SetPoint("TOPLEFT", DEFAULT_CHAT_FRAME, "TOPLEFT", 0, -barHeight) + end + end) + + CombatLogQuickButtonFrameProgressBar = CreateFrame("StatusBar", nil, CombatLogQuickButtonFrame) + CombatLogQuickButtonFrameProgressBar:SetHeight(4) + CombatLogQuickButtonFrameProgressBar:SetPoint("TOPLEFT", CombatLogQuickButtonFrame, "TOPLEFT", 0, 2) + CombatLogQuickButtonFrameProgressBar:SetPoint("TOPRIGHT", CombatLogQuickButtonFrame, "TOPRIGHT", 0, 2) + CombatLogQuickButtonFrameProgressBar:SetStatusBarTexture("Interface\\TargetingFrame\\UI-StatusBar") + CombatLogQuickButtonFrameProgressBar:SetStatusBarColor(0, 1, .3) + CombatLogQuickButtonFrameProgressBar:Hide() + + local filterButton = CreateFrame("Button", nil, CombatLogQuickButtonFrame) + filterButton:SetWidth(28) + filterButton:SetHeight(28) + filterButton:SetPoint("TOPRIGHT", CombatLogQuickButtonFrame, "TOPRIGHT") + filterButton:SetHitRectInsets(6, 6, 7, 7) + filterButton:SetNormalTexture("Interface\\MainMenuBar\\UI-MainMenu-ScrollDownButton-Up") + filterButton:SetPushedTexture("Interface\\MainMenuBar\\UI-MainMenu-ScrollDownButton-Down") + filterButton:SetHighlightTexture("Interface\\MainMenuBar\\UI-MainMenu-ScrollDownButton-Highlight", "ADD") + filterButton:SetScript("OnMouseDown", function(self) + CreateCombatLogContextMenu(self, Blizzard_CombatLog_CreateFilterMenu()) + end) + filterButton:SetScript("OnEnter", function(self) + GameTooltip:SetOwner(self, "ANCHOR_RIGHT") + GameTooltip:SetText(ADDITIONAL_FILTERS, 1, 1, 1) + GameTooltip:Show() + end) + filterButton:SetScript("OnLeave", function() + GameTooltip:Hide() + end) + CombatLogQuickButtonFrame.AdditionalFilterButton = filterButton + + -- The 1.12 text log's events keep firing for whatever else reads them, but + -- stop reaching this frame. Its message groups stay saved, so the text log + -- comes back when this module is disabled. Groups with no COMBAT_LOG_EVENT + -- counterpart keep showing here. + local textgroups = { + COMBAT_ERROR = true, COMBAT_MISC_INFO = true, COMBAT_XP_GAIN = true, COMBAT_HONOR_GAIN = true, + COMBAT_FACTION_CHANGE = true, SPELL_TRADESKILLS = true, SPELL_ITEM_ENCHANTMENTS = true, + } + local replaced = {} + for group, events in pairs(ChatTypeGroup) do + if not textgroups[group] and (strfind(group, "^COMBAT_") or strfind(group, "^SPELL_")) then + for _, event in pairs(events) do + replaced[event] = true + end + end + end + + local OnEvent = COMBATLOG:GetScript("OnEvent") + COMBATLOG:SetScript("OnEvent", function(self, event, ...) + if replaced[event] then return end + 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) + + 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) + end +end) diff --git a/pfUI.toc b/pfUI.toc index 56e53869..e60be031 100644 --- a/pfUI.toc +++ b/pfUI.toc @@ -4,7 +4,7 @@ ## Notes: A complete user interface replacement. ## Notes-ruRU: Полная замена пользовательского интерфейса. ## Version: @project-version@ -## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache, pfUI_throttle +## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache, pfUI_throttle, pfUI_combatlog ## SavedVariablesPerCharacter: pfUI_config, pfUI_init, pfUI_playerDB, pfUI_eqmgr ## X-Website: https://github.com/brues-code/pfUI diff --git a/pfUI_ClassicAPI.toc b/pfUI_ClassicAPI.toc index 25a1738b..269d8a8b 100644 --- a/pfUI_ClassicAPI.toc +++ b/pfUI_ClassicAPI.toc @@ -4,7 +4,7 @@ ## Notes: A complete user interface replacement. ## Notes-ruRU: Полная замена пользовательского интерфейса. ## Version: @project-version@ -## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache, pfUI_throttle +## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache, pfUI_throttle, pfUI_combatlog ## SavedVariablesPerCharacter: pfUI_config, pfUI_init, pfUI_playerDB, pfUI_eqmgr ## X-Website: https://github.com/brues-code/pfUI diff --git a/pfUI_Turtle.toc b/pfUI_Turtle.toc index 5319bbcf..27355308 100644 --- a/pfUI_Turtle.toc +++ b/pfUI_Turtle.toc @@ -4,7 +4,7 @@ ## Notes: A complete user interface replacement. ## Notes-ruRU: Полная замена пользовательского интерфейса. ## Version: @project-version@ -## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache, pfUI_throttle +## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache, pfUI_throttle, pfUI_combatlog ## SavedVariablesPerCharacter: pfUI_config, pfUI_init, pfUI_playerDB, pfUI_eqmgr ## X-Website: https://github.com/brues-code/pfUI