17 Commits
Author SHA1 Message Date
Brues f33a9068f2 Translate the Self quick button
Classic Era dropped QUICKBUTTON_NAME_SELF and its tooltip, so every locale
showed 4.3.4's English text. Each locale now has its own, worded after its
My actions strings.
2026-10-30 03:13:38 -05:00
Brues 187e057923 Add the Combat Log settings window and 4.3.4's default filters
"Settings" in the Combat Log tab's menu opens Blizzard's Combat Log page,
rebuilt in Lua with pfUI widgets: the filter list with copy, add and
delete, and the Message Sources, Message Types, Colors, Formatting and
Settings tabs. Combat Log Defaults restores the default filters. Closing
the window refills the log only when the active filter changed.

The log now records while ChatFrame2 is hidden, so switching tabs no
longer loses history.

The default filters are 4.3.4's: Self, Everything, What happened to me?
and Kills. Classic Era's My actions left out auras.
2026-10-30 03:02:42 -05:00
Brues 3899004957 bump CAPI min to 1.18.05 2026-10-30 02:19:25 -05:00
Brues ee73cde828 Replace the combat log with Classic Era's Blizzard_CombatLog
ChatFrame2 now shows the 4.x combat log, ported from Classic Era's
Blizzard_CombatLog as the combatlog module. ClassicAPI's COMBAT_LOG_EVENT,
CombatLogAddFilter and kept entries drive it, and changing filter refills
the frame with BackFillMessage. Quick buttons sit above the log, and its
unit, spell, raid icon and action links open Blizzard's filter menus.
Filters save account-wide in pfUI_combatlog.

The 1.12 CHAT_MSG_COMBAT_* and CHAT_MSG_SPELL_* events no longer reach
ChatFrame2. Its message groups stay saved, so disabling the module brings
the text log back.

env/combatlog_<locale>.lua hold the Classic Era GlobalStrings the log reads
that 1.12 lacks.
2026-10-30 02:19:08 -05:00
Brues 76efd5b490 Pass every AddMessage argument through the chat hook
The hook forwarded the text and seventeen named arguments. It takes them
as ... now, which ClassicAPI rewrites to unpack(arg) with arg.n, so every
argument reaches the frame's AddMessage, nils included. GetMessageInfo
returns all of them, and a hook that drops some loses them for every
frame after it.
2026-10-30 01:25:36 -05:00
Brues 393b37b8c3 Add an option to show timestamps in chat copy
"Show Timestamps In Chat Copy" (chat text settings, on by default) is read
each time chat copy opens. With it off, chat copy takes each line through
pfUI.chat.StripTimestamp, which removes the exact timestamp AddMessage
prepends: the configured color and brackets, so other bracketed text
stays.

Whispers are now recolored before the timestamp goes on, not after. The
recolor turned the stamp's closing "|r " into "|r" plus the whisper color,
so whisper lines did not match. The shown text and the saved history come
out the same.
2026-10-30 01:25:36 -05:00
Brues 7928db33bf Show the equipment manager's lists in ClassicAPI ScrollBoxes
The set list, the unused-items grid and the trigger list each drew a
fixed number of slots and moved them with a mouse-wheel offset. All three
are pfUIScrollBoxListTemplate lists now, with a scroll bar.

The set list's rows are the sets and then the "New Set" entry, set up by
one initializer. Refresh rebuilds them only when the sets change and
otherwise reinitializes the shown rows, so a row keeps its frame between
the two clicks of the native OnDoubleClick that now equips a set, in
place of the hand-timed double click. PickupEquipmentSet is called
without a presence check.

The row's gear passes mouse motion on to the row, so moving onto it no
longer leaves the row and the MouseIsOverHitRect workaround is gone. The
gear rests at half alpha and lights up on hover with an additive copy of
itself, instead of the blue square highlight.

The unused items are a grid view that keeps its scroll position on
refresh. The trigger list scrolls to a new trigger with ScrollToEnd.
2026-10-30 01:07:22 -05:00
Brues 5d8314b2d4 Scroll the config panels with ClassicAPI's scroll bar
pfUIScrollFrameTemplate (api/ui-widgets.xml) is a ScrollFrame with
pfUIScrollBarTemplate inside its right edge and a Content scroll child,
driven by ScrollUtil.InitScrollFrameWithScrollBar. The panels keep a
ScrollFrame because the engine measures its range from the shown frames
inside the content, which the hand-placed config rows rely on. The bar
follows OnScrollRangeChanged instead of an OnUpdate poll per panel.

A panel measures its range once its rows are built, and the search
results measure theirs with UpdateScrollChildRect instead of hiding,
re-attaching and scrolling a frame later. Clearing the search measures
again too.

CreateScrollFrame and CreateScrollChild have no users left, and nothing
called CreateTabFrame or CreateTabChild; all four are gone. pfQuest's
compat layer brings its own copies of the scroll helpers.
2026-10-30 00:51:16 -05:00
Brues 3987cfb8a0 Show loot history and the icon picker in ClassicAPI ScrollBoxes
pfUIScrollBoxListTemplate (api/ui-widgets.xml) is a WowScrollBoxList with
pfUIScrollBarTemplate beside it, 5px inside the frame, so a list's
backdrop goes on the frame itself. The addon list moves onto it and drops
the sibling backdrop frame.

Loot history builds a flat list of item rows and, under an expanded item,
player rows; the view sizes and indents them. The item frame array, the
player pool, the hand-placed rows and the scroll child re-attach are gone,
and the scroll position holds across roll updates.

The icon picker's FauxScrollFrame and 80 fixed buttons become a grid view
over the provider's icon indices. Picking an icon reinitializes the shown
buttons instead of redrawing the grid, and closing the popup drops the
grid's entries along with the provider.
2026-10-30 00:47:07 -05:00
Brues 796f20eadf Show chat copy and the share box in ClassicAPI's scrolling edit box
pfUIScrollingEditBoxTemplate (api/ui-widgets.xml) is ScrollingEditBoxTemplate
with pfUIScrollBarTemplate beside the text. Its mixin's SetFont gives the
box a font object of its own, since the edit box sets its font by object on
every SetText and pfUI fonts are paths. ui-widgets.lua now loads before the
XML, which needs the mixin.

The share box no longer recomputes its scroll child on every text change.

Chat copy reads each chat frame's messages with ClassicAPI's
GetMessageInfo when it opens, so the AddMessage hook, its 100-line copy of
the history and the skip of combat frames are gone. It shows every line
the frame keeps, lines from before login included. It puts the caret at
the end to scroll to the newest line instead of three OnUpdate passes, and
Escape now leaves copy mode on every chat frame.
2026-10-30 00:38:54 -05:00
Brues 26c55bddb0 Drive the rez icon from ClassicAPI's incoming resurrections
ClassicAPI's UnitHasIncomingResurrection sees every resurrection cast in
view from SMSG_SPELL_START and ends it with the cast, and
INCOMING_RESURRECT_CHANGED signals each change. libpredict's own
tracking goes: the ress tables and 60s timers, parsing Resurrection and
RES/RESNO messages, clearing on UNIT_HEALTH, and the rez branches of the
cast handlers, along with UNIT_SPELLCAST_STOP and the foreign cast
targets only rez used. libpredict still announces the player's own
resurrections to HealComm and CTRA for clients without ClassicAPI.

The native state ends with the cast, so a rez that landed would vanish
before the target accepts it. libpredict records the SPELL_RESURRECT
combat log event per GUID and keeps the offer until the target is alive
again or the 60s accept popup runs out, unlike Grid2, which cannot tell
a landed rez from a cancelled one. UnitHasResurrection answers both.

The unit frames show the icon in RefreshIndicators, refreshed by
INCOMING_RESURRECT_CHANGED on the frame's own unit and by libpredict for
offers, instead of polling libpredict every 0.1s.
2026-10-29 23:49:28 -05:00
Brues 8c22fdb850 Show the addon list in a ClassicAPI ScrollBox
The list built one row per addon in a ScrollFrame, hid the rows out of
view by hand and drove pfUI's own slider. A WowScrollBoxList keeps rows
only for the addons in view and recycles them while scrolling.

pfUIScrollBarTemplate (api/ui-widgets.xml) is a ScrollBarMixin bar with
the old slider's look: a thin track and a flat teal thumb that hides when
nothing scrolls. Its steppers exist for the mixin but stay hidden.

