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