Rows read the addon's enabled state, so profiles enable and disable
addons directly instead of clicking every row's checkbox. A checkbox
now shows whether an addon is enabled; it showed whether it was loaded.
2026-10-29 23:04:47 -05:00
Brues 2d275c53fa Clear AFK on wake only while it is still set
/afk toggles. The overlay sent it on every click and key press, so when
the client or the server had already cleared AFK it set it again. Check
ClassicAPI's IsChatAFK first. It follows the client's /afk state at
once, where UnitIsAFK waits for the server's flag update.
2026-10-29 22:40:30 -05:00
Brues ba752056ad Stop the AFK camera when AFK clears while it spins
62e0d4eb stopped the camera only while the start delay was shown, but the
delay hides itself once the camera starts. AFK cleared during the spin
left the overlay up, and the next key press sent /afk and set AFK again.
Stop when the camera spins instead, which also keeps stop() and its
SetView(4) from running when AFK clears before the camera started.
2026-10-29 22:40:26 -05:00
Brues 1ccf87c61a Drop CreateGoldString's fallback for clients without coin icons
ClassicAPI always provides GetCoinTextureString, so the presence check
and the hand-built "g/s/c" string after it never ran.
2026-10-29 22:39:01 -05:00
Brues dc89f01dda Refresh the FPS & Lag panel tooltip while it is shown
The tooltip was built once on enter, so its memory, network and addon
figures stayed at the values from that moment. The widget's one-second
ticker now rebuilds it while the panel still owns GameTooltip. The
tooltip takes its owner as self, not this, so the ticker can call it.
2026-10-29 22:24:36 -05:00
Brues a917a70b1c Add an expand/collapse-all button to the Reputation tab
ClassicAPI 1.18's ExpandAllFactionHeaders and CollapseAllFactionHeaders
set every header in one call. The button sits on the "Faction" label's
row, in the headers' +/- column, and shows "+" while any header is
collapsed.
2026-10-29 22:24:36 -05:00
32 changed files with 9315 additions and 1085 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ do
-- on. There pfUI does load, and will throw wherever it reaches for something
-- the installed DLL doesn't have yet -- the popup names the cause so those
-- errors aren't a mystery.
local PFUI_CLASSIC_API_MIN = 11800 -- (X*10000 + Y*100 + Z)
local PFUI_CLASSIC_API_MIN = 11805 -- (X*10000 + Y*100 + Z)
local PFUI_CLASSIC_API_LATEST = PFUI_CLASSIC_API_MIN
local PFUI_CLASSIC_API_WEBSITE = "https://github.com/brues-code/ClassicAPI"
local PFUI_CLASSIC_API_LATEST_URL = PFUI_CLASSIC_API_WEBSITE .. "/releases/latest"
+1 -14
View File
@@ -722,20 +722,7 @@ end
function pfUI.api.CreateGoldString(money)
if type(money) ~= "number" then return "-" end
if _G.GetCoinTextureString then
return "|cffffffff" .. _G.GetCoinTextureString(money) .. "|r"
end
local gold = floor(money/ 100 / 100)
local silver = floor(mod((money/100),100))
local copper = floor(mod(money,100))
local string = ""
if gold > 0 then string = string .. "|cffffffff" .. gold .. "|cffffd700g" end
if silver > 0 or gold > 0 then string = string .. "|cffffffff " .. silver .. "|cffc7c7cfs" end
string = string .. "|cffffffff " .. copper .. "|cffeda55fc"
return string
return "|cffffffff" .. _G.GetCoinTextureString(money) .. "|r"
end
-- [ Enable Movable ]
+1
View File
@@ -825,6 +825,7 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("chat", "text", "timeformat", "%H:%M:%S")
pfUI:UpdateConfig("chat", "text", "timebracket", "[]")
pfUI:UpdateConfig("chat", "text", "timecolor", ".8,.8,.8,1")
pfUI:UpdateConfig("chat", "text", "copytime", "1")
pfUI:UpdateConfig("chat", "text", "tintunknown", "1")
pfUI:UpdateConfig("chat", "text", "unknowncolor", ".7,.7,.7,1")
pfUI:UpdateConfig("chat", "text", "channelnumonly", "1")
+81 -249
View File
@@ -316,186 +316,28 @@ do -- dropdown
end
end
function pfUI.api.CreateTabChild(self, title, bwidth, bheight, bottom, static)
-- create tab button
local b = CreateFrame("Button", "pfConfig" .. title .. "Button", self, "UIPanelButtonTemplate")
b:SetText(title)
-- [ pfUIScrollingEditBoxTemplate ]
-- Mixin of the template in ui-widgets.xml: ClassicAPI's scrolling edit box
-- with pfUI's scroll bar beside it.
_G.pfUIScrollingEditBoxMixin = {}
-- setup env
local childcount = table.getn(self.childs) + 1
local button_width = bwidth
local button_height = bheight or 20
local border = 4
if not button_width then
button_width = 150
elseif button_width == true then
button_width = _G["pfConfig" .. title .. "ButtonText"]:GetStringWidth() + 4 * border
end
-- set dimensions
b:SetSize(button_width, button_height)
b:SetID(childcount)
if not self.align or self.align == "LEFT" then
local outside = self.outside and -2 * border - button_width or 0
if bottom then
b:SetPoint("BOTTOMLEFT", self, "BOTTOMLEFT", border + outside, (self.bottomcount-1) * (button_height) + (self.bottomcount * border) )
else
b:SetPoint("TOPLEFT", self, "TOPLEFT", border + outside, -(childcount-1) * (button_height) - (childcount * border) )
end
elseif self.align == "TOP" then
local outside = self.outside and 2 * border + button_height or 0
local prev_button = self.buttons[getn(self.buttons)]
if prev_button then
b:SetPoint("TOPLEFT", prev_button, "TOPRIGHT", border, 0)
else
b:SetPoint("TOPLEFT", self, "TOPLEFT", border + (self.outside and -border), -border + outside )
end
end
SkinButton(b,.2,1,.8)
if childcount ~= 1 then
b:SetTextColor(.5,.5,.5)
else
b:SetTextColor(.2,1,.8)
end
b:SetScript("OnClick", function()
for k,v in pairs(self.childs) do
v:Hide()
end
self.childs[this:GetID()]:Show()
for k,v in pairs(self.buttons) do
v.active = false
v:SetTextColor(.5,.5,.5)
end
self.buttons[this:GetID()]:SetTextColor(.2,1,.8)
end)
self.buttons[childcount] = b
self.bottomcount = bottom and self.bottomcount + 1 or self.bottomcount
-- create child frame
local child, scrollchild = nil, nil
if not static then
child = CreateScrollFrame("pfConfig" .. title .. "Frame", self)
scrollchild = CreateScrollChild("pfConfig" .. title .. "ScrollChild", child)
else
child = CreateFrame("Frame", "pfConfig" .. title .. "Frame", self)
end
if childcount ~= 1 then child:Hide() end
if not self.align or self.align == "LEFT" then
child:SetPoint("TOPLEFT", self, "TOPLEFT", button_width + 2*border + 5, -border -5)
child:SetPoint("BOTTOMRIGHT", self, "BOTTOMRIGHT", -border -5 , border + 5)
elseif self.align == "TOP" then
if self.outside then
child:SetPoint("TOPLEFT", self, "TOPLEFT", 5, -5)
child:SetPoint("BOTTOMRIGHT", self, "BOTTOMRIGHT", -5, 5)
end
end
CreateBackdrop(child)
SetAllPointsOffset(child.backdrop, child, -5,5)
local ret = scrollchild or child
ret.button = b
table.insert(self.childs, child)
return ret
function pfUIScrollingEditBoxMixin:InitScrollBar()
local scrollBox = self:GetScrollBox()
scrollBox:ClearAllPoints()
scrollBox:SetPoint("TOPLEFT")
scrollBox:SetPoint("BOTTOMRIGHT", self.ScrollBar, "BOTTOMLEFT")
ScrollUtil.RegisterScrollBoxWithScrollBar(scrollBox, self.ScrollBar)
end
function pfUI.api.CreateTabFrame(parent, align, outside)
local f = CreateFrame("Frame", nil, parent)
f:SetPoint("TOPLEFT", parent, "TOPLEFT", -5, 5)
f:SetPoint("BOTTOMRIGHT", parent, "BOTTOMRIGHT", 5, -5)
-- setup env
f.childs = { }
f.buttons = { }
f.align = align
f.outside = outside
f.bottomcount = 1
-- Create Child Frame
f.CreateTabChild = pfUI.api.CreateTabChild
return f
end
function pfUI.api.CreateScrollFrame(name, parent)
local f = CreateFrame("ScrollFrame", name, parent)
-- create slider
f.slider = CreateFrame("Slider", nil, f)
f.slider:SetOrientation('VERTICAL')
f.slider:SetPoint("TOPLEFT", f, "TOPRIGHT", -7, 0)
f.slider:SetPoint("BOTTOMRIGHT", 0, 0)
f.slider:SetThumbTexture(pfUI.media["img:col"])
f.slider.thumb = f.slider:GetThumbTexture()
f.slider.thumb:SetHeight(50)
f.slider.thumb:SetTexture(.3,1,.8,.5)
f.slider:SetScript("OnValueChanged", function()
f:SetVerticalScroll(this:GetValue())
f.UpdateScrollState()
end)
f.UpdateScrollState = function()
f.slider:SetMinMaxValues(0, f:GetVerticalScrollRange())
f.slider:SetValue(f:GetVerticalScroll())
local m = f:GetHeight()+f:GetVerticalScrollRange()
local v = f:GetHeight()
local ratio = v / m
if ratio < 1 then
local size = math.floor(v * ratio)
f.slider.thumb:SetHeight(size)
f.slider:Show()
else
f.slider:Hide()
end
-- The edit box takes its font from a font object and sets that object again
-- on every SetText, so a font path goes through a font object of the frame's own.
function pfUIScrollingEditBoxMixin:SetFont(font, size, flags)
if not self.font then
self.font = CreateFont(self:GetName() .. "Font")
self:GetEditBox().fontName = self.font
end
f.Scroll = function(self, step)
local step = step or 0
local current = f:GetVerticalScroll()
local max = f:GetVerticalScrollRange()
local new = current - step
f:SetVerticalScroll(Clamp(new, 0, max))
f:UpdateScrollState()
end
f:EnableMouseWheel(1)
f:SetScript("OnMouseWheel", function()
this:Scroll(arg1*10)
end)
return f
end
function pfUI.api.CreateScrollChild(name, parent)
local f = CreateFrame("Frame", name, parent)
-- dummy values required
f:SetSize(1, 1)
f:SetAllPoints(parent)
parent:SetScrollChild(f)
f:SetScript("OnUpdate", function()
this:GetParent():UpdateScrollState()
end)
return f
self.font:SetFont(font, size, flags)
self:SetFontObject(self.font)
end
-- [ CreateTextBox ]
@@ -1228,7 +1070,7 @@ end
-- survives filter changes -- a spell icon you picked still saves after you
-- switch the filter to "Items" and it drops out of the visible grid.
--
-- name global-name prefix for the scroll frame and editboxes
-- name global-name prefix for the icon grid and editboxes
-- parent the popup frame to attach the widgets to
-- extraType IconDataProviderExtraType.* seed (Spellbook / Equipment)
-- nameLabelText header shown above the name field
@@ -1298,17 +1140,13 @@ function pfUI.api.CreateIconPicker(name, parent, extraType, nameLabelText)
parent.iconLabel:SetPoint("TOPLEFT", parent, "TOPLEFT", 14, -86)
parent.iconLabel:SetText(MACRO_POPUP_CHOOSE_ICON)
-- Icon grid + scroll
local iconScroll = CreateFrame("ScrollFrame", name.."Scroll", parent, "FauxScrollFrameTemplate")
iconScroll:SetPoint("TOPLEFT", parent, "TOPLEFT", 14, -116)
iconScroll:SetWidth(ICON_GRID_COLS * (ICON_BTN_SIZE + ICON_BTN_PAD) - ICON_BTN_PAD)
iconScroll:SetHeight(ICON_GRID_ROWS * (ICON_BTN_SIZE + ICON_BTN_PAD) - ICON_BTN_PAD)
local scrollbar = _G[name.."ScrollScrollBar"]
scrollbar:ClearAllPoints()
scrollbar:SetPoint("TOPLEFT", iconScroll, "TOPRIGHT", 8, -16)
scrollbar:SetPoint("BOTTOMLEFT", iconScroll, "BOTTOMRIGHT", 8, 16)
SkinScrollbar(scrollbar)
-- Icon grid: the template keeps 5px around the grid and its 7px scroll bar,
-- and the grid leaves 4px before the bar
local gridWidth = ICON_GRID_COLS * (ICON_BTN_SIZE + ICON_BTN_PAD) - ICON_BTN_PAD
local gridHeight = ICON_GRID_ROWS * (ICON_BTN_SIZE + ICON_BTN_PAD) - ICON_BTN_PAD
local grid = CreateFrame("Frame", name.."Icons", parent, "pfUIScrollBoxListTemplate")
grid:SetPoint("TOPLEFT", parent, "TOPLEFT", 9, -111)
grid:SetSize(gridWidth + 4 + 7 + 10, gridHeight + 10)
-- Filter dropdown: All / Spells / Items
local filterDropdown = CreateFrame("Frame", name.."Filter", parent, "UIDropDownMenuTemplate")
@@ -1343,38 +1181,54 @@ function pfUI.api.CreateIconPicker(name, parent, extraType, nameLabelText)
UIDropDownMenu_SetSelectedValue(filterDropdown, "all")
SkinDropDown(filterDropdown)
local iconButtons = {}
for r = 1, ICON_GRID_ROWS do
for c = 1, ICON_GRID_COLS do
local i = (r - 1) * ICON_GRID_COLS + c
local btn = CreateFrame("Button", nil, parent)
btn:SetSize(ICON_BTN_SIZE, ICON_BTN_SIZE)
btn:SetPoint("TOPLEFT", iconScroll, "TOPLEFT", (c-1) * (ICON_BTN_SIZE + ICON_BTN_PAD), -(r-1) * (ICON_BTN_SIZE + ICON_BTN_PAD))
-- the selected icon gets a gold border in the grid and shows in the preview
local function UpdateSelection()
grid.ScrollBox:ReinitializeFrames()
parent.selectedPreview.tex:SetTexture(selectedIconPath)
end
local function IconOnClick()
local path = provider:GetIconByIndex(this.iconIndex)
if path then selectedIconPath = path end
UpdateSelection()
end
local function IconOnEnter()
local path = provider:GetIconByIndex(this.iconIndex)
if type(path) == "string" then
GameTooltip:SetOwner(this, "ANCHOR_RIGHT")
GameTooltip:SetText(IconKey(path), 1, 1, 1)
GameTooltip:Show()
end
end
local function InitIconButton(btn, icon)
-- one-time setup of a pooled button
if not btn.texture then
CreateBackdrop(btn)
btn.texture = btn:CreateTexture(nil, "ARTWORK")
btn.texture:SetAllPoints(btn)
btn.texture:SetTexCoord(.08, .92, .08, .92)
btn:SetScript("OnClick", function()
if this.iconIndex and provider then
local path = provider:GetIconByIndex(this.iconIndex)
if path then selectedIconPath = path end
RefreshIconGrid()
end
end)
btn:SetScript("OnEnter", function()
if not this.iconIndex or not provider then return end
local path = provider:GetIconByIndex(this.iconIndex)
if type(path) == "string" then
GameTooltip:SetOwner(this, "ANCHOR_RIGHT")
GameTooltip:SetText(IconKey(path), 1, 1, 1)
GameTooltip:Show()
end
end)
btn:SetScript("OnClick", IconOnClick)
btn:SetScript("OnEnter", IconOnEnter)
btn:SetScript("OnLeave", GameTooltip_Hide)
iconButtons[i] = btn
end
btn.iconIndex = icon.index
local path = provider:GetIconByIndex(icon.index)
btn.texture:SetTexture(path)
if IconKey(path) == IconKey(selectedIconPath) then
btn.backdrop:SetBackdropBorderColor(1, 0.82, 0, 1)
else
btn.backdrop:SetBackdropBorderColor(pfUI.cache.er, pfUI.cache.eg, pfUI.cache.eb, pfUI.cache.ea)
end
end
local view = CreateScrollBoxListGridView(ICON_GRID_COLS, 0, 0, 0, 4, ICON_BTN_PAD, ICON_BTN_PAD)
view:SetElementSize(ICON_BTN_SIZE, ICON_BTN_SIZE)
view:SetElementInitializer("Button", InitIconButton)
ScrollUtil.InitScrollBoxListWithScrollBar(grid.ScrollBox, grid.ScrollBar, view)
-- Rebuild the search-filtered index list (provider indices whose icon
-- basename contains the search text); nil when the search box is empty.
function RebuildFilter()
@@ -1392,38 +1246,17 @@ function pfUI.api.CreateIconPicker(name, parent, extraType, nameLabelText)
end
end
-- one grid entry per provider index the filter lets through, scrolled to the top
function RefreshIconGrid()
EnsureProvider()
local numIcons = filtered and table.getn(filtered) or provider:GetNumIcons()
local numRows = math.ceil(numIcons / ICON_GRID_COLS)
FauxScrollFrame_Update(iconScroll, numRows, ICON_GRID_ROWS, ICON_BTN_SIZE + ICON_BTN_PAD)
local offset = FauxScrollFrame_GetOffset(iconScroll)
for i = 1, ICON_GRID_ROWS * ICON_GRID_COLS do
local listIdx = i + offset * ICON_GRID_COLS
local btn = iconButtons[i]
if listIdx <= numIcons then
btn:Show()
local providerIdx = filtered and filtered[listIdx] or listIdx
btn.iconIndex = providerIdx
local path = provider:GetIconByIndex(providerIdx)
btn.texture:SetTexture(path)
if IconKey(path) == IconKey(selectedIconPath) then
btn.backdrop:SetBackdropBorderColor(1, 0.82, 0, 1)
else
btn.backdrop:SetBackdropBorderColor(pfUI.cache.er, pfUI.cache.eg, pfUI.cache.eb, pfUI.cache.ea)
end
else
btn:Hide()
btn.iconIndex = nil
end
if filtered then
grid.ScrollBox:SetDataProvider(CreateDataProviderWithAssignedKey(filtered, "index"))
else
grid.ScrollBox:SetDataProvider(CreateDataProviderByIndexCount(provider:GetNumIcons()))
end
parent.selectedPreview.tex:SetTexture(selectedIconPath)
end
iconScroll:SetScript("OnVerticalScroll", function()
FauxScrollFrame_OnVerticalScroll(ICON_BTN_SIZE + ICON_BTN_PAD, function() RefreshIconGrid() end)
end)
-- Search box (bottom-left) filters the grid by icon name.
parent.searchLabel = parent:CreateFontString(nil, "OVERLAY", "GameFontNormal")
parent.searchLabel:SetPoint("BOTTOMLEFT", parent, "BOTTOMLEFT", 16, 18)
@@ -1438,13 +1271,14 @@ function pfUI.api.CreateIconPicker(name, parent, extraType, nameLabelText)
parent.search:SetScript("OnTextChanged", function()
searchText = strupper(strtrim(this:GetText()))
RebuildFilter()
scrollbar:SetValue(0)
RefreshIconGrid()
end)
-- Release the provider when the popup closes so its icon cache GCs.
-- Release the provider when the popup closes so its icon cache GCs, and
-- the grid's entries that index into it.
parent:HookScript("OnHide", function()
if provider then provider:Release(); provider = nil end
grid.ScrollBox:RemoveDataProvider()
end)
local handle = { editbox = parent.editbox, search = parent.search }
@@ -1452,15 +1286,13 @@ function pfUI.api.CreateIconPicker(name, parent, extraType, nameLabelText)
function handle.SetIcon(path) selectedIconPath = path or QUESTION_MARK end
function handle.Refresh() RefreshIconGrid() end
function handle.SetIconAreaShown(shown)
local method = shown and "Show" or "Hide"
iconScroll[method](iconScroll)
for _, b in ipairs(iconButtons) do b[method](b) end
parent.iconLabel[method](parent.iconLabel)
parent.selectedLabel[method](parent.selectedLabel)
parent.selectedPreview[method](parent.selectedPreview)
filterDropdown[method](filterDropdown)
parent.searchLabel[method](parent.searchLabel)
parent.search[method](parent.search)
grid:SetShown(shown)
parent.iconLabel:SetShown(shown)
parent.selectedLabel:SetShown(shown)
parent.selectedPreview:SetShown(shown)
filterDropdown:SetShown(shown)
parent.searchLabel:SetShown(shown)
parent.search:SetShown(shown)
end
return handle
end
+105
View File
@@ -0,0 +1,105 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/">
<!--
pfUI's scroll bar for ClassicAPI's ScrollBox: a thin track with a flat
thumb. ScrollBarMixin needs Back and Forward steppers, so they exist but
stay hidden. Hook it up with ScrollUtil.InitScrollBoxListWithScrollBar.
-->
<EventFrame name="pfUIScrollBarTemplate" inherits="VerticalScrollBarTemplate" virtual="true">
<Size x="7"/>
<KeyValues>
<KeyValue key="hideIfUnscrollable" value="true" type="boolean"/>
</KeyValues>
<Frames>
<Frame parentKey="Track" setAllPoints="true" enableMouse="true">
<Frames>
<EventButton parentKey="Thumb">
<Size x="7"/>
<Layers>
<Layer level="ARTWORK">
<Texture setAllPoints="true">
<Color r=".3" g="1" b=".8" a=".5"/>
</Texture>
</Layer>
</Layers>
</EventButton>
</Frames>
</Frame>
<EventButton parentKey="Back" hidden="true"/>
<EventButton parentKey="Forward" hidden="true"/>
</Frames>
</EventFrame>
<!--
A ScrollFrame for free-form content, with pfUIScrollBarTemplate inside its
right edge. Put the content in frame.Content, which spans the frame: the
engine measures the scroll range from the shown frames inside it, so the
content needs no height. Changes inside it are not measured until
frame:UpdateScrollChildRect().
-->
<ScrollFrame name="pfUIScrollFrameTemplate" virtual="true">
<Frames>
<EventFrame parentKey="ScrollBar" inherits="pfUIScrollBarTemplate">
<Anchors>
<Anchor point="TOPRIGHT"/>
<Anchor point="BOTTOMRIGHT"/>
</Anchors>
</EventFrame>
</Frames>
<ScrollChild>
<Frame parentKey="Content">
<Size x="1" y="1"/>
</Frame>
</ScrollChild>
<Scripts>
<OnLoad>
self.Content:SetAllPoints()
self:EnableMouseWheel(true)
ScrollUtil.InitScrollFrameWithScrollBar(self, self.ScrollBar)
</OnLoad>
</Scripts>
</ScrollFrame>
<!--
A WowScrollBoxList with pfUIScrollBarTemplate beside it, both 5px inside the
frame so CreateBackdrop(frame, nil, true) can frame them. Fill it with
ScrollUtil.InitScrollBoxListWithScrollBar(frame.ScrollBox, frame.ScrollBar, view).
-->
<Frame name="pfUIScrollBoxListTemplate" virtual="true">
<Frames>
<EventFrame parentKey="ScrollBar" inherits="pfUIScrollBarTemplate">
<Anchors>
<Anchor point="TOPRIGHT" x="-5" y="-5"/>
<Anchor point="BOTTOMRIGHT" x="-5" y="5"/>
</Anchors>
</EventFrame>
<Frame parentKey="ScrollBox" inherits="WowScrollBoxList">
<Anchors>
<Anchor point="TOPLEFT" x="5" y="-5"/>
<Anchor point="BOTTOMRIGHT" relativeKey="$parent.ScrollBar" relativePoint="BOTTOMLEFT"/>
</Anchors>
</Frame>
</Frames>
</Frame>
<!--
ClassicAPI's ScrollingEditBoxTemplate with pfUIScrollBarTemplate beside the
text. The frame needs a name: SetFont(font, size, flags) names its font
object after it.
-->
<Frame name="pfUIScrollingEditBoxTemplate" inherits="ScrollingEditBoxTemplate" mixin="pfUIScrollingEditBoxMixin" virtual="true">
<KeyValues>
<KeyValue key="maxLetters" value="0" type="number"/>
</KeyValues>
<Frames>
<EventFrame parentKey="ScrollBar" inherits="pfUIScrollBarTemplate">
<Anchors>
<Anchor point="TOPRIGHT"/>
<Anchor point="BOTTOMRIGHT"/>
</Anchors>
</EventFrame>
</Frames>
<Scripts>
<OnLoad method="InitScrollBar" inherit="prepend"/>
</Scripts>
</Frame>
</Ui>
+7 -4
View File
@@ -1051,6 +1051,8 @@ function pfUI.uf.OnEvent()
this.update_pvp = true
elseif event == "UNIT_COMBAT" then
CombatFeedback_OnCombatEvent(arg2, arg3, arg4, arg5)
elseif event == "INCOMING_RESURRECT_CHANGED" then
this.update_indicators = true
else
this.update_base = true
end
@@ -1221,10 +1223,6 @@ function pfUI.uf.OnUpdate()
this.incHeal:Hide()
end
end
-- update ressurections
local ress = libpredict:UnitHasIncomingResurrection(unit)
this.ressIcon:SetShown(ress and UnitIsDeadOrGhost(unit))
end
end
end
@@ -1302,6 +1300,7 @@ local UNIT_EVENTS = {
"UNIT_PORTRAIT_UPDATE", "UNIT_MODEL_CHANGED",
"UNIT_FACTION",
"UNIT_AURA", -- frame=buff, frame=debuff
"INCOMING_RESURRECT_CHANGED", -- frame=ressIcon
}
-- Point this frame's unit-event subscriptions at `unitstr`, or drop them when
@@ -1649,6 +1648,10 @@ function pfUI.uf:RefreshIndicators(unit)
unit.pvpIcon:SetShown(unit.config.showPVP == "1" and UnitIsPVP(unitstr))
end
if unit.ressIcon then -- Resurrection Icon
unit.ressIcon:SetShown(libpredict:UnitHasResurrection(unitstr))
end
if unit.restIcon and unit:GetName() == "pfPlayer" then -- Rest Icon
unit.restIcon:SetShown(C.unitframes.player.showRest == "1" and UnitIsUnit(unitstr, "player") and IsResting())
end
+677
View File
@@ -0,0 +1,677 @@
-- 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",
ADD_FILTER = "Filter hinz.",
AURAS = "Auren",
AURAS_COMBATLOG_TOOLTIP = "Zeigt Nachrichten über vorteilhafte und schädliche Statuseffekte an.",
BENEFICIAL = "Vorteilhaft",
BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "Anzeigen, wenn Ihr eine vorteilhafte Aura erhaltet oder verliert.",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "Alles anzeigen, das %s betrifft?",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "Alles anzeigen",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "Was ist mit %s geschehen?",
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.",
BY_SOURCE = "Nach Quelle",
BY_SOURCE_COMBATLOG_TOOLTIP = "Zeilenfarbe basierend auf dem Zaubernden.",
BY_TARGET = "Nach Ziel",
BY_TARGET_COMBATLOG_TOOLTIP = "Zeilenfarbe basierend auf dem Ziel.",
COLORIZE = "Einfärben:",
COLORS = "Farben",
COLOR_BY_SCHOOL = "Farbe nach Art",
COMBATLOG_DEFAULTS = "Kampflog: Standard",
COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "Benutzerdefinierte Einheit",
COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "Freundliche Einheiten",
COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "Gegnerische Spieler",
COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "Feindliche Einheiten",
COMBATLOG_FILTER_STRING_ME = "Spieler",
COMBATLOG_FILTER_STRING_MY_PET = "Begleiter",
COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "Neutrale Einheiten",
COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "Unbekannt",
COMBATLOG_HIGHLIGHT_ABILITY = "Fähigkeit",
COMBATLOG_HIGHLIGHT_DAMAGE = "Schaden",
COMBATLOG_HIGHLIGHT_KILL = "Sieg",
COMBATLOG_HIGHLIGHT_SCHOOL = "Magieart",
COMBATLOG_UNKNOWN_UNIT = "Etwas",
COMBAT_FACTION_CHANGE = "Ruf",
COMBAT_HONOR_GAIN = "Ehre",
COMBAT_LOG_UNIT_YOU_ENABLED = "1",
COMBAT_MISC_INFO = "Versch. Infos",
COMBAT_XP_GAIN = "Erfahrung",
CONFIRM_COMBAT_FILTER_DEFAULTS = "Wollt Ihr Eure Filter wirklich auf die Standardeinstellungen zurücksetzen?",
CONFIRM_COMBAT_FILTER_DELETE = "Wollt Ihr diesen Filter wirklich löschen?",
COPY_FILTER = "Filter kop.",
DAMAGE_NUMBER = "Schadenszahl",
DAMAGE_SCHOOL_TEXT = "Schadensart",
DAMAGE_SHIELD = "Schadensschilde",
DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit als Reaktion auf einen Nahkampfangriff Schaden verursacht, z.B. Dornen.",
DEATHS_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn etwas stirbt.",
DEFAULT_COMBATLOG_FILTER_NAME = "Filter %d",
DISPELS = "Bannungen",
DISPEL_AURA_COMBATLOG_TOOLTIP = "Anzeigen, wenn eine Aura entfernt, unterbrochen oder gestohlen wird.",
DONE_BY = "Aktion von:",
DONE_TO = "Aktion auf:",
DRAINS = "Entzüge",
ENTER_FILTER_NAME = "Filternamen eingeben:",
ENTIRE_LINE = "Gesamte Zeile",
ENTIRE_LINE_COMBATLOG_TOOLTIP = "Die gesamte Zeile basierend auf der unteren Auswahl einfärben.",
ENVIRONMENTAL_DAMAGE = "Umgebungsschaden",
ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn jemand Schaden durch Stürze, durch Ertrinken oder das Schwimmen in Lava erhält.",
EXAMPLE_SPELL_FIREBALL = "Feuerball",
EXAMPLE_SPELL_FROSTBOLT = "Frostblitz",
EXAMPLE_TARGET_MONSTER = "Monster",
EXAMPLE_TEXT = "Beispieltext:",
EXTRA_ATTACKS = "Zusatzangriffe",
FAILURES = "Fehlschläge",
FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "Aktionen, die von feindlichen Kreaturen und Begleitern durchgeführt werden.",
FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "Aktionen, die von freundlichen Spielern, Begleitern und Kreaturen durchgeführt werden.",
FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Aktionen, die von feindlichen Spielern durchgeführt werden.",
FILTER_BY_ME_COMBATLOG_TOOLTIP = "Aktionen, die von Euch, Euren Fallen und Euren Zaubern durchgeführt werden.",
FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "Aktionen, die von neutralen Kreaturen durchgeführt werden.",
FILTER_BY_PET_COMBATLOG_TOOLTIP = "Aktionen, die von Euren Begleitern, beschworenen Wächtern oder von Euch bezauberten Spielern durchgeführt werden.",
FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "Aktionen, die von unbestimmten Quellen durchgeführt werden, so wie Sturz, Säure oder Lava.",
FILTER_NAME = "Filtername",
FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "Aktionen, die auf freundliche Spieler, Begleiter und Kreaturen durchgeführt werden.",
FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "Aktionen, die auf feindliche Begleiter und Kreaturen durchgeführt werden.",
FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Aktionen, die auf gegnerische Spieler durchgeführt werden.",
FILTER_TO_ME_COMBATLOG_TOOLTIP = "Aktionen, die auf Euch durchgeführt werden.",
FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "Aktionen, die auf neutrale Kreaturen durchgeführt werden.",
FILTER_TO_PET_COMBATLOG_TOOLTIP = "Aktionen, die auf Eure Begleiter, beschworene Wächter oder von Euch bezauberte Spieler durchgeführt werden.",
FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "Aktionen, die auf unsichtbare Ziele durchgeführt werden.",
FORMATTING = "Format",
FULL_TEXT_COMBATLOG_TOOLTIP = "Kampflogeinträge als vollständige Sätze anzeigen.",
HARMFUL_AURA_COMBATLOG_TOOLTIP = "Anzeigen, wenn Ihr eine schädliche Aura erhaltet oder verliert.",
HEALS = "Heilungen",
HIGHLIGHTING = "Hervorhebung:",
HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "Hebt in den Kampfnachrichten die Namen von Fähigkeiten hervor.",
HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "Hebt in den Kampfnachrichten die Schadenszahlen hervor.",
HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "Hebt die gesamte Zeile hervor, wenn Ihr oder ein Mitglied Eurer Gruppe einen Feind besiegt.",
HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "Hebt in den Kampfnachrichten die Zauberarten hervor.",
HOSTILE = "Feindlich",
INTERRUPTS = "Unterbrechungen",
ITEM_NAMES = "Gegenstandsnamen",
ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Klammern um Namen von Gegenständen anzeigen.",
KILLS_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Mitglied Eurer Gruppe etwas tötet.",
MELEE = "Nahkampf",
MELEE_COMBATLOG_TOOLTIP = "Zeigt gewöhnliche Nahkampfangriffe an.",
MESSAGE_SOURCES = "Nachrichtenquellen",
MISSES = "Verfehlen",
MOVE_FILTER_DOWN = "Filter nach unten",
MOVE_FILTER_UP = "Filter nach oben",
OTHER = "Anderes",
PERIODIC = "Regelmäßig",
POWER_GAINS = "Machtgewinn",
POWER_GAINS_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit Mana, Energie, Wut, Fokus, Chi, heilige Kraft oder Schattenkugeln wiederherstellt.",
QUICKBUTTON_NAME_EVERYTHING = "Alles",
QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "Alle Kampfnachrichten anzeigen.",
QUICKBUTTON_NAME_KILLS = "Todesstöße",
QUICKBUTTON_NAME_KILLS_TOOLTIP = "Alle Tode und Todesstöße anzeigen.",
QUICKBUTTON_NAME_ME = "Was ist mit mir geschehen?",
QUICKBUTTON_NAME_ME_TOOLTIP = "Alles mir Zugefügte anzeigen.",
QUICKBUTTON_NAME_SELF = "Selbst",
QUICKBUTTON_NAME_SELF_TOOLTIP = "Zeigt Nachrichten für von Euch und an Euch ausgeführte Aktionen.",
QUICK_BUTTON_COMBATLOG_TOOLTIP = "Platziert im Chatfenster eine Verknüpfung zu diesem Filter.",
RANGED = "Distanz",
RANGED_COMBATLOG_TOOLTIP = "Zeigt Angriffe mit Bögen, Schusswaffen, Wurfwaffen und Zauberstäben an.",
RANGE_DAMAGE_COMBATLOG_TOOLTIP = "Zeigt Distanzangriffe an, die den vollen oder teilweisen Schaden verursachen.",
RANGE_MISSED_COMBATLOG_TOOLTIP = "Zeigt fehlgeschlagene Distanzangriffe an, die keinen Schaden verursachen.",
RESURRECT = "Wiederbelebung",
SETTINGS = "Optionen",
SHOW_BRACES = "Klammern anzeigen",
SHOW_BRACES_COMBATLOG_TOOLTIP = "Klammern um Hyperlinks im Kampflog anzeigen.",
SHOW_QUICK_BUTTON = "Schnelltaste anzeigen",
SHOW_TIMESTAMP = "Zeitstempel anzeigen",
SOURCE = "Quelle",
SPECIAL = "Spezial",
SPELLS_COMBATLOG_TOOLTIP = "Zeigt Nachrichten über Zauber und Spezialfähigkeiten an.",
SPELL_CASTING = "Zauberwirken",
SPELL_CASTING_COMBATLOG_TOOLTIP = "Nachrichten über das Wirken von Zaubern anzeigen.",
SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber nicht gewirkt werden kann oder nicht abgeschlossen wird.",
SPELL_CAST_START_COMBATLOG_TOOLTIP = "Nachricht anzeigen, wenn das Wirken eines Zaubers begonnen wird.",
SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber erfolgreich abgeschlossen wird.",
SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "Zauber basierend auf der Art einfärben.",
SPELL_DAMAGE_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit Schaden verursacht.",
SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "Färbt die Schadenszahl von Schwüngen, die nicht im Nahkampf stattfinden.",
SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "Den Namen der Schadensart einfärben. (z.B. Schatten)",
SPELL_DRAIN_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit Mana, Energie, Wut oder Fokus verringert.",
SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit zusätzliche Angriffe gewährt.",
SPELL_HEAL_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit Schaden heilt.",
SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "Nachrichten über spezielle Zauberarten anzeigen, die beispielsweise Haltbarkeitsverlust verursachen oder Schaden mit einem Begleiter teilen.",
SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit einen anderen Zauber unterbricht.",
SPELL_MISSED_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit keinen Schaden verursachen kann. Das schließt Ausweichen, Parieren, Blocken, Abwehren, Immunität, Absorbieren und Entkommen ein.",
SPELL_NAMES = "Zaubernamen",
SPELL_NAMES_COMBATLOG_TOOLTIP = "Namen von Zaubern einfärben.",
SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Klammern um Namen von Zaubern anzeigen.",
SPELL_PERIODIC_COMBATLOG_TOOLTIP = "Zauber anzeigen, die einen regelmäßigen Effekt ausführen.",
SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit regelmäßigen Schaden verursacht, z.B. Schattenwort: Schmerz oder Verderbnis.",
SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit regelmäßig Schaden heilt, z.B. Erneuerung oder Verjüngung.",
SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn der regelmäßige Schaden eines Zaubers oder einer Fähigkeit versagt. Das schließt Immunität, Absorbieren und Entkommen ein.",
SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit regelmäßig einen Effekt ausführt, z.B. das Wiederherstellen oder Entziehen von Mana.",
SPELL_RESURRECT_COMBATLOG_TOOLTIP = "Nachrichten anzeigen, wenn ein Zauber oder eine Fähigkeit einen Spieler oder eine Kreatur wiedererweckt.",
SPELL_SUMMON_COMBATLOG_TOOLTIP = "Nachricht anzeigen, wenn ein Zauber oder eine Fähigkeit eine Kreatur beschwört oder ein Objekt erschafft.",
START = "Start",
STRING_SCHOOL_UNKNOWN = "Unbekannt",
SUCCESS = "Erfolg",
SUMMONS = "Herbeiruf.",
SWING_DAMAGE_COMBATLOG_TOOLTIP = "Zeigt Nahkampfangriffe an, die den vollen oder teilweise Schaden verursachen.",
SWING_MISSED_COMBATLOG_TOOLTIP = "Zeigt fehlgeschlagene Nahkampfangriffe an, die keinen Schaden verursachen.",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%s %s %s %s %s. %s %11$s",
TEXT_MODE_A_STRING_2 = "%1$s %3$s %2$s %4$s %5$s. %6$s",
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",
TIMESTAMP_COMBATLOG_TOOLTIP = "Den Zeitstempel für Nachrichten im Kampflog anzeigen.",
UNIT_COLORS = "Einheitenfarben:",
UNIT_NAMES = "Einheitennamen",
UNIT_NAMES_COMBATLOG_TOOLTIP = "Namen von Einheiten einfärben.",
UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Klammern um Namen von Einheiten anzeigen.",
UNIT_YOU = "Ihr",
UNIT_YOU_DEST = "Euch",
UNIT_YOU_DEST_POSSESSIVE = "Euer",
UNIT_YOU_SOURCE = "Euer Charakter",
UNIT_YOU_SOURCE_POSSESSIVE = "Euer",
USE_FULL_TEXT_MODE = "Volltextmodus verwenden",
}
+677
View File
@@ -0,0 +1,677 @@
-- 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",
ADD_FILTER = "Add Filter",
AURAS = "Auras",
AURAS_COMBATLOG_TOOLTIP = "Shows message about beneficial and harmful state effects.",
BENEFICIAL = "Beneficial",
BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "Show when you gain or lose a beneficial aura.",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "Show everything involving %s?",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "Show everything",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "What happened to %s?",
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.",
BY_SOURCE = "By Source",
BY_SOURCE_COMBATLOG_TOOLTIP = "Line color based on caster.",
BY_TARGET = "By Target",
BY_TARGET_COMBATLOG_TOOLTIP = "Line color based on target.",
COLORIZE = "Colorize:",
COLORS = "Colors",
COLOR_BY_SCHOOL = "Color-by-School",
COMBATLOG_DEFAULTS = "Combat Log Defaults",
COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "Custom Unit",
COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "Friends",
COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "Enemy Players",
COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "Enemy Units",
COMBATLOG_FILTER_STRING_ME = "Me",
COMBATLOG_FILTER_STRING_MY_PET = "Pet",
COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "Neutral",
COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "Unknown",
COMBATLOG_HIGHLIGHT_ABILITY = "Ability",
COMBATLOG_HIGHLIGHT_DAMAGE = "Damage",
COMBATLOG_HIGHLIGHT_KILL = "Kill",
COMBATLOG_HIGHLIGHT_SCHOOL = "School",
COMBATLOG_UNKNOWN_UNIT = "Something",
COMBAT_FACTION_CHANGE = "Reputation",
COMBAT_HONOR_GAIN = "Honor",
COMBAT_LOG_UNIT_YOU_ENABLED = "1",
COMBAT_MISC_INFO = "Misc Info",
COMBAT_XP_GAIN = "Experience",
CONFIRM_COMBAT_FILTER_DEFAULTS = "Do you really want to reset your filters to their default values?",
CONFIRM_COMBAT_FILTER_DELETE = "Do you really want to delete this filter?",
COPY_FILTER = "Copy Filter",
DAMAGE_NUMBER = "Damage Number",
DAMAGE_SCHOOL_TEXT = "Damage School",
DAMAGE_SHIELD = "Damage Shields",
DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "Show messages when a spell or ability deals damage in reaction to a melee swing, such as Thorns.",
DEATHS_COMBATLOG_TOOLTIP = "Show messages when something dies.",
DEFAULT_COMBATLOG_FILTER_NAME = "Filter %d",
DISPELS = "Dispels",
DISPEL_AURA_COMBATLOG_TOOLTIP = "Show when an aura is removed, broken, or stolen.",
DONE_BY = "Done By:",
DONE_TO = "Done To:",
DRAINS = "Drains",
ENTER_FILTER_NAME = "Enter filter name:",
ENTIRE_LINE = "Entire Line",
ENTIRE_LINE_COMBATLOG_TOOLTIP = "Color the entire line based on the selection below.",
ENVIRONMENTAL_DAMAGE = "Environmental Damage",
ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "Show messages when someone takes damage from falling, drowning or swimming in lava.",
EXAMPLE_SPELL_FIREBALL = "Fireball",
EXAMPLE_SPELL_FROSTBOLT = "Frostbolt",
EXAMPLE_TARGET_MONSTER = "Monster",
EXAMPLE_TEXT = "Example Text:",
EXTRA_ATTACKS = "Extra Attacks",
FAILURES = "Failures",
FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "Actions performed by hostile creatures and pets.",
FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "Actions performed by friendly players, pets, and creatures.",
FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Actions performed by hostile players.",
FILTER_BY_ME_COMBATLOG_TOOLTIP = "Actions performed by you, your traps, and your spells.",
FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "Actions performed by neutral creatures.",
FILTER_BY_PET_COMBATLOG_TOOLTIP = "Actions performed by your pets, summoned guardians, and charmed players.",
FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "Actions performed by undefined sources such as falling, acid, or lava.",
FILTER_NAME = "Filter Name",
FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "Actions performed on friendly players, pets, and creatures.",
FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "Actions performed on hostile pets and creatures.",
FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Actions performed on hostile players.",
FILTER_TO_ME_COMBATLOG_TOOLTIP = "Actions performed on you.",
FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "Actions performed on neutral creatures.",
FILTER_TO_PET_COMBATLOG_TOOLTIP = "Actions performed on your pets, summoned guardians, and charmed players.",
FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "Actions performed on invisible targets.",
FORMATTING = "Formatting",
FULL_TEXT_COMBATLOG_TOOLTIP = "Show combat log entries as full sentences.",
HARMFUL_AURA_COMBATLOG_TOOLTIP = "Show when you gain or lose a harmful aura.",
HEALS = "Heals",
HIGHLIGHTING = "Highlighting:",
HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "Highlight ability names in combat messages.",
HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "Highlight damage numbers in combat messages.",
HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "Highlights the entire line when you or a party member makes a kill.",
HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "Highlight the school of a spell in combat messages.",
HOSTILE = "Hostile",
INTERRUPTS = "Interrupts",
ITEM_NAMES = "Item Names",
ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Show braces around item names.",
KILLS_COMBATLOG_TOOLTIP = "Show messages when a member of your party kills something.",
MELEE = "Melee",
MELEE_COMBATLOG_TOOLTIP = "Shows natural melee swings.",
MESSAGE_SOURCES = "Message Sources",
MISSES = "Misses",
MOVE_FILTER_DOWN = "Move Filter Down",
MOVE_FILTER_UP = "Move Filter Up",
OTHER = "Other",
PERIODIC = "Periodic",
POWER_GAINS = "Power Gains",
POWER_GAINS_COMBATLOG_TOOLTIP = "Show messages when a spell or ability restores mana, energy, rage, focus, chi, holy power, or shadow orbs.",
QUICKBUTTON_NAME_EVERYTHING = "Everything",
QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "Show all combat messages.",
QUICKBUTTON_NAME_KILLS = "Kills",
QUICKBUTTON_NAME_KILLS_TOOLTIP = "Show all deaths and kills.",
QUICKBUTTON_NAME_ME = "What happened to me?",
QUICKBUTTON_NAME_ME_TOOLTIP = "Show everything done to me.",
QUICKBUTTON_NAME_SELF = "Self",
QUICKBUTTON_NAME_SELF_TOOLTIP = "Show messages of actions done by you and done to you.",
QUICK_BUTTON_COMBATLOG_TOOLTIP = "Places a shortcut to this filter on the chat window.",
RANGED = "Ranged",
RANGED_COMBATLOG_TOOLTIP = "Shows attacks from bows, guns, thrown weapons, and wands.",
RANGE_DAMAGE_COMBATLOG_TOOLTIP = "Show ranged shots that deal full or partial damage.",
RANGE_MISSED_COMBATLOG_TOOLTIP = "Show ranged shots that fail to deal damage.",
RESURRECT = "Resurrections",
SETTINGS = "Settings",
SHOW_BRACES = "Show Braces",
SHOW_BRACES_COMBATLOG_TOOLTIP = "Display braces around hyperlinks in combat log messages.",
SHOW_QUICK_BUTTON = "Show Quick Button",
SHOW_TIMESTAMP = "Show Timestamp",
SOURCE = "Source:",
SPECIAL = "Special",
SPELLS_COMBATLOG_TOOLTIP = "Shows messages about spells and special abilities.",
SPELL_CASTING = "Spell Casting",
SPELL_CASTING_COMBATLOG_TOOLTIP = "Show messages about spell casting.",
SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "Show messages when a spell cannot be cast or fails to cast.",
SPELL_CAST_START_COMBATLOG_TOOLTIP = "Show messages when a spell begins casting.",
SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "Show messages when a spell successfully completes.",
SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "Color spell names by school.",
SPELL_DAMAGE_COMBATLOG_TOOLTIP = "Show messages when a spell or ability deals damage.",
SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "Colorizes the damage number on non-melee swings.",
SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "Color the damage school name. (e.g. shadow)",
SPELL_DRAIN_COMBATLOG_TOOLTIP = "Show messages when a spell or ability reduces mana, energy, rage, or focus.",
SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "Show messages when a spell or ability grants additional attacks.",
SPELL_HEAL_COMBATLOG_TOOLTIP = "Show messages when a spell or ability heals damage.",
SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "Show messages about special spell types, such as those that inflict durability loss or share damage with a pet.",
SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "Show messages when a spell or ability interrupts another spell.",
SPELL_MISSED_COMBATLOG_TOOLTIP = "Show messages when a spell or ability fails to deal damage. This includes dodges, parries, blocks, deflections, immunes, absorbs and evades.",
SPELL_NAMES = "Spell Names",
SPELL_NAMES_COMBATLOG_TOOLTIP = "Color spell names.",
SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Show braces around spell names.",
SPELL_PERIODIC_COMBATLOG_TOOLTIP = "Show spells that perform an effect incrementally.",
SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "Show messages when a spell or ability periodically deals damage, such as Shadow Word: Pain or Corruption.",
SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "Show messages when a spell or ability periodically heals damage, such as Renew or Rejuvenation.",
SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "Show messages when a spell or ability fails to periodically deal damage. This includes immunes, absorbs and evades.",
SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "Show messages when a spell or ability periodically performs any other effect, such as restoring or draining mana.",
SPELL_RESURRECT_COMBATLOG_TOOLTIP = "Show messages when a spell or ability resurrects another player or creature.",
SPELL_SUMMON_COMBATLOG_TOOLTIP = "Show messages when a spell or ability summons a creature or creates an object.",
START = "Start",
STRING_SCHOOL_UNKNOWN = "Unknown",
SUCCESS = "Success",
SUMMONS = "Summons",
SWING_DAMAGE_COMBATLOG_TOOLTIP = "Shows melee swings that deal full or partial damage.",
SWING_MISSED_COMBATLOG_TOOLTIP = "Show melee swings that do not deal damage.",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%s %s %s %s %s. %s %11$s",
TEXT_MODE_A_STRING_2 = "%1$s %3$s %2$s %4$s %5$s. %6$s",
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",
TIMESTAMP_COMBATLOG_TOOLTIP = "Display the timestamp for combat log messages.",
UNIT_COLORS = "Unit Colors:",
UNIT_NAMES = "Unit Names",
UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names.",
UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Show braces around unit names.",
UNIT_YOU = "You",
UNIT_YOU_DEST = "You",
UNIT_YOU_DEST_POSSESSIVE = "Your",
UNIT_YOU_SOURCE = "You",
UNIT_YOU_SOURCE_POSSESSIVE = "Your",
USE_FULL_TEXT_MODE = "Use Verbose Mode",
}
+677
View File
@@ -0,0 +1,677 @@
-- 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",
ADD_FILTER = "Añadir",
AURAS = "Auras",
AURAS_COMBATLOG_TOOLTIP = "Mostrar mensajes sobre efectos de estados beneficiosos y dañinos.",
BENEFICIAL = "Beneficioso",
BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "Mostrar cuando ganas o pierdes un aura beneficiosa.",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "¿Mostrar todo lo referente a %s?",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "Mostrar todo",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "¿Qué le pasó a %s?",
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.",
BY_SOURCE = "Por origen",
BY_SOURCE_COMBATLOG_TOOLTIP = "Color de línea según taumaturgo.",
BY_TARGET = "Por objetivo",
BY_TARGET_COMBATLOG_TOOLTIP = "Color de línea según objetivo.",
COLORIZE = "Colorear:",
COLORS = "Colores",
COLOR_BY_SCHOOL = "Colorear según escuela",
COMBATLOG_DEFAULTS = "Restablecer reg. combate",
COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "Unidad personalizada",
COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "Amigos",
COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "Jugadores enemigos",
COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "Unidades enemigas",
COMBATLOG_FILTER_STRING_ME = "Yo",
COMBATLOG_FILTER_STRING_MY_PET = "Mascota",
COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "Neutral",
COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "Desconocido",
COMBATLOG_HIGHLIGHT_ABILITY = "Facultad",
COMBATLOG_HIGHLIGHT_DAMAGE = "Daño",
COMBATLOG_HIGHLIGHT_KILL = "Muerte",
COMBATLOG_HIGHLIGHT_SCHOOL = "Escuela",
COMBATLOG_UNKNOWN_UNIT = "Algo",
COMBAT_FACTION_CHANGE = "Reputación",
COMBAT_HONOR_GAIN = "Honor",
COMBAT_LOG_UNIT_YOU_ENABLED = "0",
COMBAT_MISC_INFO = "Info. misc.",
COMBAT_XP_GAIN = "Experiencia",
CONFIRM_COMBAT_FILTER_DEFAULTS = "¿De verdad quieres restablecer la configuración inicial?",
CONFIRM_COMBAT_FILTER_DELETE = "¿Realmente quieres borrar este filtro?",
COPY_FILTER = "Copiar",
DAMAGE_NUMBER = "Cifra de daño",
DAMAGE_SCHOOL_TEXT = "Escuela de daño",
DAMAGE_SHIELD = "Escudos de daño",
DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad hace daño en reacción a un golpe cuerpo a cuerpo, como Espinas.",
DEATHS_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando haya una muerte.",
DEFAULT_COMBATLOG_FILTER_NAME = "Filtro %d",
DISPELS = "Disipación",
DISPEL_AURA_COMBATLOG_TOOLTIP = "Mostrar cuando se elimina, rompe o roba un aura.",
DONE_BY = "Hecho por:",
DONE_TO = "Hecho a:",
DRAINS = "drena",
ENTER_FILTER_NAME = "Escribe el nombre del filtro:",
ENTIRE_LINE = "Toda la línea",
ENTIRE_LINE_COMBATLOG_TOOLTIP = "Colorear toda la línea según la siguiente opción.",
ENVIRONMENTAL_DAMAGE = "Daño del entorno",
ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando alguien sufra daño al caer, ahogarse o nadar en lava.",
EXAMPLE_SPELL_FIREBALL = "Bola de Fuego",
EXAMPLE_SPELL_FROSTBOLT = "Descarga de Escarcha",
EXAMPLE_TARGET_MONSTER = "Monstruo",
EXAMPLE_TEXT = "Texto de muestra:",
EXTRA_ATTACKS = "Ataques extra",
FAILURES = "Fallos",
FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "Acciones llevadas a cabo por criaturas y mascotas hostiles.",
FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "Acciones llevadas a cabo por jugadores, mascotas y criaturas aliados.",
FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Acciones llevadas a cabo por jugadores hostiles.",
FILTER_BY_ME_COMBATLOG_TOOLTIP = "Acciones llevadas a cabo por ti, tus trampas y tus hechizos.",
FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "Acciones llevadas a cabo por criaturas neutrales.",
FILTER_BY_PET_COMBATLOG_TOOLTIP = "Acciones llevadas a cabo por tus mascotas, guardianes invocados y jugadores embelesados.",
FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "Acciones de origen sin especificar como caídas, ácido o lava.",
FILTER_NAME = "Nombre del filtro",
FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "Acciones realizadas a jugadores, mascotas y criaturas aliados.",
FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "Acciones realizadas a mascotas y criaturas hostiles.",
FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Acciones realizadas a jugadores hostiles.",
FILTER_TO_ME_COMBATLOG_TOOLTIP = "Acciones realizadas a ti.",
FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "Acciones realizadas a criaturas neutrales.",
FILTER_TO_PET_COMBATLOG_TOOLTIP = "Acciones realizadas a tus mascotas, guardianes invocados y jugadores embelesados.",
FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "Acciones realizadas a objetivos invisibles.",
FORMATTING = "Formato",
FULL_TEXT_COMBATLOG_TOOLTIP = "Mostrar las entradas del registro de combate como frases completas.",
HARMFUL_AURA_COMBATLOG_TOOLTIP = "Mostrar cuando ganas o pierdes un aura dañina.",
HEALS = "Sanaciones",
HIGHLIGHTING = "Resaltar:",
HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "Resaltar nombres de facultades en mensajes de combate.",
HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "Resaltar cifras de daño en mensajes de combate.",
HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "Resaltar toda la línea cuando matas o lo hace un miembro de tu grupo.",
HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "Resaltar la escuela del hechizo en el mensaje de combate.",
HOSTILE = "Hostil",
INTERRUPTS = "interrumpe",
ITEM_NAMES = "Nombres de objetos",
ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Mostrar nombres de objetos entre corchetes.",
KILLS_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un miembro de tu grupo mata.",
MELEE = "Cuerpo a cuerpo",
MELEE_COMBATLOG_TOOLTIP = "Mostrar golpes cuerpo a cuerpo naturales.",
MESSAGE_SOURCES = "Origen mensaje",
MISSES = "Fallos",
MOVE_FILTER_DOWN = "Mover filtro abajo",
MOVE_FILTER_UP = "Mover filtro arriba",
OTHER = "Otros",
PERIODIC = "Periódico",
POWER_GAINS = "Ganancia de poder",
POWER_GAINS_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad restaure maná, energía, ira, enfoque, chi, Poder Sagrado u orbes de las Sombras.",
QUICKBUTTON_NAME_EVERYTHING = "Todo",
QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "Mostrar todos los mensajes de combate.",
QUICKBUTTON_NAME_KILLS = "Muertes",
QUICKBUTTON_NAME_KILLS_TOOLTIP = "Mostrar todas las muertes aliadas y enemigas.",
QUICKBUTTON_NAME_ME = "Me afecta",
QUICKBUTTON_NAME_ME_TOOLTIP = "Mostrar todo lo que me afecta.",
QUICKBUTTON_NAME_SELF = "Yo mismo",
QUICKBUTTON_NAME_SELF_TOOLTIP = "Mostrar mensajes de tus acciones y de las que te afectan.",
QUICK_BUTTON_COMBATLOG_TOOLTIP = "Coloca un acceso rápido a este filtro en la ventana de chat.",
RANGED = "A distancia",
RANGED_COMBATLOG_TOOLTIP = "Mostrar ataques con arcos, armas de fuego, armas arrojadizas y varitas.",
RANGE_DAMAGE_COMBATLOG_TOOLTIP = "Mostrar los golpes a distancia que infligen daño total o parcial.",
RANGE_MISSED_COMBATLOG_TOOLTIP = "Mostrar los golpes a distancia que no logran infligir daño.",
RESURRECT = "Resurrecciones",
SETTINGS = "Configuración",
SHOW_BRACES = "Mostrar corchetes",
SHOW_BRACES_COMBATLOG_TOOLTIP = "Mostrar los hipervínculos entre corchetes en los mensajes del registro de combate.",
SHOW_QUICK_BUTTON = "Mostrar botón de acceso rápido",
SHOW_TIMESTAMP = "Mostrar tiempo",
SOURCE = "Fuente:",
SPECIAL = "Especial",
SPELLS_COMBATLOG_TOOLTIP = "Mostrar mensajes sobre hechizos y facultades especiales.",
SPELL_CASTING = "Hechizos lanzados",
SPELL_CASTING_COMBATLOG_TOOLTIP = "Mostrar mensajes de los hechizos lanzados.",
SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando no se puede lanzar un hechizo o cuando no se logra lanzar.",
SPELL_CAST_START_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando se comienza a lanzar un hechizo.",
SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo se lance correctamente.",
SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "Colorear los nombres de hechizos según la escuela.",
SPELL_DAMAGE_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad inflige daño.",
SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "Colorear la cifra del daño de golpes otros que cuerpo a cuerpo.",
SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "Colorear el nombre de escuela del daño (p. ej., Sombras).",
SPELL_DRAIN_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad reduzca el maná, la energía, la ira o el enfoque.",
SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad otorgue ataques adicionales.",
SPELL_HEAL_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad sana daño.",
SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "Mostrar mensajes sobre tipos de hechizos especiales, como los que infligen pérdida de durabilidad o comparten daño con una mascota.",
SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad interrumpe otro hechizo.",
SPELL_MISSED_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad no logra infligir daño. Incluye cuando el objetivo es inmune o lo esquiva, para, bloquea, desvía, absorbe o evade.",
SPELL_NAMES = "Nombres de hechizos",
SPELL_NAMES_COMBATLOG_TOOLTIP = "Colorear los nombres de hechizos.",
SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Mostrar nombres de hechizos entre corchetes.",
SPELL_PERIODIC_COMBATLOG_TOOLTIP = "Mostrar los hechizos que tienen un efecto gradual.",
SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad inflige daño periódico, como Palabra de las Sombras: Dolor o Corrupción.",
SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad sana daño periódicamente, como Renovar o Rejuvenecimiento.",
SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad no logra infligir daño periódico. Incluye cuando el objetivo es inmune, lo absorbe o lo evade.",
SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad inflige cualquier otro efecto periódicamente, como restaurar o drenar maná.",
SPELL_RESURRECT_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo o facultad resucite a otro jugador o criatura.",
SPELL_SUMMON_COMBATLOG_TOOLTIP = "Mostrar mensajes cuando un hechizo invoque a una criatura o cree un objeto.",
START = "Inicio",
STRING_SCHOOL_UNKNOWN = "Desconocido",
SUCCESS = "Éxito",
SUMMONS = "Invocación",
SWING_DAMAGE_COMBATLOG_TOOLTIP = "Mostrar golpes cuerpo a cuerpo que infligen daño total o parcial.",
SWING_MISSED_COMBATLOG_TOOLTIP = "Mostrar golpes cuerpo a cuerpo que no infligen daño.",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%s %s %s %s %s. %s %11$s",
TEXT_MODE_A_STRING_2 = "%1$s %3$s %2$s %4$s %5$s. %6$s",
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",
TIMESTAMP_COMBATLOG_TOOLTIP = "Mostrar el tiempo en los mensajes del registro de combate.",
UNIT_COLORS = "Colores de unidades:",
UNIT_NAMES = "Nombres de unidades",
UNIT_NAMES_COMBATLOG_TOOLTIP = "Colorear el nombre de unidades.",
UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Mostrar nombres de unidades entre corchetes.",
UNIT_YOU = "Tú",
UNIT_YOU_DEST = "Tú",
UNIT_YOU_DEST_POSSESSIVE = "Tu",
UNIT_YOU_SOURCE = "Tú",
UNIT_YOU_SOURCE_POSSESSIVE = "Tu",
USE_FULL_TEXT_MODE = "Mostrar texto completo",
}
+677
View File
@@ -0,0 +1,677 @@
-- 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",
ADD_FILTER = "Aj. filtre",
AURAS = "Auras",
AURAS_COMBATLOG_TOOLTIP = "Montre les messages liés aux états bénéfiques ou néfastes.",
BENEFICIAL = "Bénéfique",
BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "Montre quand vous gagnez ou perdez une aura bénéfique.",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "Afficher tout ce qui concerne %s.",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "Afficher tout",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "Qu'est-il arrivé à %s ?",
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.",
BY_SOURCE = "Par source",
BY_SOURCE_COMBATLOG_TOOLTIP = "Colorer en fonction du lanceur.",
BY_TARGET = "Par cible",
BY_TARGET_COMBATLOG_TOOLTIP = "Colorer en fonction de la cible.",
COLORIZE = "Coloriser :",
COLORS = "Couleurs",
COLOR_BY_SCHOOL = "Couleur par type",
COMBATLOG_DEFAULTS = "Journal par défaut",
COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "Unité personnalisée",
COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "Amis",
COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "Joueurs ennemis",
COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "Ennemis",
COMBATLOG_FILTER_STRING_ME = "Moi",
COMBATLOG_FILTER_STRING_MY_PET = "Familier",
COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "Neutre",
COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "Inconnu",
COMBATLOG_HIGHLIGHT_ABILITY = "Technique",
COMBATLOG_HIGHLIGHT_DAMAGE = "Dégâts",
COMBATLOG_HIGHLIGHT_KILL = "Mort",
COMBATLOG_HIGHLIGHT_SCHOOL = "Type",
COMBATLOG_UNKNOWN_UNIT = "Quelque chose",
COMBAT_FACTION_CHANGE = "Réputation",
COMBAT_HONOR_GAIN = "Honneur",
COMBAT_LOG_UNIT_YOU_ENABLED = "1",
COMBAT_MISC_INFO = "Infos div.",
COMBAT_XP_GAIN = "Expérience",
CONFIRM_COMBAT_FILTER_DEFAULTS = "Voulez-vous revenir aux valeurs par défaut des filtres ?",
CONFIRM_COMBAT_FILTER_DELETE = "Voulez-vous vraiment effacer ce filtre ?",
COPY_FILTER = "Copier filtre",
DAMAGE_NUMBER = "Valeurs de dégâts",
DAMAGE_SCHOOL_TEXT = "Type de dégâts",
DAMAGE_SHIELD = "Boucliers de dégâts",
DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique inflige des dégâts en réaction à une attaque de mêlée, comme Epines.",
DEATHS_COMBATLOG_TOOLTIP = "Montre un message quand quelqu'un meurt.",
DEFAULT_COMBATLOG_FILTER_NAME = "Filtre %d",
DISPELS = "Dissipations",
DISPEL_AURA_COMBATLOG_TOOLTIP = "Montre quand une aura est retirée, détruite ou volée.",
DONE_BY = "Fait par :",
DONE_TO = "Fait à :",
DRAINS = "Drains",
ENTER_FILTER_NAME = "Indiquez le nom du filtre :",
ENTIRE_LINE = "Ligne entière",
ENTIRE_LINE_COMBATLOG_TOOLTIP = "Colorer toute la ligne selon la sélection ci-dessous.",
ENVIRONMENTAL_DAMAGE = "Dégâts de l'environnement",
ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "Montre un message quand quelqu'un subit des dégâts dus à une chute, une noyade ou le fait de nager dans la lave.",
EXAMPLE_SPELL_FIREBALL = "Boule de feu",
EXAMPLE_SPELL_FROSTBOLT = "Eclair de givre",
EXAMPLE_TARGET_MONSTER = "Monstre",
EXAMPLE_TEXT = "Texte d'exemple",
EXTRA_ATTACKS = "Attaques suppl.",
FAILURES = "Échecs",
FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "Les actions effectuées par les créatures et familiers hostiles.",
FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "Les actions effectuées par les personnages, familiers et créatures amicaux.",
FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Les actions effectuées par des joueurs hostiles.",
FILTER_BY_ME_COMBATLOG_TOOLTIP = "Les actions effectuées par vous-même, vos pièges et vos sorts.",
FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "Les actions effectuées par les créatures neutres.",
FILTER_BY_PET_COMBATLOG_TOOLTIP = "Les actions effectuées par vos familiers, gardiens invoqués ou personnages charmés.",
FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "Les actions effectuées par des sources indéfinies, telles que les chutes, l'acide ou la lave.",
FILTER_NAME = "Nom du filtre :",
FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "Les actions effectuées sur les personnages, familiers et créatures amicaux.",
FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "Les actions effectuées sur les familiers et créatures hostiles.",
FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Les actions effectuées contre des joueurs hostiles.",
FILTER_TO_ME_COMBATLOG_TOOLTIP = "Les actions effectuées sur vous.",
FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "Les actions effectuées sur les créatures neutres.",
FILTER_TO_PET_COMBATLOG_TOOLTIP = "Les actions effectuées sur vos familiers, gardiens invoqués ou personnages charmés.",
FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "Les actions effectuées sur des cibles invisibles.",
FORMATTING = "Mise en forme",
FULL_TEXT_COMBATLOG_TOOLTIP = "Montre les évènements du journal de combat sous forme de phrases.",
HARMFUL_AURA_COMBATLOG_TOOLTIP = "Montre quand vous gagnez ou perdez une aura néfaste.",
HEALS = "Soins",
HIGHLIGHTING = "Surlignage :",
HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "Surligne les noms des techniques dans les messages de combat.",
HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "Surligne les montants de dégâts dans les messages de combat.",
HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "Surligne toute la ligne lorsque vous-même ou un membre de votre groupe tuez un adversaire.",
HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "Surligne les types de sort dans les messages de combat.",
HOSTILE = "Hostile",
INTERRUPTS = "Interruptions",
ITEM_NAMES = "Noms des objets",
ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Mettre des liens autour des noms d'objets.",
KILLS_COMBATLOG_TOOLTIP = "Montre un message quand un membre de votre groupe tue quelqu'un.",
MELEE = "Mêlée",
MELEE_COMBATLOG_TOOLTIP = "Montre les attaques de mêlée naturelles.",
MESSAGE_SOURCES = "Sources",
MISSES = "Ratés",
MOVE_FILTER_DOWN = "Descendre le filtre",
MOVE_FILTER_UP = "Remonter le filtre",
OTHER = "Autre",
PERIODIC = "Périodique",
POWER_GAINS = "Gains de puissance",
POWER_GAINS_COMBATLOG_TOOLTIP = "Affiche un message quand un sort ou une technique rend des points de mana, d’énergie, de rage, de focalisation, de chi ou de puissance sacrée ou des orbes d’ombre.",
QUICKBUTTON_NAME_EVERYTHING = "Tout",
QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "Montrer tous les messages de combat.",
QUICKBUTTON_NAME_KILLS = "Tués",
QUICKBUTTON_NAME_KILLS_TOOLTIP = "Montrer tous les tués.",
QUICKBUTTON_NAME_ME = "Qu'est-ce qui m'est arrivé ?",
QUICKBUTTON_NAME_ME_TOOLTIP = "Montrer tout ce qu'on m'a fait.",
QUICKBUTTON_NAME_SELF = "Soi-même",
QUICKBUTTON_NAME_SELF_TOOLTIP = "Montre des messages pour les actions effectuées par vous et sur vous.",
QUICK_BUTTON_COMBATLOG_TOOLTIP = "Pose un raccourci vers ce filtre dans la fenêtre de discussion.",
RANGED = "Distance",
RANGED_COMBATLOG_TOOLTIP = "Montre les attaques des arcs, arbalètes, fusils, armes de jet et baguettes.",
RANGE_DAMAGE_COMBATLOG_TOOLTIP = "Montre les attaques à distance qui infligent des dégâts complets ou partiels.",
RANGE_MISSED_COMBATLOG_TOOLTIP = "Montre les attaques à distance qui n'infligent pas de dégâts.",
RESURRECT = "Résurrections",
SETTINGS = "Réglages",
SHOW_BRACES = "Afficher les crochets",
SHOW_BRACES_COMBATLOG_TOOLTIP = "Afficher des crochets autour des liens dans les messages du journal de combat.",
SHOW_QUICK_BUTTON = "Montrer accès rapide",
SHOW_TIMESTAMP = "Afficher l'heure",
SOURCE = "Source :",
SPECIAL = "Spécial",
SPELLS_COMBATLOG_TOOLTIP = "Montre les messages liés aux sorts et aux techniques spéciales.",
SPELL_CASTING = "Incantations",
SPELL_CASTING_COMBATLOG_TOOLTIP = "Montre les messages concernant l'incantation des sorts.",
SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "Montre les messages indiquant qu'un sort ne peut être lancé ou que l'incantation a échoué.",
SPELL_CAST_START_COMBATLOG_TOOLTIP = "Montre les messages indiquant le début de l'incantation d'un sort.",
SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "Montre les messages indiquant la réussite de l'incantation d'un sort.",
SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "Colorer les noms des sorts par type.",
SPELL_DAMAGE_COMBATLOG_TOOLTIP = "Montre quand un sort ou une technique inflige des dégâts.",
SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "Colorer les valeurs de dégâts pour les attaques hors-mêlée.",
SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "Colorer les noms des types de dégâts (par ex. Ombre).",
SPELL_DRAIN_COMBATLOG_TOOLTIP = "Affiche un message quand un sort ou une technique enlève des points de mana, d’énergie, de rage ou de focalisation.",
SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "Affiche un message quand un sort ou une technique octroie des attaques supplémentaires.",
SPELL_HEAL_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique soigne des dégâts.",
SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "Montre les messages des sorts d'une catégorie spéciale, comme ceux qui infligent une perte de durabilité ou qui partagent les dégâts avec un familier.",
SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique interrompt un autre sort.",
SPELL_MISSED_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique ne parvient pas à infliger des dégâts. Que ce soit dû à une esquive, une parade, un blocage, une déviation, une immunité, une absorption ou un évitement.",
SPELL_NAMES = "Noms des sorts",
SPELL_NAMES_COMBATLOG_TOOLTIP = "Colorer les noms de sorts.",
SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Mettre des liens autour des noms de sorts.",
SPELL_PERIODIC_COMBATLOG_TOOLTIP = "Montre les sorts qui ont un effet incrémentiel.",
SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique inflige des dégâts de façon périodique, comme Mot de l'ombre : Douleur ou Corruption.",
SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique soigne de façon périodique, comme Rénovation ou Récupération.",
SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique ne parvient pas à infliger des dégâts périodiques. Cela peut être dû à une immunité, une absorption ou un évitement.",
SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique déclenche un autre type d'effet de façon périodique, comme de rendre ou de prendre des points de mana.",
SPELL_RESURRECT_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique ressuscite une créature ou un autre personnage.",
SPELL_SUMMON_COMBATLOG_TOOLTIP = "Montre un message quand un sort ou une technique invoque une créature ou crée un objet.",
START = "Démarrage",
STRING_SCHOOL_UNKNOWN = "(Inconnu)",
SUCCESS = "Réussites",
SUMMONS = "Invocations",
SWING_DAMAGE_COMBATLOG_TOOLTIP = "Montre les attaques de mêlée qui infligent des dégâts complets ou partiels.",
SWING_MISSED_COMBATLOG_TOOLTIP = "Montre les attaques de mêlée qui n'infligent pas de dégâts.",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%s %s %s %s %s. %s %11$s",
TEXT_MODE_A_STRING_2 = "%1$s %3$s %2$s %4$s %5$s. %6$s",
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",
TIMESTAMP_COMBATLOG_TOOLTIP = "Afficher l'heure des messages du journal de combat.",
UNIT_COLORS = "Couleurs d'unités :",
UNIT_NAMES = "Noms des unités",
UNIT_NAMES_COMBATLOG_TOOLTIP = "Colorer les noms des unités.",
UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Mettre des liens autour des noms d'unités.",
UNIT_YOU = "Vous",
UNIT_YOU_DEST = "Vous",
UNIT_YOU_DEST_POSSESSIVE = "votre personnage",
UNIT_YOU_SOURCE = "Vous",
UNIT_YOU_SOURCE_POSSESSIVE = "votre",
USE_FULL_TEXT_MODE = "Mode prolixe",
}
+677
View File
@@ -0,0 +1,677 @@
-- 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 = "추가 필터",
ADD_FILTER = "필터 추가",
AURAS = "오라",
AURAS_COMBATLOG_TOOLTIP = "이로운 효과나 해로운 효과에 대한 메시지를 표시합니다.",
BENEFICIAL = "이로운 효과",
BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "강화 효과를 얻거나 잃었을 때 메시지를 표시합니다.",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "%s|1과;와; 관련된 기록을 모두 보여주십시오.",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "모두",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "%s에게 무슨 일이 일어났습니까?",
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을;를; 대화창으로 링크",
BY_SOURCE = "행위자",
BY_SOURCE_COMBATLOG_TOOLTIP = "행위자를 기준으로 문장에 색을 입힙니다.",
BY_TARGET = "대상",
BY_TARGET_COMBATLOG_TOOLTIP = "대상을 기준으로 문장에 색을 입힙니다.",
COLORIZE = "색 지정",
COLORS = "색상",
COLOR_BY_SCHOOL = "마법 계열별 색 설정",
COMBATLOG_DEFAULTS = "원래대로",
COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "사용자 개체",
COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "친구",
COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "적대적인 플레이어",
COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "적대적 대상",
COMBATLOG_FILTER_STRING_ME = "자신",
COMBATLOG_FILTER_STRING_MY_PET = "소환수",
COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "중립적 대상",
COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "알 수 없음",
COMBATLOG_HIGHLIGHT_ABILITY = "주문 및 기술",
COMBATLOG_HIGHLIGHT_DAMAGE = "피해",
COMBATLOG_HIGHLIGHT_KILL = "처치",
COMBATLOG_HIGHLIGHT_SCHOOL = "마법 계열",
COMBATLOG_UNKNOWN_UNIT = "무엇인가",
COMBAT_FACTION_CHANGE = "평판",
COMBAT_HONOR_GAIN = "명예",
COMBAT_LOG_UNIT_YOU_ENABLED = "1",
COMBAT_MISC_INFO = "기타 정보",
COMBAT_XP_GAIN = "경험치",
CONFIRM_COMBAT_FILTER_DEFAULTS = "정말 필터를 초기화하시겠습니까?",
CONFIRM_COMBAT_FILTER_DELETE = "정말 이 필터를 삭제하시겠습니까?",
COPY_FILTER = "필터 복사",
DAMAGE_NUMBER = "피해 수치",
DAMAGE_SCHOOL_TEXT = "마법 계열",
DAMAGE_SHIELD = "피해 보호막",
DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "근접 공격자에게 피해를 입히는 주문이나 능력으로 인한 피해 메시지를 표시합니다. 예: 가시 등",
DEATHS_COMBATLOG_TOOLTIP = "무엇인가가 죽었을 때 메시지를 표시합니다.",
DEFAULT_COMBATLOG_FILTER_NAME = "필터: %d",
DISPELS = "무효화",
DISPEL_AURA_COMBATLOG_TOOLTIP = "효과가 제거되거나, 파괴되거나, 훔쳐졌을 때 메시지를 표시합니다.",
DONE_BY = "행위자",
DONE_TO = "대상",
DRAINS = "소진",
ENTER_FILTER_NAME = "필터 이름을 입력하십시오.",
ENTIRE_LINE = "전체 문장",
ENTIRE_LINE_COMBATLOG_TOOLTIP = "아래 선택에 따라 전체 문장에 색을 입힙니다.",
ENVIRONMENTAL_DAMAGE = "환경 피해",
ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "낙하, 익사, 용암에 의한 피해를 입었을 때 메시지를 표시합니다.",
EXAMPLE_SPELL_FIREBALL = "화염구",
EXAMPLE_SPELL_FROSTBOLT = "얼음 화살",
EXAMPLE_TARGET_MONSTER = "몬스터",
EXAMPLE_TEXT = "예시 문구",
EXTRA_ATTACKS = "추가 공격",
FAILURES = "실패",
FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "적대적인 NPC, 소환수의 동작",
FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "아군 플레이어, 소환수, NPC의 동작",
FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "적대적인 플레이어의 동작",
FILTER_BY_ME_COMBATLOG_TOOLTIP = "자신, 자신의 덫, 자신의 주문에 의한 동작",
FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "중립적 NPC의 동작",
FILTER_BY_PET_COMBATLOG_TOOLTIP = "자신의 소환수, 소환된 수호물, 자신이 현혹한 플레이어의 동작",
FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "낙하 피해, 독, 용암 등에 의한 동작",
FILTER_NAME = "필터 이름",
FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "아군 플레이어, 소환수, NPC에게 행해진 동작",
FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "적대적인 소환수, NPC에게 행해진 동작",
FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "적대적인 플레이어에게 행해진 동작",
FILTER_TO_ME_COMBATLOG_TOOLTIP = "자신에게 행해진 동작",
FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "중립적 NPC에게 행해진 동작",
FILTER_TO_PET_COMBATLOG_TOOLTIP = "자신의 소환수, 소환된 수호물, 자신이 현혹한 플레이어에게 행해진 동작",
FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "보이지 않는 대상에게 행해진 동작",
FORMATTING = "형식",
FULL_TEXT_COMBATLOG_TOOLTIP = "전투 메시지를 전체 문장으로 표시합니다.",
HARMFUL_AURA_COMBATLOG_TOOLTIP = "약화 효과를 얻거나 잃었을 때 메시지를 표시합니다.",
HEALS = "치유",
HIGHLIGHTING = "강조",
HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "전투 메시지 상에서 능력의 이름을 강조합니다.",
HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "전투 메시지 상에서 피해의 수치를 강조합니다.",
HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "자신이나 파티원이 대상을 처치했을 때 메시지를 강조합니다.",
HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "전투 메시지 상에서 주문의 마법 계열을 강조합니다.",
HOSTILE = "해로운 효과",
INTERRUPTS = "차단",
ITEM_NAMES = "아이템 이름",
ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "아이템에 괄호 표시",
KILLS_COMBATLOG_TOOLTIP = "파티원이 어떤 대상을 처치했을 때 메시지를 표시합니다.",
MELEE = "근접 공격",
MELEE_COMBATLOG_TOOLTIP = "근접 공격에 관련된 메시지를 표시합니다.",
MESSAGE_SOURCES = "메시지 출처",
MISSES = "적중하지 않음",
MOVE_FILTER_DOWN = "필터를 아래로 이동",
MOVE_FILTER_UP = "필터를 위로 이동",
OTHER = "기타",
PERIODIC = "주기적인 효과",
POWER_GAINS = "얻은 자원",
POWER_GAINS_COMBATLOG_TOOLTIP = "주문이나 능력으로 마나, 기력, 분노, 집중, 기, 신성한 힘, 암흑 구슬이 회복될 때 메시지를 표시합니다.",
QUICKBUTTON_NAME_EVERYTHING = "모두",
QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "모든 전투 메시지를 표시합니다.",
QUICKBUTTON_NAME_KILLS = "처치",
QUICKBUTTON_NAME_KILLS_TOOLTIP = "처치 및 죽음에 대한 메시지를 표시합니다.",
QUICKBUTTON_NAME_ME = "자신(대상)",
QUICKBUTTON_NAME_ME_TOOLTIP = "자신에게 행해진 모든 내용을 표시합니다.",
QUICKBUTTON_NAME_SELF = "자신",
QUICKBUTTON_NAME_SELF_TOOLTIP = "자신의 행위와 자신에게 행해진 행위에 대한 메시지를 표시합니다.",
QUICK_BUTTON_COMBATLOG_TOOLTIP = "대화창에 필터를 추가합니다.",
RANGED = "원거리 공격",
RANGED_COMBATLOG_TOOLTIP = "활, 총, 투척 무기, 마법봉 공격 메시지를 표시합니다.",
RANGE_DAMAGE_COMBATLOG_TOOLTIP = "원거리 공격으로 입힌 전체 피해나 부분적인 피해를 표시합니다.",
RANGE_MISSED_COMBATLOG_TOOLTIP = "피해를 입히지 못한 원거리 공격에 대한 메시지를 표시합니다.",
RESURRECT = "부활",
SETTINGS = "설정",
SHOW_BRACES = "괄호 표시",
SHOW_BRACES_COMBATLOG_TOOLTIP = "전투 메시지에서 링크 정보가 있는 단어를 괄호로 묶습니다.",
SHOW_QUICK_BUTTON = "빠른 버튼 표시하기",
SHOW_TIMESTAMP = "시간 표시",
SOURCE = "획득 방법:",
SPECIAL = "특수 주문",
SPELLS_COMBATLOG_TOOLTIP = "주문과 특수 능력에 관한 메시지를 표시합니다.",
SPELL_CASTING = "주문 시전",
SPELL_CASTING_COMBATLOG_TOOLTIP = "주문 시전에 관련된 메시지를 표시합니다.",
SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "주문을 시전하지 못하거나 시전에 실패했을 때 메시지를 표시합니다.",
SPELL_CAST_START_COMBATLOG_TOOLTIP = "주문 시전을 시작할 때 메시지를 표시합니다.",
SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "성공적으로 주문을 시전했을 때 메시지를 표시합니다.",
SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "주문의 마법 계열에 색을 입힙니다.",
SPELL_DAMAGE_COMBATLOG_TOOLTIP = "주문이나 능력으로 피해를 입혔을 때 메시지를 표시합니다.",
SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "근접 공격을 제외한 공격 피해에 색을 입힙니다.",
SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "공격 마법 계열에 색을 입힙니다. (예: 암흑)",
SPELL_DRAIN_COMBATLOG_TOOLTIP = "주문이나 능력으로 마나, 기력, 분노, 집중이 감소할 때 메시지를 표시합니다.",
SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "주문이나 능력으로 추가 공격 기회를 얻었을 때 메시지를 표시합니다.",
SPELL_HEAL_COMBATLOG_TOOLTIP = "주문이나 능력으로 피해가 치유될 때 메시지를 표시합니다.",
SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "내구도 감소나 소환수에게 분배되는 피해 등 특별한 형태의 메시지를 표시합니다.",
SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "주문이나 능력으로 다른 주문이 취소될 때 메시지를 표시합니다.",
SPELL_MISSED_COMBATLOG_TOOLTIP = "주문이나 능력으로 피해를 입히지 못했을 때 메시지를 표시합니다. 피함, 막음, 방어함, 튕김, 면역, 흡수, 벗어남이 포함됩니다.",
SPELL_NAMES = "주문 이름",
SPELL_NAMES_COMBATLOG_TOOLTIP = "주문의 이름에 색을 입힙니다.",
SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "주문이나 기술에 괄호 표시",
SPELL_PERIODIC_COMBATLOG_TOOLTIP = "효과가 증가하는 주문을 표시합니다.",
SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "주문이나 능력으로 주기적인 피해를 입힐 때 메시지를 표시합니다. 예: 어둠의 권능: 고통, 부패 등",
SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "주문이나 능력으로 주기적인 치유가 이루어질 때 메시지를 표시합니다. 예: 소생, 회복 등",
SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "주문이나 능력으로 인한 주기적인 피해가 실패했을 때 메시지를 표시합니다. 면역, 흡수, 벗어남 등이 포함됩니다.",
SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "주문이나 능력으로 주기적인 효과가 발생할 때 메시지를 표시합니다. 예: 마나 회복, 마나 흡수 등",
SPELL_RESURRECT_COMBATLOG_TOOLTIP = "다른 플레이어나 NPC를 부활시키는 주문에 대한 메시지를 표시합니다.",
SPELL_SUMMON_COMBATLOG_TOOLTIP = "몬스터나 NPC를 소환하거나 물건을 창조할 때 메시지를 표시합니다.",
START = "시작",
STRING_SCHOOL_UNKNOWN = "알 수 없음",
SUCCESS = "성공",
SUMMONS = "소환",
SWING_DAMAGE_COMBATLOG_TOOLTIP = "근접 공격으로 입힌 전체 피해나 부분적인 피해를 표시합니다.",
SWING_MISSED_COMBATLOG_TOOLTIP = "피해를 입히지 못한 근접 공격에 대한 메시지를 표시합니다.",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%1$s %2$s %4$s %5$s %3$s %6$s %11$s",
TEXT_MODE_A_STRING_2 = "%1$s %2$s %4$s %5$s %3$s %6$s",
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",
TIMESTAMP_COMBATLOG_TOOLTIP = "전투 메시지에 시간을 표시합니다.",
UNIT_COLORS = "대상 색:",
UNIT_NAMES = "플레이어, NPC, 몬스터 이름",
UNIT_NAMES_COMBATLOG_TOOLTIP = "플레이어, NPC, 몬스터 이름에 색을 입힙니다.",
UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "이름에 괄호 표시",
UNIT_YOU = "당신",
UNIT_YOU_DEST = "당신",
UNIT_YOU_DEST_POSSESSIVE = "당신",
UNIT_YOU_SOURCE = "당신",
UNIT_YOU_SOURCE_POSSESSIVE = "당신",
USE_FULL_TEXT_MODE = "전체 문장으로 보기",
}
+677
View File
@@ -0,0 +1,677 @@
-- 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 = "Дополнительные фильтры",
ADD_FILTER = "Добавить",
AURAS = "Ауры",
AURAS_COMBATLOG_TOOLTIP = "Отображение сообщений о благотворных и вредоносных состояниях.",
BENEFICIAL = "Защитные",
BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "Отображение сообщений о приобретении или потере благотворной ауры вашим персонажем.",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "Все действия, касающиеся |3-1(%s)",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "Показывать все",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "Действия по отношению к |3-2(%s)?",
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\" в чат.",
BY_SOURCE = "Источник",
BY_SOURCE_COMBATLOG_TOOLTIP = "Цвет строки зависит от источника.",
BY_TARGET = "Цель",
BY_TARGET_COMBATLOG_TOOLTIP = "Цвет строки зависит от цели.",
COLORIZE = "Цвета:",
COLORS = "Цвета",
COLOR_BY_SCHOOL = "Цвета школ",
COMBATLOG_DEFAULTS = "По умолчанию",
COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "По выбору",
COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "Друзья",
COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "Враждебные игроки",
COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "Индикаторы противников",
COMBATLOG_FILTER_STRING_ME = "Я",
COMBATLOG_FILTER_STRING_MY_PET = "Питомец",
COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "Нейтральный",
COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "Неизвестно",
COMBATLOG_HIGHLIGHT_ABILITY = "Способность",
COMBATLOG_HIGHLIGHT_DAMAGE = "Урон",
COMBATLOG_HIGHLIGHT_KILL = "Убийства",
COMBATLOG_HIGHLIGHT_SCHOOL = "Школы магии",
COMBATLOG_UNKNOWN_UNIT = "Что-то",
COMBAT_FACTION_CHANGE = "Репутация",
COMBAT_HONOR_GAIN = "Честь",
COMBAT_LOG_UNIT_YOU_ENABLED = "1",
COMBAT_MISC_INFO = "Разное",
COMBAT_XP_GAIN = "Опыт",
CONFIRM_COMBAT_FILTER_DEFAULTS = "Вы действительно хотите сбросить настройки фильтров?",
CONFIRM_COMBAT_FILTER_DELETE = "Удалить этот фильтр?",
COPY_FILTER = "Копировать",
DAMAGE_NUMBER = "Величина урона",
DAMAGE_SCHOOL_TEXT = "Школа магии",
DAMAGE_SHIELD = "Ответные повреждения",
DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "Отображение сообщений об уроне, наносимом заклинаниями или способностями в ответ на атаки в ближнем бою (\"Шипы\" и т. п.).",
DEATHS_COMBATLOG_TOOLTIP = "Отображение сообщений о смерти различных существ.",
DEFAULT_COMBATLOG_FILTER_NAME = "Фильтр %d",
DISPELS = "Развеивание",
DISPEL_AURA_COMBATLOG_TOOLTIP = "Отображение сообщений об исчезновении, разрушении или похищении аур.",
DONE_BY = "Источник:",
DONE_TO = "Цель:",
DRAINS = "Похищение",
ENTER_FILTER_NAME = "Введите название фильтра:",
ENTIRE_LINE = "Вся строка",
ENTIRE_LINE_COMBATLOG_TOOLTIP = "Цветовое выделение всей строки в соответствии с параметрами, указанными ниже.",
ENVIRONMENTAL_DAMAGE = "Урон от окружающего мира",
ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "Отображение сообщений о получении разными персонажами урона от падения, утопления или погружения в лаву.",
EXAMPLE_SPELL_FIREBALL = "Огненный шар",
EXAMPLE_SPELL_FROSTBOLT = "Ледяная стрела",
EXAMPLE_TARGET_MONSTER = "Монстр",
EXAMPLE_TEXT = "Пример текста:",
EXTRA_ATTACKS = "Дополнит. атаки",
FAILURES = "Неудачное",
FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "Действия враждебных игроков, питомцев и существ.",
FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "Действия дружественных игроков, питомцев и существ.",
FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Действия враждебных игроков.",
FILTER_BY_ME_COMBATLOG_TOOLTIP = "Действия вашего персонажа, а также его ловушек и заклинаний.",
FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "Действия нейтральных существ.",
FILTER_BY_PET_COMBATLOG_TOOLTIP = "Действия ваших питомцев, вызванных существ и подчиненных персонажей.",
FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "Действия окружающего мира: падение, кислота, лава и т.п.",
FILTER_NAME = "Название фильтра",
FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "Действия в отношении дружественных игроков, питомцев и существ.",
FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "Действия в отношении враждебных питомцев и существ.",
FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "Действия в отношении враждебных игроков.",
FILTER_TO_ME_COMBATLOG_TOOLTIP = "Действия в отношении вашего персонажа.",
FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "Действия в отношении нейтральных существ.",
FILTER_TO_PET_COMBATLOG_TOOLTIP = "Действия в отношении ваших питомцев, вызванных существ и подчиненных персонажей.",
FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "Действия в отношении невидимых целей.",
FORMATTING = "Формат",
FULL_TEXT_COMBATLOG_TOOLTIP = "Показывать записи журнала боя в полном виде.",
HARMFUL_AURA_COMBATLOG_TOOLTIP = "Отображение сообщений о приобретении или потере губительной ауры вашим персонажем.",
HEALS = "Лечение",
HIGHLIGHTING = "Подсветка:",
HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "Подсветка названий способностей в боевых сообщениях.",
HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "Подсветка величины урона в боевых сообщениях.",
HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "Подсветка всей строки при убийстве противника вами или другим членом вашей группы.",
HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "Подсветка названий школ магии в боевых сообщениях.",
HOSTILE = "Губительные",
INTERRUPTS = "Прерывание",
ITEM_NAMES = "Названия предметов",
ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Заключение в скобки названий предметов.",
KILLS_COMBATLOG_TOOLTIP = "Отображение сообщений об убийстве противников членами вашей группы.",
MELEE = "Ближний бой",
MELEE_COMBATLOG_TOOLTIP = "Отображение информации об ударах ближнего боя.",
MESSAGE_SOURCES = "Источники сообщений",
MISSES = "Промах",
MOVE_FILTER_DOWN = "Переместить ниже",
MOVE_FILTER_UP = "Переместить выше",
OTHER = "Другое",
PERIODIC = "Периодические эффекты",
POWER_GAINS = "Получение энергии",
POWER_GAINS_COMBATLOG_TOOLTIP = "Отображение сообщений о восполнении маны, энергии, ярости, концентрации, энергии ци, энергии Света или сфер Тьмы с помощью заклинаний или способностей.",
QUICKBUTTON_NAME_EVERYTHING = "Все",
QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "Отображение всех сообщений о бое.",
QUICKBUTTON_NAME_KILLS = "Убийства",
QUICKBUTTON_NAME_KILLS_TOOLTIP = "Показ всех смертей и убийств.",
QUICKBUTTON_NAME_ME = "Что случилось с персонажем?",
QUICKBUTTON_NAME_ME_TOOLTIP = "Отображение всех действий в отношении вашего персонажа.",
QUICKBUTTON_NAME_SELF = "Персонаж",
QUICKBUTTON_NAME_SELF_TOOLTIP = "Отображение сообщений о действиях вашего персонажа и в отношении него.",
QUICK_BUTTON_COMBATLOG_TOOLTIP = "Помещение ссылки на фильтр в окно чата.",
RANGED = "Дальний бой",
RANGED_COMBATLOG_TOOLTIP = "Природа",
RANGE_DAMAGE_COMBATLOG_TOOLTIP = "Отображение информации об атаках дальнего боя, наносящих полный или частичный урон.",
RANGE_MISSED_COMBATLOG_TOOLTIP = "Отображение информации об атаках дальнего боя, не наносящих урона.",
RESURRECT = "Воскрешений",
SETTINGS = "Параметры",
SHOW_BRACES = "Выделять скобками",
SHOW_BRACES_COMBATLOG_TOOLTIP = "Выделение ссылок в сообщениях журнала боя.",
SHOW_QUICK_BUTTON = "Быстрый вызов",
SHOW_TIMESTAMP = "Отображать время",
SOURCE = "Источник:",
SPECIAL = "Особые",
SPELLS_COMBATLOG_TOOLTIP = "Отображение сообщений о заклинаниях и особых способностях.",
SPELL_CASTING = "Применение заклинаний",
SPELL_CASTING_COMBATLOG_TOOLTIP = "Отображение сообщений о применении заклинаний.",
SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "Отображение сообщений о невозможности применения заклинаний.",
SPELL_CAST_START_COMBATLOG_TOOLTIP = "Отображение сообщений о начале применения заклинаний.",
SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "Отображение сообщений об успешном завершении заклинаний.",
SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "Цветовое выделение названий заклинаний в соответствии с школами магии.",
SPELL_DAMAGE_COMBATLOG_TOOLTIP = "Отображение сообщений о нанесении урона заклинаниями или способностями.",
SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "Цветовое выделение величины урона (кроме ближнего боя).",
SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "Цветовое выделение школ урона (\"Темной магии\" и т.п.)",
SPELL_DRAIN_COMBATLOG_TOOLTIP = "Отображение сообщений о снижении объема маны, энергии, ярости и концентрации под влиянием заклинаний или способностей.",
SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "Отображение сообщений о дополнительных атаках, вызванных заклинаниями или способностями.",
SPELL_HEAL_COMBATLOG_TOOLTIP = "Отображение сообщений об исцеляющих заклинаниях и способностях.",
SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "Отображение сообщений об особых заклинаниях: например, повреждающих экипировку или наносящих урон питомцам.",
SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "Отображение сообщений о прерывании заклинаниями или способностями действия других заклинаний.",
SPELL_MISSED_COMBATLOG_TOOLTIP = "Отображение сообщений о неудачном применении боевых заклинаний и способностей, в т.ч., связанном с уклонением, парированием, блоком, отражением, невосприимчивостью, поглощением и уверткой.",
SPELL_NAMES = "Названия заклинаний",
SPELL_NAMES_COMBATLOG_TOOLTIP = "Цветовое выделение названий заклинаний.",
SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Заключение в скобки названий заклинаний.",
SPELL_PERIODIC_COMBATLOG_TOOLTIP = "Отображение информации о заклинаниях постепенного действия.",
SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "Отображение сообщений о периодическом уроне от заклинаний или способностей (\"Слово Тьмы: Боль\", \"Порча\" и т. п.).",
SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "Отображение сообщений о периодическом исцелении от заклинаний или способностей (\"Обновление\", \"Омоложение\" и т. п.).",
SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "Отображение сообщений о частично неудачном применении боевых заклинаний и способностей, в т.ч., связанных с невосприимчивостью, поглощением и уверткой.",
SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "Отображение сообщений о других видах периодических эффектов заклинаний и способностей, например, восполнении или похищении маны.",
SPELL_RESURRECT_COMBATLOG_TOOLTIP = "Показывать сообщения о воскрешении игрока или существа с помощью заклинания или способности.",
SPELL_SUMMON_COMBATLOG_TOOLTIP = "Показывать сообщения, когда с помощью заклинания призывается существо.",
START = "Начало",
STRING_SCHOOL_UNKNOWN = "Неизвестно",
SUCCESS = "Успешное",
SUMMONS = "Призывов",
SWING_DAMAGE_COMBATLOG_TOOLTIP = "Отображение информации об ударах в ближнем бою, наносящих полный или частичный урон.",
SWING_MISSED_COMBATLOG_TOOLTIP = "Отображение атак в ближнем бою, не наносящих урона.",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%s %s %s %s %s. %s %11$s",
TEXT_MODE_A_STRING_2 = "%2$s |3-1(%1$s) - %3$s - %4$s - %5$s%6$s.",
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",
TIMESTAMP_COMBATLOG_TOOLTIP = "Отображение даты и времени в сообщениях журнала боя.",
UNIT_COLORS = "Цвета объектов:",
UNIT_NAMES = "Объект действия",
UNIT_NAMES_COMBATLOG_TOOLTIP = "Цветовое выделение названий объектов.",
UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "Заключение в скобки названий объектов.",
UNIT_YOU = "Вы",
UNIT_YOU_DEST = "Вы",
UNIT_YOU_DEST_POSSESSIVE = "Ваш",
UNIT_YOU_SOURCE = "Вы",
UNIT_YOU_SOURCE_POSSESSIVE = "Ваше",
USE_FULL_TEXT_MODE = "Использовать полный режим",
}
+677
View File
@@ -0,0 +1,677 @@
-- 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 = "更多过滤条件",
ADD_FILTER = "添加过滤",
AURAS = "光环",
AURAS_COMBATLOG_TOOLTIP = "显示有关增益和负面状态效果的信息。",
BENEFICIAL = "增益",
BENEFICIAL_AURA_COMBATLOG_TOOLTIP = "当你获得或失去有益光环时显示信息。",
BLIZZARD_COMBAT_LOG_MENU_BOTH = "显示所有与%s有关的信息?",
BLIZZARD_COMBAT_LOG_MENU_EVERYTHING = "全部显示",
BLIZZARD_COMBAT_LOG_MENU_INCOMING = "%s发生了什么事情?",
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链接到聊天频道中。",
BY_SOURCE = "按来源",
BY_SOURCE_COMBATLOG_TOOLTIP = "按照施法者以颜色区分。",
BY_TARGET = "按目标",
BY_TARGET_COMBATLOG_TOOLTIP = "按照目标以颜色区分。",
COLORIZE = "彩色标记:",
COLORS = "颜色",
COLOR_BY_SCHOOL = "按类型区分颜色",
COMBATLOG_DEFAULTS = "战斗记录默认",
COMBATLOG_FILTER_STRING_CUSTOM_UNIT = "自定义单位",
COMBATLOG_FILTER_STRING_FRIENDLY_UNITS = "友方",
COMBATLOG_FILTER_STRING_HOSTILE_PLAYERS = "敌方玩家",
COMBATLOG_FILTER_STRING_HOSTILE_UNITS = "敌方单位",
COMBATLOG_FILTER_STRING_ME = "我",
COMBATLOG_FILTER_STRING_MY_PET = "宠物",
COMBATLOG_FILTER_STRING_NEUTRAL_UNITS = "中立",
COMBATLOG_FILTER_STRING_UNKNOWN_UNITS = "未知",
COMBATLOG_HIGHLIGHT_ABILITY = "技能",
COMBATLOG_HIGHLIGHT_DAMAGE = "伤害",
COMBATLOG_HIGHLIGHT_KILL = "杀死",
COMBATLOG_HIGHLIGHT_SCHOOL = "类型",
COMBATLOG_UNKNOWN_UNIT = "某目标",
COMBAT_FACTION_CHANGE = "声望",
COMBAT_HONOR_GAIN = "荣誉",
COMBAT_LOG_UNIT_YOU_ENABLED = "1",
COMBAT_MISC_INFO = "其它信息",
COMBAT_XP_GAIN = "经验",
CONFIRM_COMBAT_FILTER_DEFAULTS = "你确定要将过滤条件设定为初始状态吗?",
CONFIRM_COMBAT_FILTER_DELETE = "你确认要删除这个过滤条件?",
COPY_FILTER = "复制过滤",
DAMAGE_NUMBER = "伤害数值",
DAMAGE_SCHOOL_TEXT = "伤害类型",
DAMAGE_SHIELD = "伤害护盾",
DAMAGE_SHIELD_COMBATLOG_TOOLTIP = "当法术或技能(如荆棘术)对近战攻击造成反弹伤害时显示信息。",
DEATHS_COMBATLOG_TOOLTIP = "当某生物死亡时显示信息。",
DEFAULT_COMBATLOG_FILTER_NAME = "过滤条件%d",
DISPELS = "驱散",
DISPEL_AURA_COMBATLOG_TOOLTIP = "当光环被移除、破坏或偷取时显示信息。",
DONE_BY = "来源为:",
DONE_TO = "目标为:",
DRAINS = "吸取",
ENTER_FILTER_NAME = "输入过滤名称:",
ENTIRE_LINE = "整条信息",
ENTIRE_LINE_COMBATLOG_TOOLTIP = "按照下面的方式用彩色标记整条信息。",
ENVIRONMENTAL_DAMAGE = "环境伤害",
ENVIRONMENTAL_DAMAGE_COMBATLOG_TOOLTIP = "当某人因摔落、溺水或泡在岩浆中而损失生命值时显示信息。",
EXAMPLE_SPELL_FIREBALL = "火球术",
EXAMPLE_SPELL_FROSTBOLT = "寒冰箭",
EXAMPLE_TARGET_MONSTER = "怪物",
EXAMPLE_TEXT = "范例文字:",
EXTRA_ATTACKS = "额外攻击",
FAILURES = "失败",
FILTER_BY_ENEMIES_COMBATLOG_TOOLTIP = "敌方怪物和宠物进行的动作。",
FILTER_BY_FRIENDS_COMBATLOG_TOOLTIP = "由友方玩家、宠物和怪物进行的动作。",
FILTER_BY_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "敌方玩家进行的动作。",
FILTER_BY_ME_COMBATLOG_TOOLTIP = "由你、你的陷阱和你的法术进行的动作。",
FILTER_BY_NEUTRAL_COMBATLOG_TOOLTIP = "由中立生物进行的动作。",
FILTER_BY_PET_COMBATLOG_TOOLTIP = "由你的宠物、召唤生物和被魅惑玩家进行的动作。",
FILTER_BY_UNKNOWN_COMBATLOG_TOOLTIP = "由掉落、酸液或岩浆之类的源头产生的动作。",
FILTER_NAME = "过滤名称",
FILTER_TO_FRIENDS_COMBATLOG_TOOLTIP = "对友方玩家、宠物和怪物进行的动作。",
FILTER_TO_HOSTILE_COMBATLOG_TOOLTIP = "对敌方宠物和怪物进行的动作。",
FILTER_TO_HOSTILE_PLAYERS_COMBATLOG_TOOLTIP = "对敌方玩家进行的动作。",
FILTER_TO_ME_COMBATLOG_TOOLTIP = "对你进行的动作。",
FILTER_TO_NEUTRAL_COMBATLOG_TOOLTIP = "对中立生物进行的动作。",
FILTER_TO_PET_COMBATLOG_TOOLTIP = "对你的宠物、召唤生物和被魅惑玩家进行的动作。",
FILTER_TO_UNKNOWN_COMBATLOG_TOOLTIP = "对隐形目标进行的动作。",
FORMATTING = "格式",
FULL_TEXT_COMBATLOG_TOOLTIP = "整句显示战斗记录信息。",
HARMFUL_AURA_COMBATLOG_TOOLTIP = "当你获得或失去有害光环时显示信息。",
HEALS = "治疗",
HIGHLIGHTING = "高亮显示:",
HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP = "在战斗信息中高亮显示技能名。",
HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP = "在战斗信息中高亮显示伤害数值。",
HIGHLIGHT_KILL_COMBATLOG_TOOLTIP = "高亮显示你或你的队友杀死敌人时所显示的信息。",
HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP = "在战斗信息中高亮显示法术的类型。",
HOSTILE = "敌对",
INTERRUPTS = "打断",
ITEM_NAMES = "物品名",
ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "在物品名称外显示括号。",
KILLS_COMBATLOG_TOOLTIP = "当你的队友杀死某目标时显示信息。",
MELEE = "近战",
MELEE_COMBATLOG_TOOLTIP = "显示普通的近战攻击。",
MESSAGE_SOURCES = "信息来源",
MISSES = "未命中",
MOVE_FILTER_DOWN = "过滤条件下移",
MOVE_FILTER_UP = "过滤条件上移",
OTHER = "其它",
PERIODIC = "周期",
POWER_GAINS = "获得能量",
POWER_GAINS_COMBATLOG_TOOLTIP = "当法术或技能恢复法力、能量、怒气、集中值、真气、神圣能量或暗影宝珠时显示信息。",
QUICKBUTTON_NAME_EVERYTHING = "所有",
QUICKBUTTON_NAME_EVERYTHING_TOOLTIP = "显示所有战斗信息。",
QUICKBUTTON_NAME_KILLS = "杀敌",
QUICKBUTTON_NAME_KILLS_TOOLTIP = "显示所有死亡和杀敌信息。",
QUICKBUTTON_NAME_ME = "我发生了什么?",
QUICKBUTTON_NAME_ME_TOOLTIP = "显示我所接收的所有行为信息。",
QUICKBUTTON_NAME_SELF = "自己",
QUICKBUTTON_NAME_SELF_TOOLTIP = "显示你所进行的和你所接收的动作的信息。",
QUICK_BUTTON_COMBATLOG_TOOLTIP = "在聊天窗口中放置一个该过滤条件的快捷方式。",
RANGED = "远程",
RANGED_COMBATLOG_TOOLTIP = "显示弓箭、枪械、投掷武器和魔杖的攻击。",
RANGE_DAMAGE_COMBATLOG_TOOLTIP = "显示造成了全额或部分伤害的远程射击。",
RANGE_MISSED_COMBATLOG_TOOLTIP = "显示未能造成伤害的远程射击。",
RESURRECT = "复活",
SETTINGS = "设置",
SHOW_BRACES = "显示括号",
SHOW_BRACES_COMBATLOG_TOOLTIP = "在战斗记录信息中的超链接外显示括号。",
SHOW_QUICK_BUTTON = "显示快捷按钮",
SHOW_TIMESTAMP = "显示时间戳",
SOURCE = "来源:",
SPECIAL = "特殊",
SPELLS_COMBATLOG_TOOLTIP = "显示有关法术和特殊技能的信息。",
SPELL_CASTING = "法术施放",
SPELL_CASTING_COMBATLOG_TOOLTIP = "显示有关法术施放的信息。",
SPELL_CAST_FAILED_COMBATLOG_TOOLTIP = "当法术无法施放或施放失败时显示信息。",
SPELL_CAST_START_COMBATLOG_TOOLTIP = "当法术开始施放时显示信息。",
SPELL_CAST_SUCCESS_COMBATLOG_TOOLTIP = "当法术成功施放时显示信息。",
SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP = "按类型用彩色标记法术名。",
SPELL_DAMAGE_COMBATLOG_TOOLTIP = "当法术或技能造成伤害时显示信息。",
SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP = "以彩色标记非普通攻击的伤害数值。",
SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP = "彩色标记伤害类型。(例如:暗影)",
SPELL_DRAIN_COMBATLOG_TOOLTIP = "当法术或技能降低法力、能量、怒气、或集中值时显示信息。",
SPELL_EXTRA_ATTACKS_COMBATLOG_TOOLTIP = "当法术或技能提供额外攻击时显示信息。",
SPELL_HEAL_COMBATLOG_TOOLTIP = "当法术或技能恢复生命值时显示信息。",
SPELL_INSTAKILL_COMBATLOG_TOOLTIP = "显示有关特殊法术类型的信息,比如造成耐久度损失或者与宠物分担伤害的法术。",
SPELL_INTERRUPT_COMBATLOG_TOOLTIP = "当法术或技能打断另一个法术时显示信息。",
SPELL_MISSED_COMBATLOG_TOOLTIP = "当法术或技能未能造成伤害时显示信息。这包括躲闪、招架、格挡、偏转、免疫、吸收和闪避。",
SPELL_NAMES = "法术名",
SPELL_NAMES_COMBATLOG_TOOLTIP = "彩色标记法术名。",
SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "在法术名称外显示括号。",
SPELL_PERIODIC_COMBATLOG_TOOLTIP = "显示法术效果增量的信息。",
SPELL_PERIODIC_DAMAGE_COMBATLOG_TOOLTIP = "当法术或技能周期性地造成伤害时(如暗言术:痛或腐蚀术)显示信息。",
SPELL_PERIODIC_HEAL_COMBATLOG_TOOLTIP = "当法术或技能周期性地恢复生命值时(如恢复或回春术)显示信息。",
SPELL_PERIODIC_MISSED_COMBATLOG_TOOLTIP = "当法术或技能未能造成周期性的伤害时显示信息。这包括免疫、吸收和闪避。",
SPELL_PERIODIC_OTHER_COMBATLOG_TOOLTIP = "当法术或技能周期性地产生其它效果时(如恢复或吸取法力值)显示信息。",
SPELL_RESURRECT_COMBATLOG_TOOLTIP = "当法术或技能复活另一个玩家或怪物时显示信息。",
SPELL_SUMMON_COMBATLOG_TOOLTIP = "当法术召唤出怪物或创造一个物体时显示信息。",
START = "开始",
STRING_SCHOOL_UNKNOWN = "未知",
SUCCESS = "成功",
SUMMONS = "召唤",
SWING_DAMAGE_COMBATLOG_TOOLTIP = "显示造成了全额或部分伤害的近战攻击。",
SWING_MISSED_COMBATLOG_TOOLTIP = "显示未能造成伤害的近战攻击。",
TEXT_MODE_A = "A",
TEXT_MODE_A_STRING_1 = "%s %s %s %s %s. %s %11$s",
TEXT_MODE_A_STRING_2 = "%1$s %3$s%2$s%4$s%5$s。%6$s",
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",
TIMESTAMP_COMBATLOG_TOOLTIP = "显示战斗记录信息的时间戳。",
UNIT_COLORS = "单位颜色:",
UNIT_NAMES = "单位名称",
UNIT_NAMES_COMBATLOG_TOOLTIP = "彩色标记单位名。",
UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP = "在单位名称外显示括号。",
UNIT_YOU = "你",
UNIT_YOU_DEST = "你",
UNIT_YOU_DEST_POSSESSIVE = "你的",
UNIT_YOU_SOURCE = "你",
UNIT_YOU_SOURCE_POSSESSIVE = "你的",
USE_FULL_TEXT_MODE = "使用详细模式",
}
+1
View File
@@ -2,5 +2,6 @@
<Include file="..\api\api.lua"/>
<Include file="..\api\config.lua"/>
<Include file="..\api\ui-widgets.lua"/>
<Include file="..\api\ui-widgets.xml"/>
<Include file="..\api\unitframes.lua"/>
</Ui>
+8
View File
@@ -7,6 +7,14 @@
<Include file="..\env\locales_esES.lua"/>
<Include file="..\env\locales_ruRU.lua"/>
<Include file="..\env\combatlog_enUS.lua"/>
<Include file="..\env\combatlog_koKR.lua"/>
<Include file="..\env\combatlog_frFR.lua"/>
<Include file="..\env\combatlog_deDE.lua"/>
<Include file="..\env\combatlog_zhCN.lua"/>
<Include file="..\env\combatlog_esES.lua"/>
<Include file="..\env\combatlog_ruRU.lua"/>
<Include file="..\env\profiles.lua"/>
<Include file="..\env\translations_enUS.lua"/>
+2
View File
@@ -7,6 +7,8 @@
<Include file="..\modules\gryphons.lua"/>
<Include file="..\modules\hunterbar.lua"/>
<Include file="..\modules\chat.lua"/>
<Include file="..\modules\combatlog.lua"/>
<Include file="..\modules\combatlog_config.lua"/>
<Include file="..\modules\whisperproxy.lua"/>
<Include file="..\modules\chatcopy.lua"/>
<Include file="..\modules\bubbles.lua"/>
+55 -166
View File
@@ -2,16 +2,21 @@
setfenv(1, pfUI:GetEnvironment())
--[[ libpredict ]]--
-- A pfUI library that detects, receives and sends heal and resurrection predictions.
-- A pfUI library that detects, receives and sends heal predictions.
-- Healing predictions are done by caching the last known "normal" heal value of the
-- spell when last being used. Those chaches are cleared when new talents are detected.
-- The API provides function calls similar to later WoW expansions such as:
-- UnitGetIncomingHeals(unit)
-- UnitHasIncomingResurrection(unit)
-- UnitHasResurrection(unit)
--
-- The library is able to receive and send compatible messages to HealComm
-- including resurrections. It has an option to disable the sending of those
-- messages in case HealComm is already active.
-- UnitHasResurrection extends ClassicAPI's UnitHasIncomingResurrection, which
-- ends with the cast, to a resurrection that landed and waits for the target
-- to accept it.
--
-- The library is able to receive and send compatible messages to HealComm,
-- and announces the player's resurrections to HealComm and CTRA. It has an
-- option to disable the sending of those messages in case HealComm is
-- already active.
--
-- Casts are read from ClassicAPI's UNIT_SPELLCAST_* events and heal amounts
-- from COMBAT_LOG_EVENT_UNFILTERED. GetHotDuration() reads live HoT timers
@@ -20,18 +25,16 @@ setfenv(1, pfUI:GetEnvironment())
-- return instantly when another libpredict is already active
if pfUI.api.libpredict then return end
local heals, ress, events, hots = {}, {}, {}, {}
local heals, events, hots = {}, {}, {}
local spell_queue = { "DUMMY", "DUMMYRank 9", "TARGET" }
local player = UnitName("player")
local cache, gear_string = {}, ""
local foreignCache = {} -- [casterName][spellKey] = amount, in-memory cache for other healers
local rejuvDuration, renewDuration = 12, 15 --default durations
local ressGuidToName = {} -- [casterGuid] = casterName, for interrupted-cast cleanup
local healGuidToName = {} -- [casterGuid] = casterName, for interrupted-cast cleanup
local sentTargets = {} -- [castGUID] = target name of an own cast, from UNIT_SPELLCAST_SENT
local castTargets = {} -- [castGUID] = target name of a foreign cast, from UNIT_SPELLCAST_START
local ress_timers = {} -- [target][sender] = expiry_timestamp (60s rez window)
local RESS_TIMEOUT = 60 -- Vanilla: rez offer expires after 60s
local resOffers = {} -- [guid] = expiry of a landed resurrection the target has yet to accept
local RES_OFFER_TIMEOUT = 60 -- the target's resurrect popup declines itself after 60s
-- Localized spell names resolved once from canonical rank-1 spellIDs.
-- Every rank shares the same name, so per-rank comparisons elsewhere can
@@ -42,7 +45,6 @@ local RENEW = C_Spell.GetSpellName(139) -- Renew (Rank 1)
local REGROWTH = C_Spell.GetSpellName(8936) -- Regrowth (Rank 1)
local libpredict = CreateFrame("Frame")
libpredict:RegisterEvent("UNIT_HEALTH")
libpredict:RegisterEvent("CHAT_MSG_ADDON")
libpredict:RegisterEvent("PLAYER_TARGET_CHANGED")
libpredict:RegisterEvent("PLAYER_LOGOUT")
@@ -55,13 +57,8 @@ libpredict:SetScript("OnEvent", function()
return
end
if event == "CHAT_MSG_ADDON" and (arg1 == "HealComm" or arg1 == "CTRA") then
this:ParseChatMessage(arg4, arg2, arg1)
elseif event == "UNIT_HEALTH" then
local name = UnitName(arg1)
if name and ress[name] and not UnitIsDeadOrGhost(arg1) then
ress[name] = nil
end
if event == "CHAT_MSG_ADDON" and arg1 == "HealComm" then
this:ParseChatMessage(arg4, arg2)
end
end)
@@ -95,12 +92,6 @@ local function cacheRaidNames()
if pguid then guidNameCache[pguid] = UnitName("player") end
end
local function isRezSpell(spellId)
if not L["resurrections"] then return false end
local spellName = C_Spell.GetSpellName(spellId)
return spellName and L["resurrections"][spellName]
end
-- Build cache on world enter
libpredict:RegisterEvent("PLAYER_ENTERING_WORLD")
libpredict:RegisterEvent("RAID_ROSTER_UPDATE")
@@ -131,7 +122,6 @@ local function OnOwnCastStart(spellId, castGUID)
if L["resurrections"][spellName] then
if target then
libpredict:Ress(player, target, UnitGUID("player"))
libpredict.sender:SendHealCommMsg("Resurrection/" .. target .. "/start/")
libpredict.sender:SendResCommMsg("RES " .. target)
libpredict.sender.resurrecting = true
@@ -212,7 +202,7 @@ local function OnOwnCastStart(spellId, castGUID)
end
end
-- Own cast landed: HealStop, Regrowth timer, instant HoTs, own rez timer
-- Own cast landed: HealStop, Regrowth timer, instant HoTs
local function OnOwnCastSucceeded(spellId, castGUID)
local target = sentTargets[castGUID] or spell_queue[3]
sentTargets[castGUID] = nil
@@ -250,14 +240,10 @@ local function OnOwnCastSucceeded(spellId, castGUID)
libpredict:Hot(player, target, hotType, duration, nil, "UNIT_SPELLCAST_SUCCEEDED", rank)
libpredict.sender:SendHealCommMsg(hotType .. "/" .. target .. "/" .. duration .. "/" .. rank .. "/")
end
if isRezSpell(spellId) then
libpredict:RessSetTimer(player, target)
end
end
-- Foreign cast-time spell started (heals + rez)
local function OnOtherCastStart(unit, spellId, castGUID)
-- Foreign cast-time heal started
local function OnOtherCastStart(unit, spellId)
local spellName = C_Spell.GetSpellName(spellId)
if not spellName then return end
@@ -267,13 +253,6 @@ local function OnOtherCastStart(unit, spellId, castGUID)
local targetName = UnitSpellTargetName(unit)
if not targetName then return end
castTargets[castGUID] = targetName
-- Resurrection cast
if L["resurrections"][spellName] then
libpredict:Ress(casterName, targetName, casterGuid)
return
end
-- Heal cast: look up cached amount from a previous cast by this healer
local _, _, _, startMs, endMs = C_Spell.UnitCastingInfo(unit)
@@ -324,35 +303,31 @@ local function OnOtherCastStart(unit, spellId, castGUID)
libpredict:Heal(casterName, targetName, amount, castTime, casterGuid)
end
-- Foreign cast landed: rez timer, or the predicted heal is fulfilled
local function OnOtherCastSucceeded(unit, spellId, castGUID)
local casterGuid = UnitGUID(unit)
local casterName = resolveNameFromGuid(casterGuid)
-- Foreign cast landed: the predicted heal is fulfilled
local function OnOtherCastSucceeded(unit)
local casterName = resolveNameFromGuid(UnitGUID(unit))
if not casterName then return end
if isRezSpell(spellId) then
local targetName = castTargets[castGUID]
if targetName then
libpredict:RessSetTimer(casterName, targetName)
end
return
end
libpredict:HealStop(casterName)
end
-- Foreign cast interrupted: remove cancelled resses/heals
-- Foreign cast interrupted: remove cancelled heals
local function OnOtherCastInterrupted(unit)
local casterGuid = UnitGUID(unit)
if not casterGuid then return end
local ressName = ressGuidToName[casterGuid]
if ressName then
libpredict:RessStop(ressName)
end
local healName = healGuidToName[casterGuid]
if healName then libpredict:HealStop(healName) end
end
-- Flag the unit frames showing `guid` to redraw their resurrection icon
local function RefreshResFrames(guid)
for _, frame in pairs(pfUI.uf.frames) do
if frame.unitstr and UnitGUID(frame.unitstr) == guid then
frame.update_indicators = true
end
end
end
libpredict:SetScript("OnUpdate", function()
-- throttle cleanup - no need to check every frame
local now = pfUI.uf.now or GetTime()
@@ -366,13 +341,12 @@ libpredict:SetScript("OnUpdate", function()
end
end
-- Rez timeout: remove offer after 60s if player doesn't accept
for target, senders in pairs(ress_timers) do
for sender, expiry in pairs(senders) do
if now >= expiry then
senders[sender] = nil
if ress[target] then ress[target][sender] = nil end
end
-- drop resurrection offers the target accepted or let run out
for guid, expiry in pairs(resOffers) do
local unit = UnitTokenFromGUID(guid)
if now >= expiry or not (unit and UnitIsDeadOrGhost(unit)) then
resOffers[guid] = nil
RefreshResFrames(guid)
end
end
end)
@@ -386,8 +360,6 @@ function libpredict:ParseComm(sender, msg)
if libpredict.debug then
DEFAULT_CHAT_FRAME:AddMessage("|cff00ffff[libpredict RX]|r HealStop from " .. tostring(sender))
end
elseif msg == "Resurrection/stop/" then
msgtype = "RessStop"
elseif msg then
local msgobj = {strsplit("/", msg)}
@@ -397,10 +369,6 @@ function libpredict:ParseComm(sender, msg)
msgtype, time = "Delay", msgobj[2]
end
if msgobj[1] and msgobj[1] == "Resurrection" and msgobj[2] then
msgtype, target = "Ress", msgobj[2]
end
if msgobj[1] == "Heal" and msgobj[2] then
msgtype, target, heal, time = "Heal", msgobj[2], msgobj[3], msgobj[4]
end
@@ -472,27 +440,12 @@ end
local recentHots = {}
local DUPLICATE_WINDOW = 0.5 -- Ignoriere gleiche Nachricht innerhalb 0.5s
function libpredict:ParseChatMessage(sender, msg, comm)
local msgtype, target, heal, time, rank
if comm == "HealComm" then
msgtype, target, heal, time, rank = libpredict:ParseComm(sender, msg)
elseif comm == "CTRA" then
local _, _, cmd, ctratarget = string.find(msg, "(%a+)%s?([^#]*)")
if cmd and ctratarget and cmd == "RES" and ctratarget ~= "" and ctratarget ~= UNKNOWN then
msgtype = "Ress"
target = ctratarget
elseif cmd == "RESNO" then
msgtype = "RessStop"
end
end
function libpredict:ParseChatMessage(sender, msg)
local msgtype, target, heal, time, rank = libpredict:ParseComm(sender, msg)
if msgtype == "Stop" and sender then
libpredict:HealStop(sender)
return
elseif msgtype == "RessStop" and sender then
libpredict:RessStop(sender)
return
elseif msgtype == "Delay" and time then
libpredict:HealDelay(sender, time)
elseif msgtype == "Heal" and target and heal and time then
@@ -503,29 +456,6 @@ function libpredict:ParseChatMessage(sender, msg, comm)
else
libpredict:Heal(sender, target, heal, time)
end
elseif msgtype == "Ress" then
-- HealComm: only for other players (own resses tracked via UNIT_SPELLCAST_START)
local playerName = UnitName("player")
if sender ~= playerName then
local senderGuid
for i = 1, GetNumRaidMembers() do
local unit = "raid" .. i
if UnitName(unit) == sender then
senderGuid = UnitGUID(unit)
break
end
end
if not senderGuid then
for i = 1, GetNumPartyMembers() do
local unit = "party" .. i
if UnitName(unit) == sender then
senderGuid = UnitGUID(unit)
break
end
end
end
libpredict:Ress(sender, target, senderGuid)
end
elseif msgtype == "Hot" then
-- Duplicate check: ignore same sender+target+spell within DUPLICATE_WINDOW
local now = pfUI.uf.now or GetTime()
@@ -674,41 +604,6 @@ function libpredict:HealDelay(sender, delay)
end
end
function libpredict:Ress(sender, target, senderGuid)
ress[target] = ress[target] or {}
ress[target][sender] = true
if senderGuid then ressGuidToName[senderGuid] = sender end
-- no timer here - timer is only set once the cast actually completes
end
function libpredict:RessSetTimer(sender, target)
ress_timers[target] = ress_timers[target] or {}
local existing = ress_timers[target][sender]
if not existing or GetTime() >= existing then
ress_timers[target][sender] = GetTime() + RESS_TIMEOUT
else
end
end
function libpredict:RessStop(sender)
local now = GetTime()
for ttarget, t in pairs(ress) do
for tsender in pairs(ress[ttarget]) do
if sender == tsender then
local expiry = ress_timers[ttarget] and ress_timers[ttarget][tsender]
if not expiry or now >= expiry then
ress[ttarget][tsender] = nil
if ress_timers[ttarget] then ress_timers[ttarget][tsender] = nil end
else
end
end
end
end
for guid, name in pairs(ressGuidToName) do
if name == sender then ressGuidToName[guid] = nil end
end
end
function libpredict:UnitGetIncomingHeals(unit)
if not unit then return 0 end
local name = UnitName(unit)
@@ -731,21 +626,10 @@ function libpredict:UnitGetIncomingHeals(unit)
return sumheal
end
function libpredict:UnitHasIncomingResurrection(unit)
if not unit then return nil end
local name = UnitName(unit)
if not name then return nil end
if not ress[name] then
return nil
else
for sender, val in pairs(ress[name]) do
if val == true then
return val
end
end
end
return nil
-- Whether a resurrection is being cast at the unit, or landed and waits for
-- the unit to accept it
function libpredict:UnitHasResurrection(unit)
return UnitHasIncomingResurrection(unit) or resOffers[UnitGUID(unit)] ~= nil
end
local realm = GetRealmName()
@@ -1073,7 +957,6 @@ libpredict.sender:RegisterEvent("UNIT_SPELLCAST_DELAYED")
libpredict.sender:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
libpredict.sender:RegisterEvent("UNIT_SPELLCAST_FAILED")
libpredict.sender:RegisterEvent("UNIT_SPELLCAST_INTERRUPTED")
libpredict.sender:RegisterEvent("UNIT_SPELLCAST_STOP")
libpredict.sender:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
-- Shared cleanup helper for failed/interrupted casts
@@ -1085,7 +968,6 @@ local function onCastFailed()
s.healing = nil
elseif s.resurrecting then
local target = s.current_cast_target or spell_queue[3]
libpredict:RessStop(UnitName("player"))
s:SendHealCommMsg("Resurrection/stop/")
s:SendResCommMsg("RESNO " .. (target or ""))
s.resurrecting = nil
@@ -1136,11 +1018,20 @@ local function OnHeal()
end
end
-- A landed resurrection: the target has an offer to accept, which outlasts
-- UnitHasIncomingResurrection's end with the cast
local function OnResurrect()
-- arg8=destGUID
resOffers[arg8] = GetTime() + RES_OFFER_TIMEOUT
RefreshResFrames(arg8)
end
local lastOtherCast = {} -- [event] = castGUID of the last other-unit event handled
libpredict.sender:SetScript("OnEvent", function()
if event == "COMBAT_LOG_EVENT_UNFILTERED" then
if arg2 == "SPELL_HEAL" then OnHeal() end
if arg2 == "SPELL_HEAL" then OnHeal()
elseif arg2 == "SPELL_RESURRECT" then OnResurrect() end
return
end
@@ -1176,13 +1067,11 @@ libpredict.sender:SetScript("OnEvent", function()
lastOtherCast[event] = arg2
if event == "UNIT_SPELLCAST_START" then
OnOtherCastStart(unit, arg3, arg2)
OnOtherCastStart(unit, arg3)
elseif event == "UNIT_SPELLCAST_SUCCEEDED" then
OnOtherCastSucceeded(unit, arg3, arg2)
OnOtherCastSucceeded(unit)
elseif event == "UNIT_SPELLCAST_INTERRUPTED" then
OnOtherCastInterrupted(unit)
elseif event == "UNIT_SPELLCAST_STOP" then
castTargets[arg2] = nil
end
end)
+108 -144
View File
@@ -69,12 +69,42 @@ pfUI:RegisterModule("addons", function ()
pfUI.addons:Hide()
end)
-- installed addons, one entry per row of the addon list
local addons = {}
for i = 1, GetNumAddOns() do
local name, title, notes = GetAddOnInfo(i)
addons[i] = {
index = i,
name = name,
title = title,
notes = notes,
author = GetAddOnMetadata(name, "Author"),
version = GetAddOnMetadata(name, "Version"),
deps = { GetAddOnDependencies(i) }, -- required (.toc Dependencies)
optdeps = { C_AddOns.GetAddOnOptionalDependencies(i) }, -- optional (.toc OptionalDeps)
}
end
local function IsAddonEnabled(index)
local _, _, _, enabled = GetAddOnInfo(index)
return enabled
end
local function SetAddonEnabled(index, enabled)
if enabled then
EnableAddOn(index)
else
DisableAddOn(index)
end
pfUI.addons.hasChanged = true
end
-- addons profile
local function GetSelectedAddonsList()
local selected_addons = {}
for i, frame in ipairs(pfUI.addons.list) do
if frame.input:GetChecked() then
table.insert(selected_addons, frame.aname)
for i, addon in ipairs(addons) do
if IsAddonEnabled(i) then
table.insert(selected_addons, addon.name)
end
end
return selected_addons
@@ -90,28 +120,20 @@ pfUI:RegisterModule("addons", function ()
pfUI.addons.profile.dropdown:SetSelectionByText(profile)
-- load profile
local selected_list = pfUI_addon_profiles[profile]
for i=1, GetNumAddOns() do
local active = false
local f = pfUI.addons.list[i]
local selected = {}
for _, name in ipairs(pfUI_addon_profiles[profile]) do
selected[name] = true
end
for i_i, n in ipairs(selected_list) do
if f.aname == n then
active = true
break
end
end
if active then
if not f.input:GetChecked() then
f.input:Click()
end
else
if f.input:GetChecked() then
f.input:Click()
end
for i, addon in ipairs(addons) do
if selected[addon.name] and not IsAddonEnabled(i) then
SetAddonEnabled(i, true)
elseif not selected[addon.name] and IsAddonEnabled(i) then
SetAddonEnabled(i, false)
end
end
pfUI.addons.list.ScrollBox:ReinitializeFrames()
end
-- addon profiles
@@ -193,23 +215,6 @@ pfUI:RegisterModule("addons", function ()
return menu
end)
-- addon list: scroll frame
pfUI.addons.scroll = CreateScrollFrame("pfAddonListScroll", pfUI.addons)
pfUI.addons.scroll:SetSize(360, 410)
pfUI.addons.scroll:SetPoint("BOTTOM", 0, 10)
pfUI.addons.scroll.backdrop = CreateFrame("Frame", nil, pfUI.addons.scroll)
pfUI.addons.scroll.backdrop:SetFrameLevel(1)
pfUI.addons.scroll.backdrop:SetPoint("TOPLEFT", pfUI.addons.scroll, "TOPLEFT", -5, 5)
pfUI.addons.scroll.backdrop:SetPoint("BOTTOMRIGHT", pfUI.addons.scroll, "BOTTOMRIGHT", 5, -5)
CreateBackdrop(pfUI.addons.scroll.backdrop, nil, true)
-- addon list: scroll parent
pfUI.addons.list = CreateScrollChild("pfAddonList", pfUI.addons.scroll)
pfUI.addons.list:RegisterEvent("ADDON_LOADED")
pfUI.addons.list:RegisterEvent("PLAYER_ENTERING_WORLD")
pfUI.addons.list:SetHeight(GetNumAddOns() * 25 + 26)
local function AddDependencyLines(header, deps)
if not deps or table.getn(deps) == 0 then return end
GameTooltip:AddLine(" ")
@@ -225,137 +230,96 @@ pfUI:RegisterModule("addons", function ()
end
end
local function AddonOnEnter()
this:SetBackdropBorderColor(1,1,1,.08)
local function RowOnEnter(self)
local addon = self.addon
self:SetBackdropBorderColor(1,1,1,.08)
GameTooltip:SetOwner(this, "ANCHOR_RIGHT")
GameTooltip:SetText(this.atitle)
if this.aversion then
GameTooltip:AddDoubleLine(T["Version"], this.aversion, 1,1,1, .2,1,.8)
GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
GameTooltip:SetText(addon.title)
if addon.version then
GameTooltip:AddDoubleLine(T["Version"], addon.version, 1,1,1, .2,1,.8)
end
if this.aauthor then
GameTooltip:AddDoubleLine(T["Author"], this.aauthor, 1,1,1, .2,1,.8)
if addon.author then
GameTooltip:AddDoubleLine(T["Author"], addon.author, 1,1,1, .2,1,.8)
end
GameTooltip:AddLine(this.anote, .75,.75,.75,1)
AddDependencyLines(T["Dependencies"], this.adeps)
AddDependencyLines(T["Optional Dependencies"], this.aoptdeps)
GameTooltip:AddLine(addon.notes, .75,.75,.75,1)
AddDependencyLines(T["Dependencies"], addon.deps)
AddDependencyLines(T["Optional Dependencies"], addon.optdeps)
GameTooltip:SetWidth(180)
GameTooltip:Show()
end
local function AddonOnLeave()
this:SetBackdropBorderColor(1,1,1,.04)
local function RowOnLeave(self)
self:SetBackdropBorderColor(1,1,1,.04)
GameTooltip:Hide()
end
local function AddonOnClick()
this.input:Click()
local function RowOnClick(self)
self.input:Click()
end
local function InputOnClick()
if this:GetChecked() then
EnableAddOn(this:GetID())
else
DisableAddOn(this:GetID())
end
pfUI.addons.hasChanged = true
local function InputOnClick(self)
SetAddonEnabled(self:GetParent().addon.index, self:GetChecked())
local id, name = pfUI.addons.profile.dropdown:GetSelection()
local _, name = pfUI.addons.profile.dropdown:GetSelection()
name = name or T["Current"]
pfUI_addon_profiles[name] = GetSelectedAddonsList()
end
pfUI.addons.list:SetScript("OnEvent", function()
for i=1, GetNumAddOns() do
local aname, atitle, anote = GetAddOnInfo(i)
local aauthor = GetAddOnMetadata(aname, "Author")
local aversion = GetAddOnMetadata(aname, "Version")
local function InitRow(row, addon)
-- one-time setup of a pooled row
if not row.input then
row:SetBackdrop(pfUI.backdrop_hover)
row:SetBackdropBorderColor(1,1,1,.04)
-- basic frame
if not pfUI.addons.list[i] then
pfUI.addons.list[i] = CreateFrame("Button", nil, pfUI.addons.list)
local frame = pfUI.addons.list[i]
frame.aname = aname
frame.atitle = atitle
frame.anote = anote
frame.aauthor = aauthor
frame.aversion = aversion
frame.adeps = { GetAddOnDependencies(i) } -- required (.toc Dependencies)
frame.aoptdeps = { C_AddOns.GetAddOnOptionalDependencies(i) } -- optional (.toc OptionalDeps)
row:EnableMouse(true)
row:SetScript("OnEnter", RowOnEnter)
row:SetScript("OnLeave", RowOnLeave)
row:SetScript("OnClick", RowOnClick)
frame:SetSize(340, 25)
frame:SetPoint("TOPLEFT", 5, i * -25 + 20)
-- caption
row.caption = row:CreateFontString(nil, "LOW", "GameFontNormal")
row.caption:SetFont(pfUI.font_default, C.global.font_size + 2, "OUTLINE")
row.caption:SetPoint("LEFT", row, "LEFT", 2, 0)
row.caption:SetFontObject(GameFontWhite)
row.caption:SetJustifyH("LEFT")
frame:SetBackdrop(pfUI.backdrop_hover)
frame:SetBackdropBorderColor(1,1,1,.04)
frame:EnableMouse(1)
frame:SetScript("OnEnter", AddonOnEnter)
frame:SetScript("OnLeave", AddonOnLeave)
frame:SetScript("OnClick", AddonOnClick)
-- caption
frame.caption = frame:CreateFontString("Status", "LOW", "GameFontNormal")
frame.caption:SetFont(pfUI.font_default, C.global.font_size + 2, "OUTLINE")
frame.caption:SetPoint("LEFT", frame, "LEFT", 2, 0)
frame.caption:SetFontObject(GameFontWhite)
frame.caption:SetJustifyH("LEFT")
frame.caption:SetText(atitle)
-- input field
frame.input = CreateFrame("CheckButton", nil, frame, "UICheckButtonTemplate")
frame.input:SetFrameLevel(3)
frame.input:SetNormalTexture("")
frame.input:SetPushedTexture("")
frame.input:SetHighlightTexture("")
CreateBackdrop(frame.input, nil, true)
frame.input:SetBackdropBorderColor(.3,.3,.3,1)
frame.input:SetWidth(14)
frame.input:SetHeight(14)
frame.input:SetPoint("RIGHT" , -5, 1)
frame.input:SetID(i)
frame.input:SetScript("OnClick", InputOnClick)
end
if IsAddOnLoaded(i) then
pfUI.addons.list[i].input:SetChecked()
pfUI.addons.list[i].caption:SetAlpha(1)
else
pfUI.addons.list[i].caption:SetAlpha(.5)
end
-- input field
row.input = CreateFrame("CheckButton", nil, row, "UICheckButtonTemplate")
row.input:SetNormalTexture("")
row.input:SetPushedTexture("")
row.input:SetHighlightTexture("")
CreateBackdrop(row.input, nil, true)
row.input:SetBackdropBorderColor(.3,.3,.3,1)
row.input:SetSize(14, 14)
row.input:SetPoint("RIGHT" , -5, 1)
row.input:SetScript("OnClick", InputOnClick)
end
end)
-- show only frames in visible range
function pfUI.addons.scroll:ShowVisibleRange()
local top_index, bottom_index, range
range = floor(pfUI.addons.scroll:GetHeight() / 25) + 1
top_index = floor(pfUI.addons.scroll:GetVerticalScroll() / 25) > 0 and floor(pfUI.addons.scroll:GetVerticalScroll() / 25) or 1
bottom_index = top_index + range
for i=1, GetNumAddOns() do
if i >= top_index and i <= bottom_index then
pfUI.addons.list[i]:Show()
else
pfUI.addons.list[i]:Hide()
end
end
row.addon = addon
row.caption:SetText(addon.title)
row.caption:SetAlpha(IsAddOnLoaded(addon.index) and 1 or .5)
row.input:SetChecked(IsAddonEnabled(addon.index))
end
pfUI.addons.scroll.slider:SetScript("OnValueChanged", function()
this:GetParent():SetVerticalScroll(this:GetValue())
end)
pfUI.addons.scroll:SetScript("OnScrollRangeChanged", function()
this.slider:SetMinMaxValues(1, floor(this:GetVerticalScrollRange() + 25))
end)
pfUI.addons.scroll:SetScript("OnShow", function()
this.slider:SetValue(floor(this:GetVerticalScroll()))
pfUI.addons.scroll:ShowVisibleRange()
end)
pfUI.addons.scroll:SetScript("OnVerticalScroll", function()
pfUI.addons.scroll:ShowVisibleRange()
this.slider:SetValue(floor(this:GetVerticalScroll()))
-- addon list: a ScrollBox keeps rows only for the addons in view
pfUI.addons.list = CreateFrame("Frame", "pfAddonList", pfUI.addons, "pfUIScrollBoxListTemplate")
pfUI.addons.list:SetSize(370, 420)
pfUI.addons.list:SetPoint("BOTTOM", 0, 5)
CreateBackdrop(pfUI.addons.list, nil, true)
local view = CreateScrollBoxListLinearView(5, 5, 5, 8)
view:SetElementExtent(25)
view:SetElementInitializer("Button", InitRow)
ScrollUtil.InitScrollBoxListWithScrollBar(pfUI.addons.list.ScrollBox, pfUI.addons.list.ScrollBar, view)
pfUI.addons.list.ScrollBox:SetDataProvider(CreateDataProvider(addons))
-- a load-on-demand addon that loads brightens its row
pfUI.addons.list:RegisterEvent("ADDON_LOADED")
pfUI.addons.list:SetScript("OnEvent", function(self)
self.ScrollBox:ReinitializeFrames()
end)
end)
+10 -11
View File
@@ -29,20 +29,20 @@ pfUI:RegisterModule("afkcam", function ()
overlay:SetFrameStrata("DIALOG")
overlay:SetAllPoints(WorldFrame)
overlay:SetScript("OnMouseUp",function()
SendChatMessage("","AFK")
this._parent:stop()
end)
-- /afk toggles, so send it only while AFK is still set: once the client
-- or the server has cleared it, /afk would set it again
local function Wake()
if IsChatAFK() then SendChatMessage("", "AFK") end
afkcam:stop()
end
overlay:SetScript("OnMouseUp", Wake)
overlay:SetScript("OnShow", function()
this:EnableKeyboard(true)
end)
overlay:SetScript("OnHide", function()
this:EnableKeyboard(false)
end)
overlay:SetScript("OnKeyUp",function()
SendChatMessage("","AFK")
this._parent:stop()
end)
overlay:SetScript("OnKeyUp", Wake)
overlay:Hide()
local chat = CreateFrame("ScrollingMessageFrame", "pfAFKCamChat", overlay)
@@ -82,7 +82,6 @@ pfUI:RegisterModule("afkcam", function ()
end)
overlay.chat = chat
overlay._parent = afkcam
afkcam.overlay = overlay
local clock = CreateFrame("Frame", "pfAFKClock", overlay)
@@ -166,9 +165,9 @@ pfUI:RegisterModule("afkcam", function ()
if event == "PLAYER_FLAGS_CHANGED" then
if UnitIsAFK('player') then
delay:Show()
elseif delay:IsVisible() then
else
delay:Hide()
this:stop()
if this._spinning then this:stop() end
end
else
if this._spinning then
+30 -12
View File
@@ -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
@@ -779,6 +780,20 @@ pfUI:RegisterModule("chat", function ()
local r,g,b,a = GetStringColor(C.chat.text.timecolor)
local timecolorhex = rgbhex(r,g,b,a)
-- AddMessage puts the time between these at the start of each line
local timestampStart = timecolorhex .. tleft
local timestampEnd = tright .. "|r "
-- [ StripTimestamp ]
-- Returns a chat line without the timestamp AddMessage put before it.
function pfUI.chat.StripTimestamp(text)
if C.chat.text.time ~= "1" or text:sub(1, #timestampStart) ~= timestampStart then
return text
end
local _, last = text:find(timestampEnd, #timestampStart + 1, true)
return last and text:sub(last + 1) or text
end
local r,g,b = GetStringColor(C.chat.text.unknowncolor)
local unknowncolorhex = rgbhex(r,g,b)
@@ -788,12 +803,14 @@ pfUI:RegisterModule("chat", function ()
return pfUI_playerDB[name].level
end
local function AddMessage(frame, text, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17)
-- Passes every argument after the text on: GetMessageInfo returns them all,
-- and a hook that drops some loses them for every frame after it.
local function AddMessage(frame, text, ...)
if not text then return end
-- skip chat parsing on combat log
if frame.pfCombatLog then
return frame:HookAddMessage(text, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17)
return frame:HookAddMessage(text, ...)
end
-- payload of the CHAT_MSG event printing this line; nil for lines
@@ -879,24 +896,25 @@ pfUI:RegisterModule("chat", function ()
-- pushes the whisper colour code off position 1 and the find below fails
local isWhisper = C.chat.global.whispermod == "1" and string.find(text, wcol, 1) == 1
if isWhisper then
-- patch incoming whisper string to match the colors, before the
-- timestamp so it keeps the form StripTimestamp looks for
text = string.gsub(text, "|r", "|r" .. wcol)
end
-- show timestamp in chat
if C.chat.text.time == "1" then
text = timecolorhex .. tleft .. date(C.chat.text.timeformat) .. tright .. "|r " .. text
text = timestampStart .. date(C.chat.text.timeformat) .. timestampEnd .. text
end
-- save chat history
if isWhisper then
SaveChatHistory(frame:GetID(), string.gsub(text, wcol, ""), cr, cg, cb)
else
SaveChatHistory(frame:GetID(), text, a1, a2, a3)
SaveChatHistory(frame:GetID(), text, ...)
end
if isWhisper then
-- patch incoming whisper string to match the colors
text = string.gsub(text, "|r", "|r" .. wcol)
end
frame:HookAddMessage(text, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17)
frame:HookAddMessage(text, ...)
end
for i=1,NUM_CHAT_WINDOWS do
+50 -106
View File
@@ -1,5 +1,4 @@
pfUI:RegisterModule("chatcopy", function ()
local limit = 100
local f = CreateFrame("Frame")
f:RegisterEvent("PLAYER_ENTERING_WORLD")
f:SetScript("OnEvent", function()
@@ -15,26 +14,27 @@ pfUI:RegisterModule("chatcopy", function ()
button.icon:SetTexture("Interface\\Buttons\\UI-GuildButton-PublicNote-Disabled")
button.icon:SetAllPoints()
-- show or hide the copy box of every chat frame
local function SetCopyMode(state)
button.state = state
for i=1, _G.NUM_CHAT_WINDOWS do
local scroll = _G["ChatFrame"..i].scroll
if scroll then
scroll:SetShown(state)
end
end
if state then
button.icon:SetTexture("Interface\\Buttons\\UI-GuildButton-PublicNote-Up")
else
button.icon:SetTexture("Interface\\Buttons\\UI-GuildButton-PublicNote-Disabled")
end
end
button:SetScript("OnClick", function()
if arg1 == "LeftButton" then
this.state = not this.state
for i=1, _G.NUM_CHAT_WINDOWS do
local frame = _G["ChatFrame"..i]
local scroll = frame.scroll
if scroll and this.state then
scroll:Show()
elseif scroll then
scroll:Hide()
end
end
if this.state then
button.icon:SetTexture("Interface\\Buttons\\UI-GuildButton-PublicNote-Up")
else
button.icon:SetTexture("Interface\\Buttons\\UI-GuildButton-PublicNote-Disabled")
end
SetCopyMode(not this.state)
elseif arg1 == "RightButton" then
if ChatMenu:IsShown() then
ChatMenu:Hide()
@@ -56,98 +56,42 @@ pfUI:RegisterModule("chatcopy", function ()
for i=1, _G.NUM_CHAT_WINDOWS do
local frame = _G["ChatFrame"..i]
local name = frame:GetName()
local combat = 0
for i, msg in pairs(frame.messageTypeList) do
if strfind(msg, "SPELL", 1) or strfind(msg, "COMBAT", 1) then
combat = combat + 1
-- the chat frame's messages in an edit box to copy from
local scroll = CreateFrame("Frame", "pfChatCopy" .. i, frame, "pfUIScrollingEditBoxTemplate")
scroll:SetAllPoints(frame)
scroll.tex = scroll:CreateTexture(nil, "BACKGROUND")
scroll.tex:SetTexture(0,0,0,.95)
scroll.tex:SetPoint("TOPLEFT", -3, 3)
scroll.tex:SetPoint("BOTTOMRIGHT", 3, -3)
scroll:Hide()
scroll:RegisterCallback("OnEscapePressed", function()
SetCopyMode(false)
end, scroll)
scroll:HookScript("OnShow", function()
-- each line in its own color, which also replaces the |r resets inside it
local lines = {}
for index=1, frame:GetNumMessages() do
local text, r, g, b = frame:GetMessageInfo(index)
if C.chat.text.copytime == "0" then
text = pfUI.chat.StripTimestamp(text)
end
local color = rgbhex(r, g, b)
table.insert(lines, color .. text:gsub("|r", color))
end
end
local text = table.concat(lines, "\n")
if combat < 5 then
-- initialize message cache
local history = {}
local AddMessage = frame.AddMessage
frame.AddMessage = function(self,msg,r,g,b)
if msg and r and g and b then
local col = rgbhex(r,g,b)
table.insert(history, 1, col..string.gsub(msg, "|r", col))
elseif msg then
table.insert(history, 1, "|cffffffff"..msg)
end
scroll:SetFont(frame:GetFont())
scroll:SetText(text)
if history[limit] then
table.remove(history, limit)
end
AddMessage(self,msg,r,g,b)
end
-- the cursor at the end scrolls the box to the newest line
scroll:SetFocus()
scroll:SetCursorPosition(#text)
end)
-- read chat defaults
local font, size, flags = frame:GetFont()
-- build the frames
local scroll = CreateScrollFrame("ChatFrameScroll"..i, frame)
scroll:SetAllPoints(frame)
scroll.tex = scroll:CreateTexture(nil, "BACKGROUND")
scroll.tex:SetTexture(0,0,0,.95)
scroll.tex:SetPoint("TOPLEFT", -3, 3)
scroll.tex:SetPoint("BOTTOMRIGHT", 3, -3)
scroll:Hide()
local editbox = CreateFrame("EditBox", "pfChatCopyBox" .. i, scroll)
editbox:SetSize(frame:GetSize())
editbox:SetAllPoints(scroll)
editbox:SetTextColor(1,1,1,1)
editbox:SetFontObject(ChatFontNormal)
editbox:SetFont(font, size, flags)
editbox:SetAutoFocus(true)
editbox:SetMultiLine(true)
editbox:SetMaxLetters(0)
editbox:SetScript("OnMouseDown", function()
editbox.hasFocus = true
end)
editbox:SetScript("OnEscapePressed", function()
if editbox.hasFocus then
editbox:HighlightText(0, 0)
editbox:ClearFocus()
editbox.hasFocus = false
else
editbox:GetParent():Hide()
pfChatCopyButton.icon:SetTexture("Interface\\Buttons\\UI-GuildButton-PublicNote-Disabled")
pfChatCopyButton.state = false
end
end)
scroll:SetScrollChild(editbox)
scroll:SetScript("OnShow", function()
editbox:SetText("")
for i=limit,0,-1 do
if history[i] then
editbox:Insert("\n" .. history[i])
end
end
editbox:SetScript("OnUpdate", function()
if not this.count then this.count = 0 end
scroll:UpdateScrollChildRect()
scroll:SetVerticalScroll(scroll:GetVerticalScrollRange())
scroll:Scroll()
this.count = this.count + 1
-- the scroll frame takes a while to update
if this.count >= 3 then
this:SetScript("OnUpdate", nil)
this.count = 0
end
end)
end)
frame.scroll = scroll
end
frame.scroll = scroll
end
this:UnregisterAllEvents()
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+154 -238
View File
@@ -270,39 +270,20 @@ pfUI:RegisterModule("equipmentmanager", function()
-- ============================================================
local LIST_VISIBLE_ROWS = 7
local LIST_ROW_STRIDE = SET_ROW_HEIGHT + 2
local listFrame = CreateFrame("Frame", nil, frame)
-- The template keeps 5px around the rows, which sit 2px apart.
local listFrame = CreateFrame("Frame", nil, frame, "pfUIScrollBoxListTemplate")
listFrame:SetPoint("TOPLEFT", frame, "TOPLEFT", 16, -58)
-- Height fits N rows + (N-1) inter-row gaps + 3px top/bottom padding.
listFrame:SetSize(180, LIST_VISIBLE_ROWS * LIST_ROW_STRIDE + 4)
listFrame:SetSize(180, LIST_VISIBLE_ROWS * (SET_ROW_HEIGHT + 2) - 2 + 10)
CreateBackdrop(listFrame, nil, nil, .75)
-- Mouse-wheel scroll: list of [sets..., newSetRow] is virtualized
-- through LIST_VISIBLE_ROWS slots. Refresh() consumes listFrame.offset
-- and the wheel handler clamps + bumps it.
listFrame.offset = 0
listFrame:EnableMouseWheel(true)
listFrame:SetScript("OnMouseWheel", function()
listFrame.offset = listFrame.offset - (arg1 or 0)
pfUI.equipmentmanager.Refresh()
end)
local setRows = {}
local function CreateSetRow()
local row = CreateFrame("Button", nil, listFrame)
row:SetSize(170, SET_ROW_HEIGHT)
-- Position is set per-Refresh based on the row's visible slot;
-- start anchored to avoid uninitialized geometry before first Refresh.
row:SetPoint("TOPLEFT", listFrame, "TOPLEFT", 5, -3)
-- One-time setup of a pooled row. A row shows a set or, last in the
-- list, the "New Set" entry; InitSetRow sets what differs.
local function SetupSetRow(row)
row.icon = row:CreateTexture(nil, "ARTWORK")
row.icon:SetSize(30, 30)
row.icon:SetPoint("LEFT", row, "LEFT", 2, 0)
row.icon:SetTexCoord(.08, .92, .08, .92)
row.icon:SetPoint("CENTER", row, "LEFT", 17, 0)
row.text = row:CreateFontString(nil, "OVERLAY", "GameFontNormal")
row.text:SetPoint("LEFT", row.icon, "RIGHT", 6, 0)
row.text:SetPoint("RIGHT", row, "RIGHT", -22, 0)
row.text:SetPoint("LEFT", row, "LEFT", 38, 0)
row.text:SetJustifyH("LEFT")
row.highlight = row:CreateTexture(nil, "BACKGROUND")
@@ -316,7 +297,11 @@ pfUI:RegisterModule("equipmentmanager", function()
row.gear.tex = row.gear:CreateTexture(nil, "ARTWORK")
row.gear.tex:SetAllPoints(row.gear)
row.gear.tex:SetTexture(pfUI.path.."\\img\\Gear_64Grey")
row.gear:SetHighlightTexture("Interface\\Buttons\\ButtonHilight-Square", "ADD")
row.gear.tex:SetAlpha(.5)
-- the gear drawn again additively lights up the gear itself
row.gear:SetHighlightTexture(pfUI.path.."\\img\\Gear_64Grey", "ADD")
-- moving onto the gear does not leave the row
row.gear:SetPropagateMouseMotion(true)
row.gear:Hide()
row.gear:SetScript("OnClick", function()
if not row.setID then return end
@@ -335,39 +320,30 @@ pfUI:RegisterModule("equipmentmanager", function()
end)
row:SetScript("OnClick", function()
selectedSetID = row.setID
-- Detect double-click manually; vanilla Button has no native event.
local now = GetTime()
if row.lastClick and (now - row.lastClick) < 0.4 then
row.lastClick = nil
EquipSet(row.setID)
if row.setID then
selectedSetID = row.setID
pfUI.equipmentmanager.Refresh()
else
row.lastClick = now
OpenNamePopup("new")
end
pfUI.equipmentmanager.Refresh()
end)
row:SetScript("OnDoubleClick", function()
if row.setID then EquipSet(row.setID) end
end)
-- Drag a set onto an action bar. PickupEquipmentSet is newer than
-- the rest of C_EquipmentSet, so dragging stays inert on ClassicAPI
-- builds that don't ship it yet.
if C_EquipmentSet.PickupEquipmentSet then
row:RegisterForDrag("LeftButton")
row:SetScript("OnDragStart", function()
if row.setID then C_EquipmentSet.PickupEquipmentSet(row.setID) end
end)
end
-- Drag a set onto an action bar.
row:RegisterForDrag("LeftButton")
row:SetScript("OnDragStart", function()
if row.setID then C_EquipmentSet.PickupEquipmentSet(row.setID) end
end)
-- Show the gear and tooltip while the cursor is over the row or its
-- gear child. The gear sits inside the row's rectangle, so a single
-- MouseIsOverHitRect(row) check covers both. OnLeave on the row and the
-- gear catches every exit path, so no OnUpdate poll is needed.
local function HideRowHover()
if MouseIsOverHitRect(row) then return end
GameTooltip:Hide()
row.gear:Hide()
end
-- A set row shows its gear and tooltip while the cursor is over it;
-- the "New Set" row lights up.
row:SetScript("OnEnter", function()
if not row.setID then return end
if not row.setID then
row.highlight:Show()
return
end
local name = C_EquipmentSet.GetEquipmentSetInfo(row.setID)
if name then
GameTooltip:SetOwner(row, "ANCHOR_RIGHT")
@@ -376,40 +352,50 @@ pfUI:RegisterModule("equipmentmanager", function()
end
row.gear:Show()
end)
row:SetScript("OnLeave", HideRowHover)
row.gear:SetScript("OnLeave", HideRowHover)
return row
row:SetScript("OnLeave", function()
GameTooltip:Hide()
row.gear:Hide()
if not row.setID then row.highlight:Hide() end
end)
end
-- Rows are allocated lazily in Refresh — ClassicAPI no longer caps
-- the number of equipment sets, so we grow the pool to numSets on
-- demand. The set list is wheel-scrolled, so only LIST_VISIBLE_ROWS
-- are ever positioned in-frame at a time, but each row is bound to a
-- specific set index (row[i] always shows ids[i]).
local function InitSetRow(row, entry)
if not row.text then SetupSetRow(row) end
local newSetRow = CreateFrame("Button", nil, listFrame)
newSetRow:SetSize(170, SET_ROW_HEIGHT);
row.setID = entry.setID
row.gear:Hide()
newSetRow.icon = newSetRow:CreateTexture(nil, "ARTWORK")
newSetRow.icon:SetSize(24, 24);
newSetRow.icon:SetPoint("LEFT", newSetRow, "LEFT", 5, 0)
newSetRow.icon:SetTexture(pfUI.path.."\\img\\Character-Plus")
if not entry.setID then
row.icon:SetSize(24, 24)
row.icon:SetTexCoord(0, 1, 0, 1)
row.icon:SetTexture(pfUI.path.."\\img\\Character-Plus")
row.text:SetPoint("RIGHT", row, "RIGHT", -4, 0)
row.text:SetText(PAPERDOLL_NEWEQUIPMENTSET)
row.text:SetTextColor(0.2, 1, 0.2)
row.highlight:Hide()
return
end
newSetRow.text = newSetRow:CreateFontString(nil, "OVERLAY", "GameFontNormal")
newSetRow.text:SetPoint("LEFT", newSetRow.icon, "RIGHT", 8, 0)
newSetRow.text:SetPoint("RIGHT", newSetRow, "RIGHT", -4, 0)
newSetRow.text:SetJustifyH("LEFT")
newSetRow.text:SetText(PAPERDOLL_NEWEQUIPMENTSET)
newSetRow.text:SetTextColor(0.2, 1, 0.2)
local name, icon, _, isEquipped, _, _, _, numMissing = C_EquipmentSet.GetEquipmentSetInfo(entry.setID)
row.icon:SetSize(30, 30)
row.icon:SetTexCoord(.08, .92, .08, .92)
if icon then
row.icon:SetTexture(string.find(icon, "\\") and icon or ("Interface\\Icons\\" .. icon))
else
row.icon:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark")
end
-- Color precedence: missing items (red) > equipped (green) > normal (white).
local color = (numMissing and numMissing > 0) and "|cffff5555"
or isEquipped and "|cff33ff33" or "|cffffffff"
row.text:SetPoint("RIGHT", row, "RIGHT", -22, 0)
row.text:SetText(color .. (name or "?") .. "|r")
row.highlight:SetShown(entry.setID == selectedSetID)
end
newSetRow.highlight = newSetRow:CreateTexture(nil, "BACKGROUND")
newSetRow.highlight:SetAllPoints(newSetRow)
newSetRow.highlight:SetTexture(.3, .3, .3, .4)
newSetRow.highlight:Hide()
newSetRow:SetScript("OnEnter", function() newSetRow.highlight:Show() end)
newSetRow:SetScript("OnLeave", function() newSetRow.highlight:Hide() end)
newSetRow:SetScript("OnClick", function() OpenNamePopup("new") end)
local setView = CreateScrollBoxListLinearView(0, 0, 0, 2, 2)
setView:SetElementExtent(SET_ROW_HEIGHT)
setView:SetElementInitializer("Button", InitSetRow)
ScrollUtil.InitScrollBoxListWithScrollBar(listFrame.ScrollBox, listFrame.ScrollBar, setView)
local function MakeButton(name, label, parent, anchor, ax, ay, width)
local b = CreateFrame("Button", name, parent, "UIPanelButtonTemplate")
@@ -863,60 +849,21 @@ pfUI:RegisterModule("equipmentmanager", function()
selectedSetID = nil
end
-- Virtual list = sets ++ newSetRow. Clamp the current scroll
-- offset against the visible window before laying out rows so
-- deleting sets snaps the list back into view.
local totalItems = numSets + 1
local maxOffset = math.max(0, totalItems - LIST_VISIBLE_ROWS)
if listFrame.offset > maxOffset then listFrame.offset = maxOffset end
if listFrame.offset < 0 then listFrame.offset = 0 end
local off = listFrame.offset
-- Set rows: lazy-grow the pool to numSets, then position visible
-- ones into slots and hide the rest. Each row stays bound to a
-- specific set index (row[i] always shows ids[i]).
for i = 1, numSets do
if not setRows[i] then setRows[i] = CreateSetRow() end
local row = setRows[i]
local slot = i - off
if slot >= 1 and slot <= LIST_VISIBLE_ROWS then
local setID = ids[i]
local name, icon, _, isEquipped, _, _, _, numMissing = C_EquipmentSet.GetEquipmentSetInfo(setID)
row.setID = setID
-- Color precedence: missing items (red) > equipped (green) > normal (white).
local color = (numMissing and numMissing > 0) and "|cffff5555"
or isEquipped and "|cff33ff33" or "|cffffffff"
row.text:SetText(color .. (name or "?") .. "|r")
if icon then
local full = string.find(icon, "\\") and icon or ("Interface\\Icons\\" .. icon)
row.icon:SetTexture(full)
else
row.icon:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark")
end
if setID == selectedSetID then row.highlight:Show() else row.highlight:Hide() end
row:ClearAllPoints()
row:SetPoint("TOPLEFT", listFrame, "TOPLEFT", 5, -3 - (slot - 1) * LIST_ROW_STRIDE)
row:Show()
else
row:Hide()
row.setID = nil
-- The rows are the sets, then the "New Set" entry. They are rebuilt
-- only when the sets change; otherwise the shown rows refresh in
-- place, so the row under the cursor stays the same frame and a
-- double-click reaches it.
local setsKey = table.concat(ids, ",")
if setsKey ~= listFrame.setsKey then
listFrame.setsKey = setsKey
local entries = {}
for _, setID in ipairs(ids) do
table.insert(entries, { setID = setID })
end
end
-- Hide pool entries past the current set count (left over from a
-- previous Refresh with more sets — e.g. just deleted one).
for i = numSets + 1, table.getn(setRows) do
setRows[i]:Hide()
setRows[i].setID = nil
end
-- "+ New Set" row occupies virtual index numSets+1.
local newSlot = (numSets + 1) - off
if newSlot >= 1 and newSlot <= LIST_VISIBLE_ROWS then
newSetRow:ClearAllPoints()
newSetRow:SetPoint("TOPLEFT", listFrame, "TOPLEFT", 5, -3 - (newSlot - 1) * LIST_ROW_STRIDE)
newSetRow:Show()
table.insert(entries, { newSet = true })
listFrame.ScrollBox:SetDataProvider(CreateDataProvider(entries), ScrollBoxConstants.RetainScrollPosition)
else
newSetRow:Hide()
listFrame.ScrollBox:ReinitializeFrames()
end
-- Update the ignored-overlay textures attached to each paperdoll
@@ -1102,11 +1049,14 @@ pfUI:RegisterModule("equipmentmanager", function()
local UNUSED_COLS, UNUSED_ROWS = 7, 8
local UNUSED_SIZE, UNUSED_GAP = 30, 4
local UNUSED_STRIDE = UNUSED_SIZE + UNUSED_GAP
-- The grid's list template keeps 5px around the buttons and a 7px scroll
-- bar 2px right of them.
local UNUSED_GRID_W = UNUSED_COLS * (UNUSED_SIZE + UNUSED_GAP) - UNUSED_GAP + 2 + 7 + 10
local UNUSED_GRID_H = UNUSED_ROWS * (UNUSED_SIZE + UNUSED_GAP) - UNUSED_GAP + 10
local unusedPanel = CreateSubPanel("pfEqMgrUnusedFrame",
UNUSED_COLS * UNUSED_STRIDE + 24, frame:GetHeight(), T["Items Not In Any Set"])
unusedPanel.offset = 0 -- first visible row
UNUSED_GRID_W + 22, frame:GetHeight(), T["Items Not In Any Set"])
unusedPanel.info = unusedPanel:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
unusedPanel.info:SetPoint("TOPLEFT", unusedPanel, "TOPLEFT", 14, -34)
@@ -1118,14 +1068,13 @@ pfUI:RegisterModule("equipmentmanager", function()
unusedPanel.showIgnored.label:SetPoint("RIGHT", unusedPanel.showIgnored, "LEFT", -4, 0)
unusedPanel.showIgnored.label:SetText(T["Show Ignored"])
local unusedGrid = CreateFrame("Frame", nil, unusedPanel)
unusedGrid:SetPoint("TOPLEFT", unusedPanel, "TOPLEFT", 12 + UNUSED_GAP/2, -54)
unusedGrid:SetSize(UNUSED_COLS * UNUSED_STRIDE, UNUSED_ROWS * UNUSED_STRIDE)
unusedGrid:EnableMouseWheel(true)
local unusedGrid = CreateFrame("Frame", nil, unusedPanel, "pfUIScrollBoxListTemplate")
unusedGrid:SetPoint("TOPLEFT", unusedPanel, "TOPLEFT", 11, -51)
unusedGrid:SetSize(UNUSED_GRID_W, UNUSED_GRID_H)
unusedPanel.empty = unusedPanel:CreateFontString(nil, "OVERLAY", "GameFontDisable")
unusedPanel.empty:SetPoint("CENTER", unusedGrid, "CENTER", 0, 0)
unusedPanel.empty:SetWidth(UNUSED_COLS * UNUSED_STRIDE - 10)
unusedPanel.empty:SetWidth(UNUSED_GRID_W - 20)
unusedPanel.empty:SetText(T["Every equippable item is part of a set."])
unusedPanel.hint = unusedPanel:CreateFontString(nil, "OVERLAY", "GameFontDisableSmall")
@@ -1135,7 +1084,6 @@ pfUI:RegisterModule("equipmentmanager", function()
unusedPanel.hint:SetText(T["Shift-Click: Link Ctrl-Click: Preview\nRight-Click: Ignore / Unignore"])
local RefreshUnusedPanel -- forward decl
local unusedButtons = {}
-- Bag highlight: while the panel is open, items of the list glow in
-- pfUI's bag and bank frames and every other item is dimmed.
@@ -1203,12 +1151,8 @@ pfUI:RegisterModule("equipmentmanager", function()
local WHERE_TAG = { equipped = "|cff33ff33E|r", bags = "", bank = "|cff66aaffB|r" }
local WHERE_TEXT = { equipped = T["Equipped"], bags = T["In Bags"], bank = T["In Bank"] }
local function CreateUnusedButton(i)
local b = CreateFrame("Button", nil, unusedGrid)
b:SetSize(UNUSED_SIZE, UNUSED_SIZE)
local col = math.mod(i - 1, UNUSED_COLS)
local row = math.floor((i - 1) / UNUSED_COLS)
b:SetPoint("TOPLEFT", unusedGrid, "TOPLEFT", col * UNUSED_STRIDE + UNUSED_GAP/2, -row * UNUSED_STRIDE - UNUSED_GAP/2)
-- one-time setup of a pooled grid button
local function SetupUnusedButton(b)
CreateBackdrop(b)
b:RegisterForClicks("LeftButtonUp", "RightButtonUp")
@@ -1252,14 +1196,24 @@ pfUI:RegisterModule("equipmentmanager", function()
DressUpItemLink(e.link)
end
end)
return b
end
unusedGrid:SetScript("OnMouseWheel", function()
unusedPanel.offset = unusedPanel.offset - (arg1 or 0)
RefreshUnusedPanel()
end)
local function InitUnusedButton(b, e)
if not b.icon then SetupUnusedButton(b) end
b.entry = e
b.icon:SetTexture(e.icon or "Interface\\Icons\\INV_Misc_QuestionMark")
b.icon:SetDesaturated(e.ignored and true or false)
b.icon:SetAlpha(e.ignored and .5 or 1)
b.tag:SetText(WHERE_TAG[e.where] or "")
local r, g, bl = GetItemQualityColor(e.quality or 1)
b.backdrop:SetBackdropBorderColor(r, g, bl, 1)
end
local unusedView = CreateScrollBoxListGridView(UNUSED_COLS, 0, 0, 0, 2, UNUSED_GAP, UNUSED_GAP)
unusedView:SetElementSize(UNUSED_SIZE, UNUSED_SIZE)
unusedView:SetElementInitializer("Button", InitUnusedButton)
ScrollUtil.InitScrollBoxListWithScrollBar(unusedGrid.ScrollBox, unusedGrid.ScrollBar, unusedView)
function RefreshUnusedPanel()
local list, numIgnored = ScanUnusedItems(unusedPanel.showIgnored:GetChecked() and true or nil)
@@ -1267,33 +1221,7 @@ pfUI:RegisterModule("equipmentmanager", function()
local numShownIgnored = unusedPanel.showIgnored:GetChecked() and numIgnored or 0
unusedPanel.info:SetText(string.format(T["%d items, %d ignored"], total - numShownIgnored, numIgnored))
local totalRows = math.ceil(total / UNUSED_COLS)
local maxOffset = math.max(0, totalRows - UNUSED_ROWS)
if unusedPanel.offset > maxOffset then unusedPanel.offset = maxOffset end
if unusedPanel.offset < 0 then unusedPanel.offset = 0 end
local first = unusedPanel.offset * UNUSED_COLS
for i = 1, UNUSED_COLS * UNUSED_ROWS do
local e = list[first + i]
local b = unusedButtons[i]
if e then
if not b then
b = CreateUnusedButton(i)
unusedButtons[i] = b
end
b.entry = e
b.icon:SetTexture(e.icon or "Interface\\Icons\\INV_Misc_QuestionMark")
b.icon:SetDesaturated(e.ignored and true or false)
b.icon:SetAlpha(e.ignored and .5 or 1)
b.tag:SetText(WHERE_TAG[e.where] or "")
local r, g, bl = GetItemQualityColor(e.quality or 1)
if b.backdrop then b.backdrop:SetBackdropBorderColor(r, g, bl, 1) end
b:Show()
elseif b then
b.entry = nil
b:Hide()
end
end
unusedGrid.ScrollBox:SetDataProvider(CreateDataProvider(list), ScrollBoxConstants.RetainScrollPosition)
if total == 0 then unusedPanel.empty:Show() else unusedPanel.empty:Hide() end
@@ -1690,10 +1618,8 @@ pfUI:RegisterModule("equipmentmanager", function()
-- ============================================================
local TRIGGER_ROWS, TRIGGER_ROW_H = 5, 24
local TRIGGER_STRIDE = TRIGGER_ROW_H + 2
local triggerPanel = CreateSubPanel("pfEqMgrTriggerFrame", 310, 404, T["Automatic Set Switching"])
local selectedTriggerID = nil
triggerPanel.offset = 0
local cbAuto = CreateCheckbox(triggerPanel, T["Enable Automatic Set Switching"])
cbAuto:SetPoint("TOPLEFT", triggerPanel, "TOPLEFT", 12, -30)
@@ -1702,15 +1628,11 @@ pfUI:RegisterModule("equipmentmanager", function()
UpdateEngine()
end)
local triggerList = CreateFrame("Frame", nil, triggerPanel)
-- The template keeps 5px around the rows, which sit 2px apart.
local triggerList = CreateFrame("Frame", nil, triggerPanel, "pfUIScrollBoxListTemplate")
triggerList:SetPoint("TOPLEFT", triggerPanel, "TOPLEFT", 14, -56)
triggerList:SetSize(282, TRIGGER_ROWS * TRIGGER_STRIDE + 4)
triggerList:SetSize(282, TRIGGER_ROWS * (TRIGGER_ROW_H + 2) - 2 + 10)
CreateBackdrop(triggerList, nil, nil, .75)
triggerList:EnableMouseWheel(true)
triggerList:SetScript("OnMouseWheel", function()
triggerPanel.offset = triggerPanel.offset - (arg1 or 0)
RefreshTriggerPanel()
end)
triggerList.empty = triggerList:CreateFontString(nil, "OVERLAY", "GameFontDisable")
triggerList.empty:SetPoint("CENTER", triggerList, "CENTER", 0, 0)
@@ -1725,12 +1647,8 @@ pfUI:RegisterModule("equipmentmanager", function()
RefreshTriggerPanel()
end
local triggerRows = {}
for i = 1, TRIGGER_ROWS do
local row = CreateFrame("Button", nil, triggerList)
row:SetSize(272, TRIGGER_ROW_H)
row:SetPoint("TOPLEFT", triggerList, "TOPLEFT", 5, -3 - (i - 1) * TRIGGER_STRIDE)
-- one-time setup of a pooled trigger row
local function SetupTriggerRow(row)
row.highlight = row:CreateTexture(nil, "BACKGROUND")
row.highlight:SetAllPoints(row)
row.highlight:SetTexture(.3, .3, .3, .4)
@@ -1792,10 +1710,39 @@ pfUI:RegisterModule("equipmentmanager", function()
GameTooltip:Show()
end)
row:SetScript("OnLeave", function() GameTooltip:Hide() end)
triggerRows[i] = row
end
local function InitTriggerRow(row, entry)
if not row.check then SetupTriggerRow(row) end
local t, index = entry.trigger, entry.index
row.trigger = t
row.index = index
row.check:SetChecked(t.enabled)
local color = "|cffffffff"
if not t.enabled then
color = "|cff808080"
elseif not SetExists(t.setID) then
color = "|cffff5555"
elseif db.applied == t.id then
color = "|cff33ff33"
elseif ConditionActive(t) then
color = "|cffffd100"
end
local target = SetExists(t.setID) and SetName(t.setID) or T["No set selected"]
row.text:SetText(color .. DescribeTrigger(t) .. "|r |cffaaaaaa>|r " .. color .. target .. "|r")
row.highlight:SetShown(t.id == selectedTriggerID)
row.up:SetEnabled(index > 1)
row.down:SetEnabled(index < table.getn(db.triggers))
end
local triggerView = CreateScrollBoxListLinearView(0, 0, 0, 2, 2)
triggerView:SetElementExtent(TRIGGER_ROW_H)
triggerView:SetElementInitializer("Button", InitTriggerRow)
ScrollUtil.InitScrollBoxListWithScrollBar(triggerList.ScrollBox, triggerList.ScrollBar, triggerView)
local btnNewTrigger = CreateFrame("Button", nil, triggerPanel, "UIPanelButtonTemplate")
btnNewTrigger:SetSize(110, 22)
btnNewTrigger:SetPoint("TOPLEFT", triggerList, "BOTTOMLEFT", 0, -6)
@@ -1813,10 +1760,10 @@ pfUI:RegisterModule("equipmentmanager", function()
db.nextID = db.nextID + 1
table.insert(db.triggers, t)
selectedTriggerID = t.id
-- Scroll so the new trigger is visible.
triggerPanel.offset = math.max(0, table.getn(db.triggers) - TRIGGER_ROWS)
UpdateEngine()
RefreshTriggerPanel()
-- the new trigger is the last row
triggerList.ScrollBox:ScrollToEnd()
end)
-- Editor for the selected trigger
@@ -2016,43 +1963,12 @@ pfUI:RegisterModule("equipmentmanager", function()
local function RefreshTriggerRows()
cbAuto:SetChecked(C.equipmentmanager.autoswitch == "1")
local num = table.getn(db.triggers)
local maxOffset = math.max(0, num - TRIGGER_ROWS)
if triggerPanel.offset > maxOffset then triggerPanel.offset = maxOffset end
if triggerPanel.offset < 0 then triggerPanel.offset = 0 end
for i, row in ipairs(triggerRows) do
local index = i + triggerPanel.offset
local t = db.triggers[index]
if t then
row.trigger = t
row.index = index
row.check:SetChecked(t.enabled)
local color = "|cffffffff"
if not t.enabled then
color = "|cff808080"
elseif not SetExists(t.setID) then
color = "|cffff5555"
elseif db.applied == t.id then
color = "|cff33ff33"
elseif ConditionActive(t) then
color = "|cffffd100"
end
local target = SetExists(t.setID) and SetName(t.setID) or T["No set selected"]
row.text:SetText(color .. DescribeTrigger(t) .. "|r |cffaaaaaa>|r " .. color .. target .. "|r")
if t.id == selectedTriggerID then row.highlight:Show() else row.highlight:Hide() end
if index > 1 then row.up:Enable() else row.up:Disable() end
if index < num then row.down:Enable() else row.down:Disable() end
row:Show()
else
row.trigger = nil
row.index = nil
row:Hide()
end
local entries = {}
for index, t in ipairs(db.triggers) do
table.insert(entries, { trigger = t, index = index })
end
if num == 0 then triggerList.empty:Show() else triggerList.empty:Hide() end
triggerList.ScrollBox:SetDataProvider(CreateDataProvider(entries), ScrollBoxConstants.RetainScrollPosition)
triggerList.empty:SetShown(table.getn(entries) == 0)
end
function RefreshTriggerPanel()
+12 -13
View File
@@ -515,14 +515,15 @@ pfUI:RegisterModule("gui", function ()
-- are we a frame with contents?
if func then
f.scroll = CreateScrollFrame(nil, f)
f.scroll = CreateFrame("ScrollFrame", nil, f, "pfUIScrollFrameTemplate")
SetAllPointsOffset(f.scroll, f, 2)
f.scroll.content = CreateScrollChild(nil, f.scroll)
f.scroll.content = f.scroll.Content
f.scroll.content.parent = f.scroll
f.scroll.content:SetScript("OnShow", function()
if not this.setup then
func()
this.setup = true
this.parent:UpdateScrollChildRect()
end
end)
end
@@ -774,7 +775,10 @@ pfUI:RegisterModule("gui", function ()
end
end
if strlen(this:GetText()) < 1 then return end
if strlen(this:GetText()) < 1 then
parent:UpdateScrollChildRect()
return
end
local i = 1
local search = strlower(this:GetText())
@@ -798,16 +802,9 @@ pfUI:RegisterModule("gui", function ()
end
end
-- reload scroll frames
scroll:Hide()
scroll:SetHeight(i * 25 )
scroll:Show()
parent:SetScrollChild(scroll)
QueueFunction(function()
parent:SetVerticalScroll(0)
parent:UpdateScrollState()
parent:Scroll()
end)
-- measure the new results and start at the top
parent:UpdateScrollChildRect()
parent:SetVerticalScroll(0)
end)
pfUI.gui.search:SetScript("OnEditFocusGained", function(self)
@@ -2895,6 +2892,8 @@ pfUI:RegisterModule("gui", function ()
CreateConfig(nil, T["Timestamp Format"], C.chat.text, "timeformat", nil, nil, nil, nil, "STRING")
CreateConfig(nil, T["Timestamp Brackets"], C.chat.text, "timebracket", nil, nil, nil, nil, "STRING")
CreateConfig(nil, T["Timestamp Color"], C.chat.text, "timecolor", "color")
-- read each time chat copy opens, so no reload
CreateConfig(function() end, T["Show Timestamps In Chat Copy"], C.chat.text, "copytime", "checkbox")
CreateConfig(nil, T["Hide Channel Names"], C.chat.text, "channelnumonly", "checkbox")
CreateConfig(nil, T["Generate Playerlinks"], C.chat.text, "playerlinks", "checkbox")
CreateConfig(nil, T["Enable URL Detection"], C.chat.text, "detecturl", "checkbox")
+61 -88
View File
@@ -1,9 +1,9 @@
pfUI:RegisterModule("loothistory", function ()
local rawborder, border = GetBorderSize()
-- Layout
local ITEM_H, PLAYER_H = 24, 18
local ITEM_W, PLAYER_W = 350, 330
-- Layout (rows are 2px apart)
local ITEM_H, PLAYER_H = 24, 16
local PLAYER_INDENT = 18
-- rollType constants returned by C_LootHistory.GetPlayerInfo (0/1/2; vanilla
-- has no disenchant roll).
@@ -86,30 +86,24 @@ pfUI:RegisterModule("loothistory", function ()
pfUI.loothistory.clear:SetText(T["Clear"])
pfUI.loothistory.clear:SetScript("OnClick", function() C_LootHistory.Clear() end)
-- scroll frame
pfUI.loothistory.scroll = CreateScrollFrame("pfLootHistoryScroll", pfUI.loothistory)
pfUI.loothistory.scroll:SetSize(360, 440)
pfUI.loothistory.scroll:SetPoint("BOTTOM", 0, 10)
pfUI.loothistory.scroll.backdrop = CreateFrame("Frame", nil, pfUI.loothistory.scroll)
pfUI.loothistory.scroll.backdrop:SetFrameLevel(1)
pfUI.loothistory.scroll.backdrop:SetPoint("TOPLEFT", pfUI.loothistory.scroll, "TOPLEFT", -5, 5)
pfUI.loothistory.scroll.backdrop:SetPoint("BOTTOMRIGHT", pfUI.loothistory.scroll, "BOTTOMRIGHT", 5, -5)
CreateBackdrop(pfUI.loothistory.scroll.backdrop, nil, true)
local list = CreateScrollChild("pfLootHistoryList", pfUI.loothistory.scroll)
-- ==========================================================================
-- List: a row per item and, under an expanded item, a row per player
-- ==========================================================================
local list = CreateFrame("Frame", "pfLootHistoryList", pfUI.loothistory, "pfUIScrollBoxListTemplate")
list:SetSize(370, 450)
list:SetPoint("BOTTOM", 0, 5)
CreateBackdrop(list, nil, true)
pfUI.loothistory.list = list
-- ==========================================================================
-- Frame pools
-- ==========================================================================
local itemFrames = {}
local FullUpdate -- forward declaration (toggle handlers call it)
local function CreateItemFrame()
local f = CreateFrame("Button", nil, list)
f:SetSize(ITEM_W, ITEM_H)
local function ToggleExpanded(f)
local id = f.rollID
if id then expanded[id] = not expanded[id]; FullUpdate() end
end
-- one-time setup of a pooled item row
local function SetupItemRow(f)
f:SetBackdrop(pfUI.backdrop_hover)
f:SetBackdropBorderColor(1, 1, 1, .04)
f:EnableMouse(1)
@@ -118,10 +112,7 @@ pfUI:RegisterModule("loothistory", function ()
f.toggle = CreateFrame("Button", nil, f)
f.toggle:SetSize(14, 14)
f.toggle:SetPoint("LEFT", 4, 0)
f.toggle:SetScript("OnClick", function()
local id = f.rollID
if id then expanded[id] = not expanded[id]; FullUpdate() end
end)
f.toggle:SetScript("OnClick", function() ToggleExpanded(f) end)
-- icon + quality-colored border
f.iconbg = CreateFrame("Frame", nil, f)
@@ -138,18 +129,18 @@ pfUI:RegisterModule("loothistory", function ()
f.winicon:SetSize(14, 14)
f.winicon:SetPoint("RIGHT", f, "RIGHT", -6, 0)
f.winroll = f:CreateFontString("Status", "OVERLAY", "GameFontNormal")
f.winroll = f:CreateFontString(nil, "OVERLAY", "GameFontNormal")
f.winroll:SetFont(pfUI.font_default, C.global.font_size, "OUTLINE")
f.winroll:SetPoint("RIGHT", f.winicon, "LEFT", -2, 0)
f.winroll:SetTextColor(1, 1, 1, 1)
f.winname = f:CreateFontString("Status", "OVERLAY", "GameFontNormal")
f.winname = f:CreateFontString(nil, "OVERLAY", "GameFontNormal")
f.winname:SetFont(pfUI.font_default, C.global.font_size, "OUTLINE")
f.winname:SetPoint("RIGHT", f.winroll, "LEFT", -4, 0)
f.winname:SetJustifyH("RIGHT")
-- item name (leaves room on the right for the winner block)
f.name = f:CreateFontString("Status", "OVERLAY", "GameFontNormal")
f.name = f:CreateFontString(nil, "OVERLAY", "GameFontNormal")
f.name:SetFont(pfUI.font_default, C.global.font_size, "OUTLINE")
f.name:SetPoint("LEFT", f.iconbg, "RIGHT", 5, 0)
f.name:SetPoint("RIGHT", f, "RIGHT", -100, 0)
@@ -167,20 +158,13 @@ pfUI:RegisterModule("loothistory", function ()
this:SetBackdropBorderColor(1, 1, 1, .04)
GameTooltip:Hide()
end)
f:SetScript("OnClick", function()
local id = this.rollID
if id then expanded[id] = not expanded[id]; FullUpdate() end
end)
return f
f:SetScript("OnClick", function() ToggleExpanded(f) end)
end
local function CreatePlayerFrame()
local f = CreateFrame("Frame", nil, list)
f:SetSize(PLAYER_W, PLAYER_H)
-- one-time setup of a pooled player row
local function SetupPlayerRow(f)
-- name is indented to leave room for the winner checkmark on its left
f.name = f:CreateFontString("Status", "OVERLAY", "GameFontNormal")
f.name = f:CreateFontString(nil, "OVERLAY", "GameFontNormal")
f.name:SetFont(pfUI.font_default, C.global.font_size, "OUTLINE")
f.name:SetPoint("LEFT", 20, 0)
f.name:SetJustifyH("LEFT")
@@ -189,7 +173,7 @@ pfUI:RegisterModule("loothistory", function ()
f.rollicon:SetSize(16, 16)
f.rollicon:SetPoint("RIGHT", -4, 0)
f.rolltext = f:CreateFontString("Status", "OVERLAY", "GameFontNormal")
f.rolltext = f:CreateFontString(nil, "OVERLAY", "GameFontNormal")
f.rolltext:SetFont(pfUI.font_default, C.global.font_size, "OUTLINE")
f.rolltext:SetPoint("RIGHT", f.rollicon, "LEFT", -3, 0)
f.rolltext:SetTextColor(1, 1, 1, 1)
@@ -199,15 +183,8 @@ pfUI:RegisterModule("loothistory", function ()
f.winmark:SetSize(16, 16)
f.winmark:SetTexture(WINMARK)
f.winmark:SetPoint("RIGHT", f.name, "LEFT", -1, 0)
return f
end
local playerPool = CreateObjectPool(CreatePlayerFrame, function(_, pf)
pf:Hide()
pf:ClearAllPoints()
end)
local function SetToggleTexture(toggle, isExpanded)
if isExpanded then
toggle:SetNormalTexture("Interface\\Buttons\\UI-MinusButton-Up")
@@ -221,13 +198,13 @@ pfUI:RegisterModule("loothistory", function ()
-- ==========================================================================
-- Rendering
-- ==========================================================================
local function UpdateItemFrame(f, i)
local rollID, itemLink, numPlayers, isDone, winnerIdx = C_LootHistory.GetItem(i)
local function InitItemRow(f, row)
if not f.toggle then SetupItemRow(f) end
local i = row.item
local rollID, itemLink, _, isDone, winnerIdx = C_LootHistory.GetItem(i)
f.rollID = rollID
f.itemIdx = i
f.itemLink = itemLink
f.numPlayers = numPlayers or 0
f.isDone = isDone
local isExpanded = rollID and expanded[rollID]
SetToggleTexture(f.toggle, isExpanded)
@@ -279,7 +256,10 @@ pfUI:RegisterModule("loothistory", function ()
end
end
local function RenderPlayerFrame(pf, name, class, rollType, roll, isWinner)
local function InitPlayerRow(pf, row)
if not pf.name then SetupPlayerRow(pf) end
local name, class, rollType, roll, isWinner = C_LootHistory.GetPlayerInfo(row.item, row.player)
pf.name:SetText(name or UNKNOWN)
pf.name:SetTextColor(PFUI_CLASS_COLORS[class]:GetRGB())
@@ -289,6 +269,22 @@ pfUI:RegisterModule("loothistory", function ()
if isWinner then pf.winmark:Show() else pf.winmark:Hide() end
end
local view = CreateScrollBoxListLinearView(2, 2, 4, 4, 2)
view:SetElementFactory(function(factory, row)
if row.player then
factory("Frame", InitPlayerRow)
else
factory("Button", InitItemRow)
end
end)
view:SetElementExtentCalculator(function(_, row)
return row.player and PLAYER_H or ITEM_H
end)
view:SetElementIndentCalculator(function(row)
return row.player and PLAYER_INDENT or 0
end)
ScrollUtil.InitScrollBoxListWithScrollBar(list.ScrollBox, list.ScrollBar, view)
-- A player row is worth showing while the roll is undecided (see everyone),
-- or afterwards only if they actually rolled or it's you (hide the passers'
-- noise on a decided roll) — mirrors Blizzard's ShouldDisplayPlayer.
@@ -298,46 +294,23 @@ pfUI:RegisterModule("loothistory", function ()
function FullUpdate()
if not pfUI.loothistory:IsShown() then return end
playerPool:ReleaseAll()
local num = C_LootHistory.GetNumItems()
local y = -2
local rows = {}
for i = 1, C_LootHistory.GetNumItems() do
local rollID, _, numPlayers, isDone = C_LootHistory.GetItem(i)
table.insert(rows, { item = i })
for i = 1, num do
local f = itemFrames[i] or CreateItemFrame()
itemFrames[i] = f
UpdateItemFrame(f, i)
f:ClearAllPoints()
f:SetPoint("TOPLEFT", list, "TOPLEFT", 4, y)
f:Show()
y = y - ITEM_H - 2
if f.rollID and expanded[f.rollID] then
for p = 1, f.numPlayers do
local name, class, rollType, roll, isWinner, isMe = C_LootHistory.GetPlayerInfo(i, p)
if ShouldDisplayPlayer(f.isDone, roll, isMe) then
local pf = playerPool:Acquire()
RenderPlayerFrame(pf, name, class, rollType, roll, isWinner)
pf:ClearAllPoints()
pf:SetPoint("TOPLEFT", list, "TOPLEFT", 22, y)
pf:Show()
y = y - PLAYER_H
if rollID and expanded[rollID] then
for p = 1, numPlayers or 0 do
local _, _, _, roll, _, isMe = C_LootHistory.GetPlayerInfo(i, p)
if ShouldDisplayPlayer(isDone, roll, isMe) then
table.insert(rows, { item = i, player = p })
end
end
y = y - 2
end
end
for i = num + 1, table.getn(itemFrames) do
itemFrames[i]:Hide()
end
-- Resize the scroll child and re-attach it: SetHeight alone on a
-- SetAllPoints'd child doesn't make the ScrollFrame recompute its scroll
-- range, so a dynamically-grown list wouldn't scroll until a /reload.
list:SetHeight(math.max(1, -y + 2))
pfUI.loothistory.scroll:SetScrollChild(list)
pfUI.loothistory.scroll:UpdateScrollState()
list.ScrollBox:SetDataProvider(CreateDataProvider(rows), ScrollBoxConstants.RetainScrollPosition)
end
pfUI.loothistory:SetScript("OnShow", function() FullUpdate() end)
+8 -3
View File
@@ -105,11 +105,12 @@ pfUI:RegisterModule("panel", function()
do -- FPS & Lag
local widget = CreateFrame("Frame", "pfPanelWidgetLag", UIParent)
local lag, fps, laghex, fpshex, _
widget.Tooltip = function()
local lag, fps, laghex, fpshex, owner, _
widget.Tooltip = function(self)
owner = self
local active = 0
GameTooltip:ClearLines()
GameTooltip_SetDefaultAnchor(GameTooltip, this)
GameTooltip_SetDefaultAnchor(GameTooltip, self)
GameTooltip:AddLine("|cff555555" .. T["Systeminfo"])
for i=1, GetNumAddOns() do
if IsAddOnLoaded(i) then
@@ -202,6 +203,10 @@ pfUI:RegisterModule("panel", function()
end
pfUI.panel:OutputPanel("fps", fps .. " " .. T["fps"] .. " & " .. lag .. " " .. T["ms"], widget.Tooltip, widget.Click)
if owner and GameTooltip:IsOwned(owner) then
widget.Tooltip(owner)
end
end)
end
+17 -33
View File
@@ -205,36 +205,23 @@ pfUI:RegisterModule("share", function ()
table.insert(UISpecialFrames, "pfShare")
do -- Edit Box
f.scroll = pfUI.api.CreateScrollFrame("pfShareScroll", f)
f.scroll = CreateFrame("Frame", "pfShareScroll", f, "pfUIScrollingEditBoxTemplate")
f.scroll:SetPoint("TOPLEFT", f, "TOPLEFT", 10, -30)
f.scroll:SetPoint("BOTTOMRIGHT", f, "BOTTOMRIGHT", -10, 50)
f.scroll:SetWidth(560)
f.scroll:SetHeight(400)
f.scroll:SetFont(pfUI.media["font:RobotoMono.ttf"], 9)
f.scroll:SetTextInsets(15,15,15,15)
f.scroll.backdrop = CreateFrame("Frame", "pfShareScrollBackdrop", f.scroll)
f.scroll.backdrop:SetFrameLevel(1)
-- the ScrollBox clips its children, so the backdrop is a sibling
f.scroll.backdrop = CreateFrame("Frame", "pfShareScrollBackdrop", f)
f.scroll.backdrop:SetPoint("TOPLEFT", f.scroll, "TOPLEFT", -5, 5)
f.scroll.backdrop:SetPoint("BOTTOMRIGHT", f.scroll, "BOTTOMRIGHT", 5, -5)
pfUI.api.CreateBackdrop(f.scroll.backdrop, nil, true)
f.scroll.backdrop.tint = f.scroll.backdrop:CreateTexture(nil, "ARTWORK")
f.scroll.backdrop.tint:SetAllPoints(f.scroll)
f.scroll.backdrop.tint:SetTexture(1,1,1,.05)
f.scroll.text = CreateFrame("EditBox", "pfShareEditBox", f.scroll)
f.scroll.text.bg = f.scroll.text:CreateTexture(nil, "OVERLAY")
f.scroll.text.bg:SetAllPoints(f.scroll.text)
f.scroll.text.bg:SetTexture(1,1,1,.05)
f.scroll.text:SetMultiLine(true)
f.scroll.text:SetWidth(560)
f.scroll.text:SetHeight(400)
f.scroll.text:SetAllPoints(f.scroll)
f.scroll.text:SetTextInsets(15,15,15,15)
f.scroll.text:SetFont(pfUI.media["font:RobotoMono.ttf"], 9)
f.scroll.text:SetAutoFocus(false)
f.scroll.text:SetJustifyH("LEFT")
f.scroll.text:SetScript("OnEscapePressed", function() this:ClearFocus() end)
f.scroll.text:SetScript("OnTextChanged", function()
this:GetParent():UpdateScrollChildRect()
this:GetParent():UpdateScrollState()
local text = this:GetText()
f.scroll:RegisterCallback("OnTextChanged", function()
local text = f.scroll:GetText()
local blob = Decode(text)
local json = not blob and DecodeJSON(text) or nil
local legacy = not blob and not json and DecodeLegacy(text) or nil
@@ -253,27 +240,26 @@ pfUI:RegisterModule("share", function ()
f.readButton:Enable()
f.readButton.text:SetText(T["Decode"])
f.readButton.func = function()
local current = f.scroll.text:GetText()
local current = f.scroll:GetText()
local config = Decode(current) or DecodeLegacy(current)
if config then
f.scroll.text:SetText(C_EncodingUtil.SerializeJSON(config))
f.scroll:SetText(C_EncodingUtil.SerializeJSON(config))
end
end
elseif json then
f.readButton:Enable()
f.readButton.text:SetText(T["Encode"])
f.readButton.func = function()
local config = DecodeJSON(f.scroll.text:GetText())
local config = DecodeJSON(f.scroll:GetText())
if config then
f.scroll.text:SetText(Encode(config))
f.scroll:SetText(Encode(config))
end
end
else
f.readButton:Disable()
f.readButton.text:SetText(T["N/A"])
end
end)
f.scroll:SetScrollChild(f.scroll.text)
end, f)
end
do -- button: close
@@ -322,7 +308,7 @@ pfUI:RegisterModule("share", function ()
f.loadButton.text:SetFont(pfUI.font_default, pfUI_config.global.font_size, "OUTLINE")
f.loadButton.text:SetText(T["Import"])
f.loadButton:SetScript("OnClick", function()
local text = f.scroll.text:GetText()
local text = f.scroll:GetText()
local config = Decode(text) or DecodeJSON(text) or DecodeLegacy(text)
if not config then return end
@@ -383,9 +369,7 @@ pfUI:RegisterModule("share", function ()
ignored["disabled"] = f.ignorePosition:GetChecked()
local encoded = Encode(DiffConfig(myconfig, defconfig, ignored) or {})
f.scroll.text:SetText(encoded)
f.scroll.text.value = encoded
f.scroll:SetVerticalScroll(0)
f.scroll:SetText(encoded)
end)
end
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+30
View File
@@ -279,6 +279,36 @@ pfUI:RegisterSkin("Character", function ()
SkinCheckbox(ReputationDetailInactiveCheckBox)
SkinCheckbox(ReputationDetailMainScreenCheckBox)
-- Expand or collapse every header at once, as the Skills tab's button
-- does. It shows "+" while any header is collapsed.
local collapseAll = CreateFrame("Button", "pfReputationCollapseAllButton", ReputationFrame, "ReputationHeaderTemplate")
collapseAll:SetText(ALL)
collapseAll:SetWidth(collapseAll:GetTextWidth() + 20)
-- on the "Faction" label's row, in the headers' +/- column
collapseAll:SetPoint("LEFT", ReputationFrameFactionLabel, "LEFT", -43, 0)
collapseAll:SetScript("OnClick", function()
if this.isCollapsed then
ExpandAllFactionHeaders()
else
CollapseAllFactionHeaders()
end
end)
SkinCollapseButton(collapseAll, true)
-- GetFactionInfo, not C_Reputation.GetFactionDataByIndex: the latter
-- returns nil for the Other and Inactive headers.
hooksecurefunc("ReputationFrame_Update", function()
collapseAll.isCollapsed = nil
for i = 1, GetNumFactions() do
local _, _, _, _, _, _, _, _, isHeader, isCollapsed = GetFactionInfo(i)
if isHeader and isCollapsed then
collapseAll.isCollapsed = true
break
end
end
collapseAll:SetNormalTexture(collapseAll.isCollapsed and "Interface\\Buttons\\UI-PlusButton-Up" or "Interface\\Buttons\\UI-MinusButton-Up")
end)
-- Append "(N)" to each standing label where N is rep remaining to the
-- next reaction. Skip exalted (reaction 8) and effectively-capped bars.
-- Each bar's OnLeave handler (Blizzard's ReputationFrame.xml) restores