50 Commits
Author SHA1 Message Date
Brues 5815b9e81e chat: let pfUI's chat colors own their alpha and apply live
Two problems with routing the native transparency slider into the pfUI panel.

RefreshBackgroundAlpha overwrote the alpha of C.chat.global.background on every
refresh, so anyone with custom colors enabled saw their configured opacity
revert on reload, tab switch and dock change. That value carries its own alpha,
is set by the shipped profiles and is shared with the meter skins, so the slider
must not own it. Skip the alpha mirror entirely when custom colors are on; the
slider still drives the panel on the default theme, which is what issue #48 was
actually about.

The colors were also only applied at module load, so the pickers needed a
/reload to show anything. Extract that into ApplyPanelColors and expose it as
pfUI.chat:UpdateConfig, which the gui resolves as U["chat"], so the three chat
color settings take effect on the spot. CreateBackdrop is re-run first to
restore the appearance theme, which is what lets toggling custom colors back
off return the panel to the global theme without a reload.
2026-09-02 11:40:20 -05:00
Brues 60f953178f nameplates: validate unitstr before filling the per-unit cache
cache.player and cache.minion were filled from unitstr before the two guards
that validate it, so a stale identifier poisoned the cache -- and because the
fill is gated on `== nil`, the wrong answer was never recomputed. Players read
back as cache.player == false until the plate was hidden and shown again, which
only appeared to fix it because pool reuse tripped the name/guid wipe.

Two paths produce a stale unitstr: OnUpdate dispatches a targetUpdate to
OnDataChanged before it refreshes plate.istarget, and frameState.mouseoverGuid
is only updated on gaining mouseover, never on losing it.

Hoist the PLAYER_TARGET_CHANGED distrust and the UnitName mismatch check above
the cache fill so an unverified unitstr leaves the cache nil for the next tick
instead of locking in a wrong answer.
2026-09-02 10:56:46 -05:00
Brues 1dc10964a2 luarc: use nested config form so diagnostics settings apply 2026-09-02 10:31:03 -05:00
Brues 0fc08e77c0 Create .pkgmeta 2026-09-02 10:26:28 -05:00
Brues 7f3795b45b Add .luarc.json for Lua 5.1 language server diagnostics 2026-09-02 10:23:48 -05:00
Brues 8eee766652 chat: apply Blizzard per-window transparency to docked backdrops
The native chat background transparency slider drives FCF_SetWindowAlpha,
which only touches the ChatFrame*Background textures pfUI hides on docked
frames, so the visible pfUI backdrop never responded to it.

Mirror the selected window's stored alpha (GetChatWindowInfo) onto the pfUI
backdrop and refresh it from RefreshChat, FCF_SetWindowAlpha and
FCF_SelectDockFrame so the native slider drives it live and persists across
/reload. Default the SetupPositions window alpha to 0.8 to keep the historical
look, and migrate existing installs whose windows still carry the old hard-0
alpha so their chat background is not suddenly transparent.

Fixes #48
2026-09-02 01:05:47 -05:00
Brues 2b5288a688 nameplates: don't run GetUnitInfo for minions 2026-08-31 16:43:38 -05:00
Brues daba4e202e Default saved variables with 'or {}' instead of overwriting
Seed the SavedVariables globals only when absent (X = X or {}) rather
than unconditionally assigning {}. Behaviorally identical under the
current load order -- a returning character's data is restored over these
between file load and ADDON_LOADED -- but expresses intent as a default
and won't clobber data if that timing ever changed.
2026-08-31 12:04:00 -05:00
Brues 98c7751416 Utilize CAPI Tracking functions
commit 8ea5c81789
Author: Brues <5278969+brues-code@users.noreply.github.com>
Date:   Mon Aug 24 23:40:01 2026 -0500

    bump CAPI min to 1.12.4

commit 39a46563a1
Author: Brues <5278969+brues-code@users.noreply.github.com>
Date:   Mon Aug 24 23:35:49 2026 -0500

    tracking: use native ClassicAPI tracking API

    Replace the hardcoded knownTrackingSpells class table and the
    icon-substring spellbook scan with ClassicAPI's native tracking
    functions:

    - RefreshSpells now enumerates GetNumTrackingTypes() / GetTrackingInfo(),
      which the DLL derives from the spellbook by tracking-aura effect. This
      drops the per-class spell/icon table and picks up server-custom
      trackers (e.g. Turtle's Find Trees) automatically.
    - Selecting a tracker in the menu uses SetTracking(index) instead of
      CastSpell(slot, BOOKTYPE_SPELL).
    - Keep the Druid Cat Form gate on Track Humanoids (5225) and the
      existing invalidSpells filter. Falls back to no entries if the tracking
      API is absent.

    Active icon (GetTrackingTexture), cancel (CancelTrackingBuff), and the
    hover tooltip (GameTooltip:SetTrackingSpell) were already native and are
    unchanged.

Fixes #42
2026-08-30 17:19:17 -05:00
Brues 8796fab6d8 libpredict: predict incoming heals for built-in click casting (#44)
Built-in click casting drives the cast through secure frame attributes,
bypassing the CastSpell/CastSpellByName/UseAction hooks that populate
spell_queue -- so the heal-prediction lookup in the SPELL_START_SELF
handler missed and no incoming heal showed.

Populate spell_queue from the cast's own rank-specific spellId (via
C_Spell.GetSpellName/GetSpellSubtext) right before the cache lookup, so
prediction works regardless of how the cast was initiated. Deriving the
rank from the actual spellId also fixes stale-rank lookups when a prior
keybind cast left a different rank of the same spell queued.
2026-08-24 21:37:41 -05:00
brues-code 7ca0e40d8b CAPI needs 1.12.1 for UnitAura changes 2026-08-24 12:05:18 -05:00
brues-code 2f93b246a1 Accidentally bumped ClassicAPI to the wrong version 2026-08-24 11:48:54 -05:00
Brues c647698f8f bump CAPI min 2026-08-24 11:07:38 -05:00
Brues 48026008b6 buffwatch: use official dispel-type colours for debuff bars
The debuff-bar auto colour read the vanilla DebuffTypeColor global,
diverging from unitframes/buff which use C_UnitAuras.GetAuraDispelTypeColor
(the BC GlobalColor.dbc palette ClassicAPI ships). Switch buffwatch to the
same accessor so all aura displays share one palette; nil/unknown types
fall back to DEBUFF_TYPE_NONE instead of the old ad-hoc (1, .2, .2).
2026-08-24 11:07:38 -05:00
Brues c1d96bae58 buff/buffwatch: positional aura reads in hot refresh loops
buff.lua RefreshBuffButton runs 50x per PLAYER_AURAS_CHANGED and
buffwatch.lua GetBuffData runs 32x per RefreshBuffBarFrame; both now use
the zero-allocation positional C_UnitAuras.UnitAura instead of the
table-allocating GetAuraDataByIndex.

buffwatch also threads the aura's dispelType out of GetBuffData onto the
frame.buffs row, so the debuff-bar colour reads it from the row instead
of re-fetching the aura with GetDebuffDataByIndex on every name change.

Cold single-lookups (hover/click tooltips) keep the readable table API.
2026-08-24 11:07:38 -05:00
Brues 1d44c5ec6f unitframes: scan debuff slots once for dispel indicators
The dispellable-indicator block re-scanned all 16 harmful slots for
every dispellable type (O(types x 16) UnitDebuff calls per refresh).
Scan the 16 slots once into a reusable set, then have the per-type loop
check the set. Zero-allocation (the set is cleared and reused within the
single RefreshUnit call).
2026-08-24 11:07:38 -05:00
Brues 8f88dfd852 Use positional C_UnitAuras accessors in hot aura scans
Swap the per-frame aura-refresh loops from table-allocating
GetAuraDataByIndex/GetBuffDataByIndex/GetDebuffDataByIndex/GetUnitAuras
to the zero-allocation positional C_UnitAuras.UnitAura/UnitBuff/UnitDebuff.

unitframes: buff/debuff icon loops, the dispellable-indicator 16-slot
scan, the two GetUnitAuras indicator passes, and the custom-debuff scan.
nameplates: the per-plate debuff scan now writes positional results
straight into the reusable display buffer, dropping the per-aura tables
and the result array.

Filters change from HARMFUL|PLAYER/HARMFUL to PLAYER/nil since UnitBuff/
UnitDebuff lock the range and still honor the PLAYER predicate. Cold
single-lookups (hover/click, tooltip, totem icon, libdebuff) keep the
readable table API.
2026-08-24 11:07:37 -05:00
Brues a57214aeb0 Bump ClassicAPI minimum version 2026-08-24 11:07:37 -05:00
Brues 9bde843e33 utlize inline icons and CreateGoldString in repair module 2026-08-24 11:07:37 -05:00
Brues ad13e6ace3 Utilize SetFormattedText
This change updates several text setters to use `SetFormattedText` instead of passing `string.format(...)` into `SetText`. It also switches a few regex captures from `string.find` to `string.match` for cleaner capture handling, and replaces explicit width/height setters with `SetSize` in the first-run dialog for consistency.
2026-08-24 11:07:37 -05:00
Brues 82c74c2db5 Skip declaring pfSellData on turtle client
This giant table is just going to be immediately replaced so there's no point in declaring it.
2026-08-21 14:59:19 -05:00
roby-brok a3cfd711fe nameplates: read friendly name colours from the class table
The class-colour write sourced r, g, b from the health bar rather than
from PFUI_CLASS_COLORS[class], which the condition tested for but never
read. So "class colours on friendly names" only produced a class colour
when friendclassc - a bar option - happened to be on as well; otherwise
the name took the generic friendly colour. In every case it also
inherited the tapped-grey and barcombatstate overrides meant for the bar,
neither of which belongs on the name.

The name now reads the class table directly.

The discarded "and PFUI_CLASS_COLORS[class]" term was dead weight: the
table carries an __index metamethod returning a grey ColorMixin for any
missing key, so it was always truthy and merely allocated a throwaway
table per evaluation. "and class" is the real guard. One behaviour change
falls out - a friendly player of an unrecognised class now takes that
grey fallback rather than the bar colour, which is what the option means.

(cherry picked from commit f880dc3528db2ba0d0936b00a4dff8deec48e6d2)
(cherry picked from commit 111d70004d4fb172f168aa48a4cb6177a7f0d393)
2026-08-21 13:31:07 -05:00
roby-brok a7ad1f073f nameplates: give the name colour a single owner
cache.namecolor was written by two writers holding unrelated quantities:
the computed health-bar colour in OnDataChanged, which class-colours
friendly player names when friendclassnamec is on, and Blizzard's own
name FontString in the OnUpdate sync. Sharing one key let either suppress
the other, so the option silently lost - names came out white with
namefightcolor off, or the plain reaction colour with it on.

It also forced a full data pass every throttled tick, because the sync
writer sets update = true whenever it writes and the two kept flipping
the key. That defeats the half-second tick gate entirely.

Compounded by nameplate.cache surviving pool reuse: OnShow re-runs the
data pass but never clears the table, which is built once at plate
creation, so a recycled plate could inherit the previous unit's name
colour.

Ownership is now explicit through cache.ownname, each writer keeps its
own key, and both are invalidated when ownership flips.

(cherry picked from commit 0a4b3a7d6ae523cf70584adbb694a8740024b7cd)
(cherry picked from commit 0df9bb9fa907349182fb03217cab6aa1777aa7d9)
2026-08-21 13:31:07 -05:00
roby-brok fe5b3b135b nameplates: use true difficulty colours for level text
The level string was brightened by +0.3 on all three channels before
display, in the levelFromDB path and again in the OnUpdate colour sync.
A flat offset desaturates toward white and costs the high tiers most,
because their green/blue channels start near zero: verydifficult
1.00/0.50/0.25 becomes 1.00/0.80/0.55 and reads as yellow, impossible
1.00/0.10/0.10 becomes 1.00/0.40/0.40 and reads as orange. Orange and
yellow ended up 0.2 apart on a single channel, so a mob 3-4 levels above
the player showed yellow and a skull-range mob showed orange.

Both offsets dropped. Ownership of the colour is now explicit through
cache.levelfromdb so the two writers no longer race: the sync block
stands down on ?? plates, and the DB path clears cache.levelcolor so the
sync re-asserts cleanly once the level resolves. That also fixes a stale
cache - nameplate.cache is built once at plate creation and survives pool
reuse, so a recycled plate could keep the previous unit's colour.

Deleting the sync block instead would be wrong: it is the only thing that
colours the level on non-?? plates, and plate.level is created with no
colour at all.

Reported by Iden via Discord.

(cherry picked from commit eaa9beac51953d2a959c67d5ff5bc50273a919c3)
(cherry picked from commit 3fdb3b23136b260d111509e24e6d7b0d0b9b1b33)
2026-08-21 13:31:07 -05:00
Brues 9c29f0c7d4 Add handlesHookScript capability flag
Introduce pfUI.handlesHookScript boolean in pfUI.lua to signal that this fork's actionbar buttons correctly support the modern HookScript widget method. This prevents ClassicAPI's AddOnCompat shim from shadowing HookScript during actionbar load. The flag documents behavior (not identity): forks that maintain HookScript-correct actionbar code should keep the flag; forks that do not should clear it to opt into the safe compatibility fallback.
2026-08-21 13:26:09 -05:00
Brues 685ecb4a3e Removed !!!ClassicAPI from toc dependencies
Addon is now baked into the DLL and !!!ClassicAPI will always load before pfUI so this only served to confuse users
2026-08-18 10:35:31 -05:00
Brues 8cdaf1fc00 Prefer GetCoinTextureString in CreateGoldString
If the global GetCoinTextureString exists, use it to format money (wrapped in white color codes) for CreateGoldString. Keeps the existing numeric fallback formatting for environments without GetCoinTextureString.
2026-08-18 04:38:09 -05:00
Brues bb39c9d94e Add localized race info to pfUI environment
Initialize pfUI.env.L["race"] by iterating C_CreatureInfo.GetRaceInfo and C_CreatureInfo.GetFactionInfo. Builds a table keyed by clientFileString containing raceName, raceID and faction (groupTag).
2026-08-18 04:34:34 -05:00
Brues 18059ffbb7 Class-color aura caster name in tooltips 2026-08-18 04:29:33 -05:00
Brues d75e280238 Show party pets in raidpet frames under raidforgroup
When "Use Raid Frames To Display Group Members" is on and in a party,
raid pet frames tried to show raidpet1..40 (nonexistent in a party)
instead of the player pet and partypet1..4.

Remap raidpet grid slots to pet / partypet<N> in UpdateVisibility,
keyed on a stable pfRaidPet<N> slot, mirroring the raid player frames.
LayoutPets now mirror-places the party pet slots, and the raid updater
runs LayoutPets when in a party (not just a raid).

Also exclude raid pet frames (label "partypet", cache_raidpet set) from
the hide_in_raid group-hiding clause so they are not hidden.
2026-08-13 18:03:56 -05:00
Brues 9eb34b8f0a Revert "40-y rangecheck on by default"
This reverts commit af6893c10c.
2026-08-13 17:43:13 -05:00
Brues f8dde49f09 Add IsPlayerGuid API wrapper
Expose the built-in IsPlayerGuid helper through pfUI.api so callers can check whether a GUID or unit token matches the local player. This keeps the pfUI API surface consistent with the underlying WoW API while making the check available through the addon namespace.
2026-08-13 17:32:47 -05:00
Brues 74fbbb6154 Use PFUI_CLASS_COLORS in loothistory 2026-08-12 14:33:05 -05:00
Brues af6893c10c 40-y rangecheck on by default 2026-08-12 14:25:37 -05:00
Brues be6b2ea036 Support binding a click to a named macro
Accept "macro:<name>" in a click-cast action to run a saved macro by
name via the secure `macro` attribute (leading space after the colon is
trimmed). ClassicAPI dispatches it through RunMacro, so a conditional
addon still evaluates the macro body.
2026-08-12 00:33:49 -05:00
roby-brok afdb6c3862 unitframes: stop UnitHasAggro rescanning and reallocating on every call
Two costs on the hot path. It concatenated '<u>target' and '<u>targettarget'
per call per unit, though pfValidUnits never changes after load -- now built
once into a static triple list. And only positive results were cached, so the
common case (nothing has aggro) rescanned the entire unit table on every call;
negative results now cache for 0.3s, short enough that aggro still appears
promptly.
2026-08-11 02:06:28 -05:00
Brues b230a45b92 Show spell and unit IDs on tooltips
Add "Show Spell IDs" and "Show Unit IDs" options alongside the existing
item-ID line. Spell IDs come from GameTooltip:GetSpell() on spell
tooltips and from the aura's spellId on unit-aura tooltips; unit IDs
come from C_CreatureInfo.GetCreatureID on the mouseover unit's GUID
(skipped for players and guarded when the GUID carries no entry).
2026-08-11 00:38:28 -05:00
Brues ef1fa47539 Dock GreedMeter into the chat panel
Register GreedMeter's primary window on the meter dock's damage slot,
mirroring the ShaguDPS integration. GreedMeter builds its windows lazily
and supports several, so frames are resolved at call time.

A second GreedMeter window docks into the panel's other half: pfUI's
dock decides fill-vs-split by whether the threat slot is filled, so hook
GreedMeter's window add/remove to reconcile that slot and re-run the
resize. Only the first two windows fit the panel; any beyond that float.
2026-08-10 23:52:52 -05:00
Brues ab0ad7dcf9 Group tooltip settings into sections 2026-08-10 15:07:01 -05:00
Brues c82813df5b Use GetRGB() for NORMAL_FONT_COLOR 2026-08-10 15:05:48 -05:00
Brues 6e1f8095a2 Allow whitespace-only macro names
strtrim collapsed a name like " " to "" and the empty guard then
rejected the save, but a whitespace-only name is valid in vanilla and a
common way to make a name-less macro. Save the raw text and only reject
a truly empty box.
2026-08-10 09:53:34 -05:00
Brues 9cabdf2974 Revert the pixel-perfect scale change
GetPerfectPixel switched to UIParent:GetEffectiveScale(), which reports
the true unclamped scale (e.g. 1.42 on the larger pixelperfect presets,
since the module calls UIParent:SetScale past the uiScale cvar's 1.0
cap). At that scale 768/screenheight/scale drops below half a pixel and
the border edgeSize rounds to zero, so button borders disappeared.

The uiScale cvar's <=1.0 cap was load-bearing, not a bug: it keeps the
1px borders from vanishing. Restore the cvar-based measurement and move
pixelperfect back to its original load position.
2026-08-10 01:27:27 -05:00
Brues b6931359b0 Use the real UKNOWNBEING global in libpredict guards
The 1.12 client defines Blizzard's own misspelling, UKNOWNBEING
("Unknown Being"); UNKNOWNBEING does not exist and resolves to nil, so
both guards never matched. Point them at the real global.
2026-08-10 01:13:47 -05:00
roby-brok e017dbf515 Fix guards, cache keys and comparisons that never match (#40)
* chat: detect whispers before the timestamp is prepended

Whisper detection tests for the whisper colour code at position 1, but the
timestamp is prepended first, so with timestamps enabled the code is no longer
at position 1 and every whisper failed the test -- losing both the recolour and
the correct chat-history entry.

(cherry picked from commit 4b69d597631c422d9360a94ff129323288a28cc2)

* macrotweak + libpredict: inverted install guard, misspelled globals

macrotweak: _AddHistoryLine is the backup slot this block creates, so it is nil
until line 18 runs. Guarding on its truthiness meant the chat-history filter
never installed at all -- macro calls kept landing in chat input history.

libpredict: UKNOWNBEING / UNKOWNBEING are misspelled, so both resolve to nil and
the guards never matched the real UNKNOWNBEING. Neutral if the global is absent
on this client, correct if present.

Not needed: his libpredict already fixed the always-true
'event == "A" or "B"' condition (libs/libpredict.lua:828).

(cherry picked from commit 4068110dc4134823f1c09f60ca5f8959302cd14f)

* mapreveal: look the explore cache up by the key it is actually stored under

explorecaches is keyed by the plain area name (line ~160), but the hover frame
carried only a decorated 'mapFileName (area)' display string, so every lookup
missed and the hover highlight never fired. Store the plain name alongside it
and key off that; the tooltip keeps the decorated string.

(cherry picked from commit 5e6fe969a03a88c68e28614548b9d44db562ab9a)

* socialmod: don't clobber the friend-online match with the offline one

The offline match was assigned unconditionally over the online match, so a
friend coming online never had lastseen recorded.

(cherry picked from commit ad927806c46042163f84bde4db1082726bedf28b)

* swingtimer: off-hand weapons are inventory type 22, not 21

The off-hand slot accepts one-hand (13) and off-hand (22) weapons. Type 21 is
INVTYPE_WEAPONMAINHAND and can never be equipped there, so the off-hand swing
timer never recognised a real off-hand weapon.

The other two swingtimer fixes are not needed here: his hunter check already
uses UnitClassBase (locale-independent, better than our UnitClass second
return), and his generic on-next-swing detection covers Raptor Strike without
our hardcoded spell-id list.

(cherry picked from commit 9ab7f5f7224d12361ca6cd5a49181cbb4bebd387)

* superwow: compare the version numerically, not by exact string

SUPERWOW_VERSION == "1.5" silently disables the GUID-to-name combat text hook
on any release past 1.5. Currently 1.5 here, so this is forward-compat only.

Not needed: the clickthrough slash commands already go through
RegisterSlashCommand, which writes _G properly.

(cherry picked from commit 82a37752a5782479849ce7e1304c24733c2ff97a)

* api: measure a real pixel against UIParent, not the uiScale cvar

The uiScale cvar caps at 1.0 while both the pixelperfect module and the
firstrun slider push UIParent past it via SetScale, and it is ignored entirely
while useUiScale is off, so borders came out the wrong thickness on the
Huge/Large presets. Ask the frame for its effective scale instead, and guard an
unparseable gxResolution.

Also cache GetItemLinkByName and count its failures: the scan walked every id
on each call with no memory, so an unresolvable name hitched on every tooltip
hover. Raise the ceiling from 25818 to 61000 as well -- Octo/Turtle custom
items live well past the vanilla range and never resolved.

(cherry picked from commit dac2d3416aef85a4c4b71c0239d93d309e76e30b)

* init: load pixelperfect first so GetPerfectPixel caches the right scale

pixelperfect sets the UI scale that GetPerfectPixel measures against, and that
value is cached on first use. Loading it 56th baked in the previous scale.

(cherry picked from commit dd89a210330583f890a51a82b29e968f3ad36b34)

* modules: route two global overrides through _G so they leave the sandbox

pfUI.env has __index but no __newindex, so a bare global assignment inside a
RegisterModule closure is written into the sandbox table and never reaches _G.
unitxp's BattlefieldFrame_Show override therefore never fired the BG queue-pop
notification, and RaidFrame.lua never saw GROUP_REPLACE_PARTY.

The slash-command half of this fix is not needed here: RegisterSlashCommand
already writes through _G.

(cherry picked from commit 617c8320aca2465af62cf0ff5be7dceaed29a3b2)

* bags: remove the duplicate search OnHide handler

Two byte-identical frame.search OnHide handlers were installed back to back;
the second overwrote the first, so the first was dead code.

(cherry picked from commit e77650448b92e5d7f18ae58632e4531cb2813ea6)

* buffwatch: invalidate the filter cache when a skill is listed

fcache is built once per config table and never cleared, so ctrl/shift-clicking
a skill onto the whitelist or blacklist had no effect until the next reload.

* roll: actually capture the everyone-passed subject

strfind(LOOT_ROLL_ALL_PASSED, LOOT_ROLL_PASSED) has no captures, so `everyone`
was always nil, never reached the blacklist, and "Everyone has passed on: X"
was recorded as a real player passing.

Builds a sample from LOOT_ROLL_ALL_PASSED and runs the same LOOT_ROLL_PASSED
match the scanner uses, so the subject is captured the way it will actually
appear.
2026-08-10 01:13:32 -05:00
roby-brok 69d778d6d6 Fix two dangling skin includes and four error paths (#39)
* skins: drop includes for two files that were never committed

init/skins.xml referenced custom_merchant.lua and arena_score.lua, neither of
which is tracked in git. Every install -- release zips included, since the
release workflow packages the repo -- throws two 'Error loading' lines at
login and ships without those two skins.

(cherry picked from commit b338b4a16d0def4ae89fde5c6026e58a796b8c00)

* map: don't re-anchor the world map to the frame GetPoint returned

Ctrl+scroll rescales the map and repositions it to keep the top-left fixed, but
it re-anchored using the relative frame GetPoint handed back. Once anything else
is anchored to WorldMapFrame that throws

  WorldMapFrame:SetPoint(): <unnamed> is dependent on this

and the error aborts the rest of the zoom handler, so SetScale never runs.

Anchor to the parent instead. That is what the rest of pfUI's movable system
already assumes -- LoadMovable uses the 3-arg form and SaveMovable stores only
xpos/ypos with no relative frame.

(cherry picked from commit bf055d87fc0a04ac912c13fa874a4331f47bdfa8)

* firstrun: return after bailing on a disabled chat module

All three chat setup steps printed 'Chat module is disabled' and then carried on
into the nil pfUI.chat they had just tested for.

(cherry picked from commit 1af427e3b38bb7c13f645ae7a48b8ade3e7455a9)

* unitxp: stop the free-frame distance poller on logout

The PLAYER_LOGOUT handler stops the indicators to avoid the UnitXP crash on
exit, but in free-frame distance mode the polling runs on a separate scanner
frame that was never exposed, so the handler could not reach it and its
OnUpdate kept calling into UnitXP during teardown.

Exposes the frame as pfUI.uf.target.distanceScanner and stops it alongside the
others.

* roll: bail out on an item the client has not cached

C_Item.GetItemInfo returns nil for an item that is not cached yet, and the next
line assigns pfUI.roll.cache[itemName], which throws "table index is nil" on a
nil key. Easy to hit on a fresh login when someone rolls on an item you have
never seen.

* cooldown: return after hiding on a nil parent

Without the return it falls straight through to parent:GetName() on the nil it
just tested for.
2026-08-10 01:00:47 -05:00
Brues 75a25cf614 Show a mouseover unit's buffs on the tooltip
Add a "Show Unit Buffs" option that draws a row of buff icons above the
tooltip for mouseover units. Icons come from a ClassicAPI object pool
and are re-anchored left-to-right on each refresh; a single throttled
ticker counts down the remaining time on the visible icons.
2026-08-09 23:12:20 -05:00
Brues 9daf6165fd Show a note-only menu for offline friends
The friend right-click menu only opens for online players, so notes
could not be edited on offline friends. The full menu is useless
offline anyway (Whisper/Invite/Target need an online player), so open
a menu of our own with just the note editor for offline friends.
2026-08-09 22:47:28 -05:00
Brues 06768c985a Merge classicapi-next: friend list and spell fields on ClassicAPI
Squashed from the classicapi-next branch:
- Read spell fields through ClassicAPI instead of nampower (libdebuff, swingtimer)
- Read friend and who-list class tokens from C_FriendList (socialmod, libunitscan)
- Count online friends with C_FriendList.GetNumOnlineFriends
- Add a friend notes module (modules/friendnotes.lua)
- Bump ClassicAPI minimum version to 10906
2026-08-09 19:14:40 -05:00
Brues 881a17e508 Build the class name lookup from FillLocalizedClassList
Replace the hardcoded per-locale ["class"] reverse-lookup tables (localized
class name -> token) with a runtime build in GetEnvironment:

  L["class"] = tInvert(FillLocalizedClassList({}))

The client's own class list supplies the localized names for whatever locale is
running, so the tables were pure duplication -- and this also covers locales the
hardcoded tables never listed. Consumers (libunitscan, panel, socialmod) are
unchanged. Drop ["class"] from every locale file.
2026-08-09 19:03:29 -05:00
Brues 4e461d766e Read debuff durations from C_UnitAuras instead of a static table
Rewrite libdebuff's duration lookups on ClassicAPI's C_UnitAuras, whose
expirationTime carries the real, talent-modified remaining time:

- GetDuration reads the live duration of a matching aura on the player
  (C_UnitAuras.GetAuraDataBySpellName) instead of L["debuffs"][effect][rank].
- GetBestAuraCast reads the active aura's expirationTime directly rather than
  scanning the ownDebuffs/allAuraCasts cast tables -- a unit only ever holds one
  instance of a given spell, so that is inherently the effective one.
- GetMaxRank deleted (it only fed the old GetDuration); AddPending's
  known-debuff guard removed.

The public tracking tables (pfUI.libdebuff_*) are untouched. Drop the now-unused
L["debuffs"] and L["dyndebuffs"] tables from every locale.
2026-08-09 19:02:35 -05:00
51 changed files with 1045 additions and 7216 deletions
+22
View File
@@ -0,0 +1,22 @@
{
"runtime": {
"version": "Lua 5.1"
},
"diagnostics": {
"disable": ["deprecated"],
"globals": [
"this",
"event",
"arg",
"arg1",
"arg2",
"arg3",
"arg4",
"arg5",
"arg6",
"arg7",
"arg8",
"arg9"
]
}
}
+4
View File
@@ -0,0 +1,4 @@
package-as: pfUI
ignore:
- .luarc.json
+30 -1
View File
@@ -204,6 +204,12 @@ function pfUI.api.UnitHasBuff(unit, name)
return C_UnitAuras.GetAuraDataBySpellName(unit, name, "HELPFUL") ~= nil or nil
end
-- [ IsPlayerGuid ]
-- Returns whether a GUID or unit token refers to the local player.
-- guid [string] A unit GUID (or unitID) to test.
-- return: [bool] true if it is the player otherwise "false"
pfUI.api.IsPlayerGuid = _G.IsPlayerGuid
-- [ GetUnbuffedRoster ]
-- Returns a comma-joined, colored list of group members missing the named aura.
-- name [string] the localized aura name to check for
@@ -397,14 +403,33 @@ end
-- Returns an itemLink for the given itemname
-- 'name' [string] name of the item
-- returns: [string] entire itemLink for the given item
local itemLinkCache = {}
local itemLinkMisses = {}
local ITEMLINK_MAX_SCANS = 2
function pfUI.api.GetItemLinkByName(name)
for itemID = 1, 25818 do
-- GetInboxItem() hands us a nil name for attachment-less mail
if not name then return end
-- cache successful resolutions so repeated lookups (e.g. per inbox click) are free
if itemLinkCache[name] then return itemLinkCache[name] end
-- Failures have to be counted, not just retried. An unresolvable name walks
-- the entire id range and finds nothing -- a visible hitch on every tooltip
-- hover. Allow a couple of attempts (rendering the tooltip caches the item,
-- so the next hover usually resolves), then stop scanning for that name.
local misses = itemLinkMisses[name] or 0
if misses >= ITEMLINK_MAX_SCANS then return end
-- Octo/Turtle custom items live well past the 25818 vanilla ceiling
for itemID = 1, 61000 do
local itemName = C_Item.GetItemNameByID(itemID)
if itemName and itemName == name then
local _, itemLink = C_Item.GetItemInfo(itemID)
itemLinkCache[name] = itemLink
return itemLink
end
end
itemLinkMisses[name] = misses + 1
end
-- [ FindItem ]
@@ -646,6 +671,10 @@ 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))
+4
View File
@@ -785,6 +785,9 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("tooltip", nil, "itemid", "0")
pfUI:UpdateConfig("tooltip", nil, "movespeed", "0")
pfUI:UpdateConfig("tooltip", nil, "aurasource", "0")
pfUI:UpdateConfig("tooltip", nil, "spellid", "0")
pfUI:UpdateConfig("tooltip", nil, "unitid", "0")
pfUI:UpdateConfig("tooltip", nil, "showbuffs", "0")
pfUI:UpdateConfig("tooltip", nil, "alpha", "0.8")
pfUI:UpdateConfig("tooltip", nil, "alwaysperc", "0")
pfUI:UpdateConfig("tooltip", "compare", "basestats", "1")
@@ -963,6 +966,7 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("thirdparty", "dpsmate", "dock", "0")
pfUI:UpdateConfig("thirdparty", "shagudps", "skin", "0")
pfUI:UpdateConfig("thirdparty", "shagudps", "dock", "0")
pfUI:UpdateConfig("thirdparty", "greedmeter", "dock", "0")
pfUI:UpdateConfig("thirdparty", "swstats", "skin", "0")
pfUI:UpdateConfig("thirdparty", "swstats", "dock", "0")
pfUI:UpdateConfig("thirdparty", "ktm", "skin", "0")
+126 -73
View File
@@ -140,32 +140,43 @@ function pfUI.api.GetUnitStats(unitstr)
end
local aggrodata = { }
local aggroScan = nil -- static { u, t, tt } triples, built once so the hot scan allocates nothing
function pfUI.api.UnitHasAggro(unit)
-- Only cache positive results to allow instant detection when aggro changes
if aggrodata[unit] and aggrodata[unit].state > 0 and GetTime() < aggrodata[unit].check + 1 then
return aggrodata[unit].state
local now = GetTime()
local data = aggrodata[unit]
-- Cache positive results 1s (so aggro clears fast) AND negative results 0.3s
-- (so we don't rescan the whole unit table on every call while nothing has aggro).
if data and now < data.check + (data.state > 0 and 1 or 0.3) then
return data.state
end
aggrodata[unit] = aggrodata[unit] or { }
aggrodata[unit].check = GetTime()
aggrodata[unit].state = 0
if not data then data = { }; aggrodata[unit] = data end
data.check = now
data.state = 0
if UnitExists(unit) and UnitIsFriend(unit, "player") then
for u in pairs(pfValidUnits) do
local t = u .. "target"
local tt = t .. "target"
if UnitExists(t) and UnitIsUnit(t, unit) and UnitCanAttack(u, unit) then
aggrodata[unit].state = aggrodata[unit].state + 1
-- pfValidUnits never changes after load, so precompute the "<u>target" /
-- "<u>targettarget" token strings once instead of concatenating per call.
if not aggroScan then
aggroScan = {}
for u in pairs(pfValidUnits) do
local t = u .. "target"
table.insert(aggroScan, { u = u, t = t, tt = t .. "target" })
end
end
if UnitExists(tt) and UnitIsUnit(tt, unit) and UnitCanAttack(t, unit) then
aggrodata[unit].state = aggrodata[unit].state + 1
for i = 1, table.getn(aggroScan) do
local s = aggroScan[i]
if UnitExists(s.t) and UnitIsUnit(s.t, unit) and UnitCanAttack(s.u, unit) then
data.state = data.state + 1
end
if UnitExists(s.tt) and UnitIsUnit(s.tt, unit) and UnitCanAttack(s.t, unit) then
data.state = data.state + 1
end
end
end
return aggrodata[unit].state
return data.state
end
pfUI.uf.glow = CreateFrame("Frame", nil, UIParent)
@@ -194,8 +205,13 @@ function pfUI.uf:UpdateVisibility()
-- cache result of strsub to avoid repeating calls
if not self.cache_raid then
if strsub(self:GetName(),0,6) == "pfRaid" then
self.cache_raid = tonumber(strsub(self:GetName(),7,8)) or 0
local name = self:GetName()
if strsub(name,0,9) == "pfRaidPet" then
-- pet grid slot (pfRaidPet1..40); used to mirror party pets below
self.cache_raid = 0
self.cache_raidpet = tonumber(strsub(name,10)) or 0
elseif strsub(name,0,6) == "pfRaid" then
self.cache_raid = tonumber(strsub(name,7,8)) or 0
else
self.cache_raid = 0
end
@@ -227,6 +243,26 @@ function pfUI.uf:UpdateVisibility()
end
end
-- show raidpet frames as party pets when a party is shown as a raid grid
if self.cache_raidpet then
if not IsInRaid() and IsInGroup() and C.unitframes.raidforgroup == "1" then
local id = self.cache_raidpet
if id == 1 then
-- grid slot 1 mirrors the player, so its pet is the player's pet
self.id = ""
self.label = "pet"
elseif id <= 5 then
self.id = id - 1
self.label = "partypet"
end
-- reset to regular raidpet unitstrings after leaving party mode
elseif self.label == "pet" or self.label == "partypet" then
self.id = self.cache_raidpet
self.label = "raidpet"
end
end
-- display every unit as player while pfUI.uf.showall is set
if pfUI.uf.showall then
self._label = self._label or self.label
@@ -255,9 +291,10 @@ function pfUI.uf:UpdateVisibility()
-- frame shall not be visible
visibility = "hide"
self.visible = nil
elseif hide_group and self.cache_raid == 0 and self.label and strsub(self.label,0,5) == "party" then
-- hide group while shown as a raid grid and option is set (raid frames
-- carry label "party" under raidforgroup, so exclude them by cache_raid)
elseif hide_group and self.cache_raid == 0 and not self.cache_raidpet and self.label and strsub(self.label,0,5) == "party" then
-- hide group while shown as a raid grid and option is set (raid player
-- frames carry label "party" and raid pet frames carry label "partypet"
-- under raidforgroup, so exclude them by cache_raid / cache_raidpet)
visibility = "hide"
self.visible = nil
elseif ( self.fname == "Group0" or self.fname == "PartyPet0" or self.fname == "Party0Target" )
@@ -1601,39 +1638,40 @@ function pfUI.uf:RefreshUnit(unit, component)
for i=1, unit.config.bufflimit do
if not unit.buffs[i] then break end
local aura = C_UnitAuras.GetBuffDataByIndex(unitstr, i)
-- positional UnitBuff allocates nothing (vs a table per icon per refresh)
local name, icon, count, _, duration, expirationTime, _, _, _, spellId = C_UnitAuras.UnitBuff(unitstr, i)
if aura then
unit.buffs[i].texture:SetTexture(aura.icon)
if name then
unit.buffs[i].texture:SetTexture(icon)
unit.buffs[i]:Show()
if aura.applications > 1 then
unit.buffs[i].stacks:SetText(aura.applications)
if count > 1 then
unit.buffs[i].stacks:SetText(count)
else
unit.buffs[i].stacks:SetText("")
end
if aura.expirationTime > 0 then
if expirationTime > 0 then
-- pfUI's cooldown text falls into a 2^32 wraparound branch when start > GetTime(),
-- which happens for talent-extended buffs where the real duration exceeds aura.duration
-- (the Spell.dbc base). Anchor start to now in that case to keep the remaining math sane.
-- which happens for talent-extended buffs where the real duration exceeds the
-- Spell.dbc base. Anchor start to now in that case to keep the remaining math sane.
local now = GetTime()
local start = aura.expirationTime - aura.duration
local duration = aura.duration
if start > now or duration <= 0 then
start, duration = now, aura.expirationTime - now
local start = expirationTime - duration
local dur = duration
if start > now or dur <= 0 then
start, dur = now, expirationTime - now
end
if duration > 0 then
CooldownFrame_SetTimer(unit.buffs[i].cd, start, duration, 1)
if dur > 0 then
CooldownFrame_SetTimer(unit.buffs[i].cd, start, dur, 1)
else
CooldownFrame_SetTimer(unit.buffs[i].cd, 0, 0, 0)
end
elseif aura.duration > 0 then
elseif duration > 0 then
local guid = UnitGUID(unitstr)
local guidStarts = guid and pfUI.uf.aura_starts[guid]
local start = guidStarts and guidStarts[aura.spellId]
local start = guidStarts and guidStarts[spellId]
if start then
CooldownFrame_SetTimer(unit.buffs[i].cd, start, aura.duration, 1)
CooldownFrame_SetTimer(unit.buffs[i].cd, start, duration, 1)
else
CooldownFrame_SetTimer(unit.buffs[i].cd, 0, 0, 0)
end
@@ -1704,10 +1742,11 @@ function pfUI.uf:RefreshUnit(unit, component)
-- selfdebuff narrows to player-cast harmful auras via the PLAYER filter.
-- Player-frame debuffs aren't gated on it (it'd hide most party-applied
-- effects on you).
local filter = (unit.label ~= "player" and selfdebuff == "1") and "HARMFUL|PLAYER" or "HARMFUL"
local aura = C_UnitAuras.GetAuraDataByIndex(unitstr, i, filter)
if aura then
texture, stacks, dtype = aura.icon, aura.applications, aura.dispelName
-- positional UnitDebuff allocates nothing; PLAYER predicate honored for selfdebuff
local filter = (unit.label ~= "player" and selfdebuff == "1") and "PLAYER" or nil
local name, icon, count, dispelType, duration, expirationTime = C_UnitAuras.UnitDebuff(unitstr, i, filter)
if name then
texture, stacks, dtype = icon, count, dispelType
else
texture, stacks, dtype = nil, 0, nil
end
@@ -1720,18 +1759,18 @@ function pfUI.uf:RefreshUnit(unit, component)
if texture then
unit.debuffs[i]:Show()
if aura and aura.expirationTime > 0 then
if expirationTime > 0 then
-- Cap start to now so talent-extended debuffs (expirationTime past
-- the dbc base duration) don't push start into the future and trip
-- CooldownFrame_SetTimer's 2^32-wraparound branch.
local now = GetTime()
local start = aura.expirationTime - aura.duration
local duration = aura.duration
if start > now or duration <= 0 then
start, duration = now, aura.expirationTime - now
local start = expirationTime - duration
local dur = duration
if start > now or dur <= 0 then
start, dur = now, expirationTime - now
end
if duration > 0 then
CooldownFrame_SetTimer(unit.debuffs[i].cd, start, duration, 1)
if dur > 0 then
CooldownFrame_SetTimer(unit.debuffs[i].cd, start, dur, 1)
else
CooldownFrame_SetTimer(unit.debuffs[i].cd, 0, 0, 0)
end
@@ -1789,6 +1828,17 @@ function pfUI.uf:RefreshUnit(unit, component)
end
end
-- Scan the 16 harmful slots once into a reusable set, instead of
-- re-scanning all 16 for every dispellable type below. Reused across
-- frames (populated and consumed within this single RefreshUnit call).
local present = pfUI.uf.dispelPresent or {}
pfUI.uf.dispelPresent = present
for k in pairs(present) do present[k] = nil end
for i=1,16 do
local name, _, _, dispelType = C_UnitAuras.UnitDebuff(unitstr, i)
if name and dispelType and dispelType ~= "" then present[dispelType] = true end
end
for _, debuff in pairs(unit.dispellable) do
indicator[debuff] = indicator[debuff] or CreateFrame("Frame", nil, indicator)
indicator[debuff]:SetParent(indicator)
@@ -1828,15 +1878,7 @@ function pfUI.uf:RefreshUnit(unit, component)
indicator[debuff].disp = indicator.disp
end
indicator[debuff].visible = nil
for i=1,16 do
local a = C_UnitAuras.GetDebuffDataByIndex(unitstr, i)
local dtype = a and a.dispelName
if dtype == debuff then
indicator[debuff].visible = true
end
end
indicator[debuff].visible = present[debuff]
if indicator[debuff].visible then
indicator[debuff]:Show()
@@ -1883,50 +1925,58 @@ function pfUI.uf:RefreshUnit(unit, component)
local pos = 1
if table.getn(unit.indicators) > 0 then
for _, aura in ipairs(C_UnitAuras.GetUnitAuras(unitstr, "HELPFUL")) do
local texLower = string.lower(aura.icon)
local timeleft = aura.expirationTime > 0 and (aura.expirationTime - GetTime()) or nil
local i = 1
while true do
local name, icon, count, _, _, expirationTime = C_UnitAuras.UnitBuff(unitstr, i)
if not name then break end
local texLower = string.lower(icon)
local timeleft = expirationTime > 0 and (expirationTime - GetTime()) or nil
for _, filter in pairs(unit.indicators) do
if filter == texLower then
local hot = HOT_INDICATORS[texLower]
if hot and string.lower(aura.name) ~= hot.name then
if hot and string.lower(name) ~= hot.name then
break -- texture matches but name disambiguates (e.g. shared icon)
end
if hot then
local start, duration, prediction = libpredict:GetHotDuration(unitstr, hot.predict)
pfUI.uf:AddIcon(unit, pos, aura.icon, timeleft or prediction, aura.applications, tonumber(start), tonumber(duration))
pfUI.uf:AddIcon(unit, pos, icon, timeleft or prediction, count, tonumber(start), tonumber(duration))
else
pfUI.uf:AddIcon(unit, pos, aura.icon, timeleft, aura.applications)
pfUI.uf:AddIcon(unit, pos, icon, timeleft, count)
end
pos = pos + 1
break
end
end
i = i + 1
end
end
if table.getn(unit.indicator_custom) > 0 then
for _, aura in ipairs(C_UnitAuras.GetUnitAuras(unitstr, "HELPFUL")) do
local timeleft = aura.expirationTime > 0 and (aura.expirationTime - GetTime()) or nil
local lowerName = string.lower(aura.name)
local ai = 1
while true do
local name, icon, count, _, _, expirationTime = C_UnitAuras.UnitBuff(unitstr, ai)
if not name then break end
local timeleft = expirationTime > 0 and (expirationTime - GetTime()) or nil
local lowerName = string.lower(name)
for _, filter in pairs(unit.indicator_custom) do
if filter == lowerName then
pfUI.uf:AddIcon(unit, pos, aura.icon, timeleft, aura.applications)
pfUI.uf:AddIcon(unit, pos, icon, timeleft, count)
pos = pos + 1
break
end
end
ai = ai + 1
end
local debuffFilter = unit.config.selfdebuff == "1" and "HARMFUL|PLAYER" or "HARMFUL"
local debuffFilter = unit.config.selfdebuff == "1" and "PLAYER" or nil
for i=1,16 do -- scan for custom debuffs
local aura = C_UnitAuras.GetAuraDataByIndex(unitstr, i, debuffFilter)
if aura then
local timeleft = aura.expirationTime > 0 and (aura.expirationTime - GetTime()) or nil
local name, icon, count, _, _, expirationTime = C_UnitAuras.UnitDebuff(unitstr, i, debuffFilter)
if name then
local timeleft = expirationTime > 0 and (expirationTime - GetTime()) or nil
for _, filter in pairs(unit.indicator_custom) do
if filter == string.lower(aura.name) then
pfUI.uf:AddIcon(unit, pos, aura.icon, timeleft, aura.applications)
if filter == string.lower(name) then
pfUI.uf:AddIcon(unit, pos, icon, timeleft, count)
pos = pos + 1
break
end
@@ -2141,6 +2191,9 @@ function pfUI.uf:EnableClickCast()
self:SetAttribute(prefix .. "type" .. bid, "target")
elseif low == "focus" then
self:SetAttribute(prefix .. "type" .. bid, "focus")
elseif string.find(low, "^macro:") then
self:SetAttribute(prefix .. "type" .. bid, "macro")
self:SetAttribute(prefix .. "macro" .. bid, string.gsub(string.sub(action, 7), "^%s+", ""))
elseif string.find(action, "^/") then
self:SetAttribute(prefix .. "type" .. bid, "macro")
self:SetAttribute(prefix .. "macrotext" .. bid, action)
-952
View File
@@ -1,16 +1,5 @@
pfUI_locale["deDE"] = {}
pfUI_locale["deDE"]["class"] = {
["Hexenmeister"] = "WARLOCK",
["Krieger"] = "WARRIOR",
["Jäger"] = "HUNTER",
["Magier"] = "MAGE",
["Priester"] = "PRIEST",
["Druide"] = "DRUID",
["Paladin"] = "PALADIN",
["Schamane"] = "SHAMAN",
["Schurke"] = "ROGUE",
}
pfUI_locale["deDE"]["healduration"] = {
["Rejuvenation"] = "Erhöht die Dauer Eures Zaubers 'Verjüngung' um 3 Sek.",
@@ -23,15 +12,6 @@ pfUI_locale["deDE"]["customcast"] = {
}
pfUI_locale["deDE"]["dyndebuffs"] = {
["Rupture"] = "Blutung",
["Kidney Shot"] = "Nierenhieb",
["Rend"] = "Verwunden",
["Shadow Word: Pain"] = "Schattenwort: Schmerz",
["Demoralizing Shout"] = "Demoralisierungsruf",
["Frostbolt"] = "Frostblitz",
["Gouge"] = "Solarplexus",
}
pfUI_locale["deDE"]["judgements"] = {
["Richturteil der Gerechtigkeit"] = true,
@@ -47,939 +27,7 @@ pfUI_locale["deDE"]["resurrections"] = {
["Geist der Ahnen"] = true,
}
pfUI_locale["deDE"]["debuffs"] = {
['AE Charm']={[0]=300.0,},
['Ablenkende Spucke']={[0]=15.0,},
['Ablenkender Schmerz']={[0]=15.0,},
['Ablenkungsbewegung']={[0]=7.0,},
['Abschreckknurren']={[0]=30.0,},
['Absitzschuss']={[0]=2.0,},
['Abstoßendes Starren']={[0]=8.0,},
['Abtrennung']={[0]=300.0,},
['Adlerklaue']={[0]=15.0,},
['Alle Fesseln entfernen']={[0]=1.0,},
['Alptraumkreatur']={[0]=30.0,},
['Angriff des Frostbrands']={[0]=8.0,},
['Angriffsreihenfolge']={[0]=10.0,},
['Anspringblutung']={[0]=18.0,},
['Anspringen']={[0]=2.0,},
['Anub\'Rekhans Aura']={[0]=5.0,},
['Arantir\'s Zorn']={[0]=6.0,},
['Arkane Geschosse']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=5.0,[5]=5.0,[6]=5.0,[7]=5.0,[8]=5.0,[0]=5.0,},
['Arkane Intelligenz']={[0]=1800.0,},
['Arkane Wucht']={[0]=8.0,},
['Arkanschwäche']={[0]=45.0,},
['Arlokks Mal']={[0]=120.0,},
['Arthas\' Gabe']={[0]=180.0,},
['Arugals Fluch']={[0]=10.0,},
['Arugals Gabe']={[0]=300.0,},
['Aspekt von Arlokk']={[0]=2.0,},
['Aspekt von Jeklik']={[0]=5.0,},
['Aspekt von Mar\'li']={[0]=6.0,},
['Aspekt von Venoxis']={[0]=10.0,},
['Auferweckung der Seele']={[0]=1800.0,},
['Aufreißungen']={[0]=60.0,},
['Aufschlitzen']={[0]=8.0,},
['Aufspießen']={[0]=15.0,},
['Auge von Immol\'thar']={[0]=4.0,},
['Augenhacker']={[0]=12.0,},
['Aura der Furcht']={[0]=3.0,},
['Aura der Pein']={[0]=8.0,},
['Aura des Befehls']={[0]=30.0,},
['Aura des Blutfürsten']={[0]=5.0,},
['Aura des Kampfes']={[0]=10.0,},
['Aura-Absaugen (PT)']={[0]=15.0,},
['Auraschock']={[0]=300.0,},
['Ausbrennende Flammen']={[0]=900.0,},
['Axt werfen']={[0]=2.0,},
['Axtwirbel']={[0]=2.0,},
['Axtwurf']={[0]=3.0,},
['Azrethocs Stampfen']={[0]=5.0,},
['Baggererkrankung']={[0]=300.0,},
['Balnazzar - Transformieren - Betäuben']={[0]=5.0,},
['Bansheefluch']={[0]=12.0,},
['Bansheekreischen']={[0]=5.0,},
['Bedrohlicher Blick']={[0]=6.0,},
['Bedrohliches Knurren']={[0]=30.0,},
['Befreite Seele beschwören']={[0]=60.0,},
['Befrieden']={[0]=10.0,},
['Beherrschung']={[0]=15.0,},
['Belästigen']={[1]=10.0,[2]=20.0,[3]=30.0,[0]=30.0,},
['Benebelnder Schmerz']={[0]=10.0,},
['Benommen']={[0]=4.0,},
['Berauschendes Gift']={[0]=120.0,},
['Berittenen Ritter beschwören']={[0]=120.0,},
['Berserker']={[0]=30.0,},
['Berührung der Schwäche']={[0]=120.0,},
['Berührung des Flammenschockers']={[0]=3.0,},
['Berührung von Rabenklaue']={[0]=5.0,},
['Besitz ergreifen']={[0]=120.0,},
['Bestrahlt']={[0]=60.0,},
['Besudelte Gedanken']={[0]=600.0,},
['Besudeltes Blut']={[0]=10.0,},
['Betäuben']={[0]=2.0,},
['Betäubender Schlag']={[1]=3.0,[2]=5.0,[0]=5.0,},
['Betäubender Stoß']={[0]=4.0,},
['Betäubung abfangen']={[0]=3.0,},
['Beweglichkeit VIII']={[0]=3600.0,},
['Biss der Fäulnis']={[0]=30.0,},
['Blackout']={[0]=3.0,},
['Blenden']={[0]=10.0,},
['Blinzeln']={[0]=1.0,},
['Blitzeis']={[0]=5.0,},
['Blutblütengift']={[0]=30.0,},
['Blutfluch']={[0]=600.0,},
['Blutgeheul']={[0]=15.0,},
['Blutheilung']={[0]=6.0,},
['Blutsauger']={[0]=5.0,},
['Blutsturz']={[0]=15.0,},
['Bluttrinker']={[0]=8.0,},
['Blutung']={[0]=6.0,},
['Bodenbeben']={[0]=2.0,},
['Bodenzerkracher']={[0]=3.0,},
['Brandungskriecher zähmen']={[0]=900.0,},
['Brandzeichen der Schädelesse']={[0]=30.0,},
['Brennende Winde']={[0]=8.0,},
['Brennendes Adrenalin']={[0]=20.0,},
['Brunnen des Lichts']={[0]=180.0,},
['Brutgebrechen: Blau']={[0]=600.0,},
['Brutgebrechen: Bronze']={[0]=600.0,},
['Brutgebrechen: Grün']={[0]=600.0,},
['Brutgebrechen: Rot']={[0]=600.0,},
['Brutgebrechen: Schwarz']={[0]=600.0,},
['Brutkraft: Blau']={[0]=6.0,},
['Brutkraft: Bronze']={[0]=5.0,},
['Brutkraft: Grün']={[0]=6.0,},
['Brutkraft: Rot']={[0]=5.0,},
['Buße']={[0]=6.0,},
['Chemie-Schälung']={[0]=10.0,},
['Chromatische Mutation']={[0]=300.0,},
['Dampfstrahl']={[0]=10.0,},
['Demoralisieren']={[0]=30.0,},
['Demoralisierender Ruf']={[0]=30.0,},
['Demoralisierendes Gebrüll']={[0]=30.0,},
['Demoralisierungsruf']={[0]=30.0,},
['Der Segen von Nordrassil']={[0]=10.0,},
['Detonierendes Mana']={[0]=5.0,},
['Dezimieren']={[0]=3.0,},
['Dickflüssigkeitsfieber']={[0]=600.0,},
['Dirks intelligentes Gift']={[0]=30.0,},
['Diskombobulieren']={[0]=12.0,},
['Donnerknall']={[1]=10.0,[2]=14.0,[3]=18.0,[4]=22.0,[5]=26.0,[6]=30.0,[0]=30.0,},
['Donnerkracher']={[0]=2.5,},
['Donnerschock']={[0]=5.0,},
['Dornen']={[0]=600.0,},
['Dornenfluch']={[0]=180.0,},
['Dornensalve']={[0]=2.0,},
['Drohende Verdammnis']={[0]=10.0,},
['Drohruf']={[0]=8.0,},
['Druckwelle']={[0]=6.0,},
['Druidenschlummer']={[0]=15.0,},
['Dröhnendes Gebrüll']={[0]=3.0,},
['Dunkle Energie']={[0]=300.0,},
['Dunkle Seuche']={[0]=90.0,},
['Dunkler Schlamm']={[0]=300.0,},
['Durchbohren']={[0]=9.0,},
['Durchdringendes Heulen']={[0]=6.0,},
['Durchdringendes Kreischen']={[0]=6.0,},
['Dämon zerschmettern']={[0]=5.0,},
['Dämonengabel']={[0]=25.0,},
['Dämonensklave']={[0]=300.0,},
['Eberangriff']={[0]=1.0,},
['Egelgift']={[0]=40.0,},
['Eierexplosion']={[0]=3.0,},
['Einfangen']={[0]=5.0,},
['Einhüllend']={[0]=6.0,},
['Einhüllende Flammen']={[0]=6.0,},
['Einhüllende Gespinste']={[0]=8.0,},
['Einhüllende Winde']={[0]=10.0,},
['Einhüllendes Gespinst']={[0]=8.0,},
['Einlullendes Gift']={[0]=8.0,},
['Einschlag']={[0]=2.0,},
['Einschüchterndes Gebrüll']={[0]=8.0,},
['Einschüchterndes Knurren']={[0]=5.0,},
['Einschüchterung']={[0]=3.0,},
['Einsperren']={[0]=30.0,},
['Einstechen']={[0]=10.0,},
['Eisblitz']={[0]=2.0,},
['Eisblitzschutz']={[0]=5.0,},
['Eisgrabmal']={[0]=10.0,},
['Eisiger Griff']={[0]=5.0,},
['Eiskalte Berührung']={[0]=8.0,},
['Eiskalter Atem']={[0]=12.0,},
['Eisketten']={[1]=15.0,[2]=20.0,[0]=20.0,},
['Eisklaue']={[0]=6.0,},
['Eisklauenbären zähmen']={[0]=20.0,},
['Eiskälte']={[0]=15.0,},
['Eiskälte III PROC']={[0]=5.0,},
['Eiskältefalle']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Eiskälteklaue']={[0]=5.0,},
['Eiskühlenova']={[0]=10.0,},
['Eisnova']={[0]=2.0,},
['Eisschlag']={[0]=10.0,},
['Eiszapfen']={[0]=10.0,},
['Eitrige Galle']={[0]=45.0,},
['Eitriger Atem']={[0]=30.0,},
['Eitriger Gestank']={[0]=10.0,},
['Eitriges Enzym']={[0]=300.0,},
['Ektoplasmadestillierer']={[0]=3.0,},
['Elektrifiziertes Netz']={[0]=10.0,},
['Elementarfeuer']={[0]=8.0,},
['Elementarverwundbarkeit']={[0]=30.0,},
['Elende Kälte']={[0]=120.0,},
['Elixier der Riesen']={[0]=1200.0,},
['Entkräften']={[0]=120.0,},
['Entkräftende Berührung']={[0]=120.0,},
['Entkräftender Sturmangriff']={[0]=8.0,},
['Entscheidende Wunde']={[0]=8.0,},
['Entwaffnen']={[0]=10.0,},
['Entweihende Aura']={[0]=5.0,},
['Entweiht']={[0]=10.0,},
['Entzünden']={[0]=4.0,},
['Erbarmungsloses Gift']={[0]=120.0,},
['Erdbindung']={[0]=5.0,},
['Erdbohrersäure']={[0]=30.0,},
['Erdengriff']={[0]=4.0,},
['Erdrosseln']={[0]=18.0,},
['Erdschock']={[0]=2.0,},
['Erdstampfer']={[0]=5.0,},
['Erfrierung']={[0]=5.0,},
['Erkrankte Spucke']={[0]=10.0,},
['Ermutigung']={[0]=1800.0,},
['Erschauerndes Gebrüll']={[0]=5.0,},
['Erschrecken']={[0]=4.0,},
['Erschreckendes Gebrüll']={[0]=5.0,},
['Erschütternder Schlag']={[0]=5.0,},
['Erschütternder Schuss']={[0]=4.0,},
['Erwachsenen Ebenenschreiter zähmen']={[0]=900.0,},
['Erz schmelzen']={[0]=20.0,},
['Eskhandars Krallenhieb']={[0]=30.0,},
['Essenz des Roten']={[0]=180.0,},
['Essenz extrahieren']={[0]=12.0,},
['Explodieren']={[0]=2.5,},
['Fackelexplosion']={[0]=30.0,},
['Fackelwurf']={[0]=30.0,},
['Falle']={[0]=10.0,},
['Fangzahn der Kristallspinne']={[0]=10.0,},
['Fassexplosion']={[0]=3.0,},
['Faultier']={[0]=3.0,},
['Faust des Ragnaros']={[0]=5.0,},
['Feenfeuer']={[0]=40.0,},
['Feenfeuer (Tiergestalt)']={[0]=40.0,},
['Fehlgeschlagene Verwandlung']={[0]=8.0,},
['Felsen']={[0]=10.0,},
['Festes Kneifen']={[0]=5.0,},
['Festfrieren']={[0]=10.0,},
['Feuerball']={[1]=4.0,[2]=6.0,[3]=6.0,[4]=8.0,[5]=8.0,[6]=8.0,[7]=8.0,[8]=8.0,[9]=8.0,[10]=8.0,[11]=8.0,[12]=8.0,[0]=8.0,},
['Feuerbrand']={[0]=15.0,},
['Feuerbrandfalle']={[0]=15.0,},
['Feuerfestfuror']={[0]=3600.0,},
['Feuerfestverstärkung']={[0]=3600.0,},
['Feuermeer']={[0]=30.0,},
['Feuerschutz']={[0]=3600.0,},
['Feuerschwall']={[0]=3.0,},
['Feuerschwäche']={[0]=45.0,},
['Feuerverwundbarkeit']={[0]=30.0,},
['Fieberhafte Erschöpfung']={[0]=1800.0,},
['Fieberseuche']={[0]=180.0,},
['Fieser Trick']={[0]=4.0,},
['Finkle-Generator beschwören']={[0]=5.0,},
['Fixieren']={[0]=10.0,},
['Flammen anstacheln']={[0]=60.0,},
['Flammen verstärken']={[0]=30.0,},
['Flammenpeitsche']={[0]=45.0,},
['Flammenpuffer']={[0]=45.0,},
['Flammenschock']={[0]=12.0,},
['Flasche Gift']={[0]=30.0,},
['Fleddern']={[0]=2.0,},
['Fleisch entzünden']={[0]=60.0,},
['Fleisch zerreißen']={[0]=12.0,},
['Fluch der Besserung']={[0]=180.0,},
['Fluch der Elemente']={[0]=300.0,},
['Fluch der Erschöpfung']={[0]=12.0,},
['Fluch der Feuerbrand']={[0]=300.0,},
['Fluch der Heilung']={[0]=180.0,},
['Fluch der Herzschinder']={[0]=180.0,},
['Fluch der Machtlosigkeit']={[0]=120.0,},
['Fluch der Pein']={[0]=24.0,},
['Fluch der Rache']={[0]=900.0,},
['Fluch der Schatten']={[0]=300.0,},
['Fluch der Schreckensfelsoger']={[0]=60.0,},
['Fluch der Schwäche']={[0]=120.0,},
['Fluch der Seuchenratte']={[0]=14.0,},
['Fluch der Sprachen']={[0]=30.0,},
['Fluch der Stämme']={[0]=1800.0,},
['Fluch der Tollkühnheit']={[0]=120.0,},
['Fluch der Torheit']={[0]=120.0,},
['Fluch der Totenwaldfelle']={[0]=120.0,},
['Fluch der Verdammnis']={[0]=60.0,},
['Fluch der Zungen']={[0]=15.0,},
['Fluch des Auges']={[0]=120.0,},
['Fluch des Dunkelmeisters']={[0]=60.0,},
['Fluch des Elementarlords']={[0]=60.0,},
['Fluch des Seuchenfürsten']={[0]=10.0,},
['Fluch des gefallenen Magram']={[0]=900.0,},
['Fluch von Hakkar']={[0]=120.0,},
['Fluch von Tuten\'kash']={[0]=900.0,},
['Flüchtige Infektion']={[0]=120.0,},
['Flüssiges Metall']={[0]=15.0,},
['Frost']={[0]=10.0,},
['Frost Nova']={[0]=8.0,},
['Frostaura']={[0]=5.0,},
['Frostbeulen']={[0]=15.0,},
['Frostblitz']={[1]=5.0,[2]=6.0,[3]=6.0,[4]=7.0,[5]=7.0,[6]=8.0,[7]=8.0,[8]=9.0,[9]=9.0,[10]=9.0,[11]=9.0,[0]=9.0,},
['Frostblitz-Salve']={[0]=8.0,},
['Frostblitzsalve']={[0]=4.0,},
['Frostnova']={[0]=8.0,},
['Frostschock']={[0]=8.0,},
['Frostschuss']={[0]=10.0,},
['Frostschutz']={[0]=3600.0,},
['Frostschwäche']={[0]=45.0,},
['Furcht']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Furcht (NYI)']={[0]=15.0,},
['Furchterregendes Kreischen']={[0]=6.0,},
['Fässchenfalle']={[0]=2.0,},
['Fünf-Fettfinger-Pressur-Herzexplosionstechnik']={[0]=30.0,},
['Gallkröten-Infektion']={[0]=180.0,},
['Gebrechlichkeit']={[0]=60.0,},
['Gedanken beherrschen']={[0]=10.0,},
['Gedanken vergiften']={[0]=15.0,},
['Gedanken verseuchen']={[0]=600.0,},
['Gedankenbeben']={[0]=600.0,},
['Gedankenbenebelndes Gift']={[0]=10.0,},
['Gedankenbenebelndes Gift II']={[0]=12.0,},
['Gedankenbenebelndes Gift III']={[0]=14.0,},
['Gedankenbesänftigung']={[0]=15.0,},
['Gedankenkontrolle']={[0]=60.0,},
['Gedankenschinden']={[0]=3.0,},
['Gedankenverfall']={[0]=30.0,},
['Gedankenzersplitterung']={[0]=3.0,},
['Geflüster des C\'Thun']={[0]=20.0,},
['Gegenangriff']={[0]=5.0,},
['Gegenzauber']={[0]=10.0,},
['Gegenzauber - zum Schweigen gebracht']={[0]=4.0,},
['Geheilte Celebrianranke beschwören']={[0]=604800.0,},
['Gehennas Fluch']={[0]=300.0,},
['Geist anlocken']={[0]=5.0,},
['Geist einfangen']={[0]=9.0,},
['Geist von Darrowshire beschwören']={[0]=60.0,},
['Geist von Mondklaue']={[0]=120.0,},
['Geist von Zandalar']={[0]=7200.0,},
['Geisterhafter Stoß']={[0]=7.0,},
['Gemeinsame Bande']={[0]=4.0,},
['Gemütliches Feuer']={[0]=60.0,},
['Gepanzerten Skorpid zähmen']={[0]=900.0,},
['Gepflanzt']={[0]=3.0,},
['Gerechtigkeit des Hochlords']={[0]=5.0,},
['Gespinst']={[0]=8.0,},
['Gespinst II']={[0]=10.0,},
['Gespinst III']={[0]=12.0,},
['Gespinstexplosion']={[0]=10.0,},
['Gespinstschauer']={[0]=10.0,},
['Gesundheit II']={[0]=3600.0,},
['Gesundheit wegsaugen']={[0]=15.0,},
['Geysir']={[0]=5.0,},
['Gezeiten-Glücksbringer']={[0]=3.0,},
['Ghulfäulnis']={[0]=600.0,},
['Ghulseuche']={[0]=1800.0,},
['Gift']={[0]=30.0,},
['Gift der Atal\'ai']={[0]=30.0,},
['Giftangriff']={[0]=9.0,},
['Giftaura']={[0]=12.0,},
['Giftblitz']={[0]=10.0,},
['Giftblitzsalve']={[0]=10.0,},
['Gifthautsekret']={[0]=30.0,},
['Giftiger Katalysator']={[0]=120.0,},
['Giftiger Stich']={[0]=15.0,},
['Giftspucke']={[0]=15.0,},
['Giftstachel']={[0]=45.0,},
['Giftwolke']={[0]=45.0,},
['Gizlocks Attrappe - Spott']={[0]=5.0,},
['Gletschergebrüll']={[0]=3.0,},
['Gnomen-Gedankenkontrollkappe']={[0]=20.0,},
['Gnomentodesstrahl']={[0]=4.0,},
['Golemaggs Vertrauen']={[0]=2.0,},
['Greifende Ranken']={[0]=10.0,},
['Griff des Befehls']={[0]=10.0,},
['Grollflosse']={[0]=20.0,},
['Großbrand']={[0]=10.0,},
['Große Unsichtbarkeit entdecken']={[0]=600.0,},
['Große Verwandlung']={[0]=20.0,},
['Großen Klippeneber zähmen']={[0]=20.0,},
['Großes Arkanelixier']={[0]=1800.0,},
['Grässlicher Schrecken']={[0]=5.0,},
['Göttlicher Willen']={[0]=1800.0,},
['Hagelsturm']={[0]=3.0,},
['Hakennetz']={[0]=10.0,},
['Hallendes Gebrüll']={[0]=20.0,},
['Hammer der Gerechtigkeit']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=6.0,[0]=6.0,},
['Hammer des Richters']={[0]=10.0,},
['Hand von Ragnaros']={[0]=2.0,},
['Hand von Thaurissan']={[0]=5.0,},
['Handschnappen']={[0]=8.0,},
['Harsche Winde']={[0]=1.0,},
['Hass bis Null']={[0]=1.7,},
['Heiliger Schlag']={[0]=4.0,},
['Heiliges Feuer']={[0]=10.0,},
['Heiliges Wort: Seelenstärke']={[0]=1800.0,},
['Heiliges Zerreißen']={[0]=60.0,},
['Heiligschutz']={[0]=3600.0,},
['Heimtückisches Zerfleischen']={[0]=15.0,},
['Herausforderndes Gebrüll']={[0]=6.0,},
['Herausforderungsruf']={[0]=6.0,},
['Herrschaft der Seele']={[0]=60.0,},
['Herz von Hakkar Beschwörungskreis herstellen']={[0]=30.0,},
['Herz von Hakkar \'Explosion\' herstellen']={[0]=30.0,},
['Herz von Hakkar \'Riss\' herstellen']={[0]=30.0,},
['Heulende Klinge']={[0]=30.0,},
['Heulende Wut']={[0]=300.0,},
['Heuschreckenschwarm']={[0]=6.0,},
['Hexenmeisterschrecken']={[0]=2.0,},
['Hieb']={[1]=2.0,[2]=3.0,[3]=4.0,[0]=4.0,},
['Hirnhacker']={[0]=30.0,},
['Hirnschaden']={[0]=30.0,},
['Hochentwickelte Zielattrappe Spawneffekt']={[0]=10.0,},
['Höllenbestiengeist einfangen']={[0]=9.0,},
['Immunität']={[0]=1800.0,},
['Inferno Effekt']={[0]=2.0,},
['Inferno-Muschelschale']={[0]=10.0,},
['Infizierte Wunde']={[0]=300.0,},
['Infizierter Biss']={[0]=180.0,},
['Infiziertes Rückgrat']={[0]=300.0,},
['Inkantation der Manifestation']={[0]=600.0,},
['Insektenschwarm']={[0]=12.0,},
['Intelligenz IX']={[0]=3600.0,},
['Irdene Wächter wecken']={[0]=5.0,},
['Irrbilder von Jin\'do']={[0]=20.0,},
['Isalien beschwören']={[0]=600.0,},
['Jarien and Sothos beschwören']={[0]=600.0,},
['Jeff Dummy 1']={[0]=30.0,},
['Jeff Dummy 2']={[0]=30.0,},
['Jucken']={[0]=8.0,},
['Juckreiz']={[0]=8.0,},
['Jäger episch Anti-Cheat DND']={[0]=60.0,},
['Kadaverwürmer']={[0]=600.0,},
['Kahlholz-Fluch']={[0]=60.0,},
['Kaltauge']={[0]=15.0,},
['Kampfbefehl']={[0]=6.0,},
['Kampfnetz']={[0]=10.0,},
['Kampfrausch']={[0]=15.0,},
['Katalysator des Zaraschwarms']={[0]=30.0,},
['Ketten von Kel\'Thuzad']={[0]=20.0,},
['Klagender Toter']={[0]=6.0,},
['Klauengriff']={[0]=4.0,},
['Klebriger Teer']={[0]=4.0,},
['Kniesehne']={[0]=15.0,},
['Knochenverhüttung']={[0]=20.0,},
['Knockout']={[0]=6.0,},
['Knurren']={[0]=3.0,},
['Knöchel durchstechen']={[0]=3.0,},
['Kodostampfen']={[0]=3.0,},
['Konzentration']={[0]=10.0,},
['Kopfkracher']={[0]=20.0,},
['Kopfnuss']={[1]=25.0,[2]=35.0,[3]=45.0,[0]=45.0,},
['Kopfzerkracher']={[0]=2.0,},
['Kormok beschwören']={[0]=600.0,},
['Krabblergift']={[0]=300.0,},
['Krallenhieb']={[0]=9.0,},
['Kranker Brühschleimer']={[0]=120.0,},
['Krankheitsschuss']={[0]=300.0,},
['Krankheitsstoß']={[0]=20.0,},
['Kreischen der Vergangenheit']={[0]=5.0,},
['Kreischergeist beschwören']={[0]=120.0,},
['Kreuzfahrer-Hammer']={[0]=4.0,},
['Kreuzfahrerstoß']={[0]=30.0,},
['Kriegsdonner']={[0]=2.0,},
['Kristallblick']={[0]=6.0,},
['Kristallener Schlummer']={[0]=15.0,},
['Kristallschwächer']={[0]=120.0,},
['Krückstock des Sklaventreibers']={[0]=30.0,},
['Käfer explodieren lassen']={[0]=4.0,},
['Käfer mutieren']={[0]=240.0,},
['Kälte']={[0]=1.5,},
['Kühlung']={[0]=30.0,},
['Lange Benommenheit']={[0]=6.0,},
['Larvenglibber']={[0]=6.0,},
['Lebende Bombe']={[0]=8.0,},
['Lebensentzug']={[0]=30.0,},
['Lebenssauger']={[0]=12.0,},
['Leereblitz']={[0]=10.0,},
['Lehrling beschwören']={[0]=230.0,},
['Lord Valthalak beschwören']={[0]=600.0,},
['Lucifrons Fluch']={[0]=300.0,},
['Luftblasen']={[0]=10.0,},
['Luftschlinge']={[0]=2.0,},
['Lähmendes Gift']={[0]=8.0,},
['Lähmendes Toxin']={[0]=60.0,},
['Macht von Shahram']={[0]=5.0,},
['Madenglibber']={[0]=6.0,},
['Madenschleim']={[0]=1800.0,},
['Magenta-Kappen-Erkrankung']={[0]=1200.0,},
['Magie entdecken']={[0]=120.0,},
['Magiereflexion']={[0]=10.0,},
['Magmafesseln']={[0]=15.0,},
['Magmaspritzer']={[0]=30.0,},
['Magmaspucke']={[0]=30.0,},
['Mal der Detonation']={[0]=30.0,},
['Mal der Flammen']={[0]=120.0,},
['Mal der Flammmen']={[0]=120.0,},
['Mal der Natur']={[0]=12.0,},
['Mal der Wildnis']={[0]=1800.0,},
['Mal des Frosts']={[0]=12.0,},
['Mal des Jägers']={[0]=120.0,},
['Mal von Blaumeux']={[0]=75.0,},
['Mal von Kazzak']={[0]=60.0,},
['Mal von Korth\'azz']={[0]=75.0,},
['Mal von Morgraine']={[0]=75.0,},
['Mal von Zeliek']={[0]=75.0,},
['Malowns Zerschmetterer']={[0]=2.0,},
['Mana entziehen']={[0]=5.0,},
['Mana entzünden']={[0]=300.0,},
['Manabrand']={[0]=8.0,},
['Manaschwäche']={[0]=10.0,},
['Marduk den Schwarzen beschwören']={[0]=300.0,},
['Marduks Fluch']={[0]=5.0,},
['Maschine steuern']={[0]=60.0,},
['Massenheilung']={[0]=12.0,},
['Massives Beben']={[0]=2.0,},
['Matsch schleudern']={[0]=15.0,},
['Menge verprügeln']={[0]=5.0,},
['Mentale Kontrolle']={[0]=120.0,},
['Mirkfallonfungus']={[0]=2700.0,},
['Mobilitätsstörung']={[0]=20.0,},
['Mondfestglück']={[0]=1800.0,},
['Mondfestglück!']={[0]=1800.0,},
['Mondfeuer']={[1]=9.0,[2]=12.0,[3]=12.0,[4]=12.0,[5]=12.0,[6]=12.0,[7]=12.0,[8]=12.0,[9]=12.0,[10]=12.0,[0]=12.0,},
['Monstrositätenspucke']={[0]=10.0,},
['Moosbedeckte Füße']={[0]=180.0,},
['Moosbedeckte Hände']={[0]=180.0,},
['Mor Grayhoof beschwören']={[0]=600.0,},
['Morastiger Matsch']={[0]=5.0,},
['Muskelriss']={[0]=5.0,},
['Mutagene Injektion']={[0]=10.0,},
['Nachtseeles Klagelied']={[0]=15.0,},
['Nachwirkung']={[0]=5.0,},
['Naralex\' Alptraum']={[0]=15.0,},
['Naraxis-Gespinst']={[0]=30.0,},
['Naturschutz']={[0]=3600.0,},
['Naturschwäche']={[0]=45.0,},
['Nekrotisches Gift']={[0]=30.0,},
['Net-o-Matik']={[0]=10.0,},
['Netz']={[0]=10.0,},
['Netzwache']={[0]=20.0,},
['Netzwirbel']={[0]=7.0,},
['Neutralisieren']={[0]=8.0,},
['Niederschlagen']={[0]=2.0,},
['Niedriger Prankenhieb']={[0]=12.0,},
['Nierenhieb']={[1]=0,[2]=1.0,},
['Offene Wunde']={[0]=8.0,},
['Ohrenbetäubendes Kreischen']={[0]=8.0,},
['Opfern']={[0]=8.0,},
['Panik']={[0]=8.0,},
['Paralysieren']={[0]=30.0,},
['Parasit']={[0]=75.0,},
['Peinigender Schmerz']={[0]=15.0,},
['Peitsche']={[0]=2.0,},
['Peitschen']={[0]=2.0,},
['Peitschenkrautumschlingung']={[0]=18.0,},
['Peitschenkrautwurzeln']={[0]=15.0,},
['Phantomstoß']={[0]=20.0,},
['Pilzwucher']={[0]=90.0,},
['Pirschenden Nachtsäbler zähmen']={[0]=900.0,},
['Präriepirscher zähmen']={[0]=900.0,},
['Psychischer Schrei']={[0]=8.0,},
['Pyroschlag']={[0]=12.0,},
['Rache']={[0]=600.0,},
['Rache der Knarzklauen']={[0]=6.0,},
['Rache des Flammenschockers']={[0]=2.0,},
['Rachebetäubung']={[0]=3.0,},
['Rasender Befehl']={[0]=10.0,},
['Rasender Sturzflug']={[0]=2.0,},
['Rattennova']={[0]=10.0,},
['Rauchbombe']={[0]=4.0,},
['Rauchwolke']={[0]=3.0,},
['Rechtschaffene Schwächung']={[0]=10.0,},
['Rechtschaffenes Feuer']={[0]=8.0,},
['Reflexionsfeld']={[0]=5.0,},
['Regeneration IV']={[0]=3600.0,},
['Reinigung']={[0]=2.0,},
['Rhahk\'Zor-Zerschmettern']={[0]=3.0,},
['Richturteil der Gerechtigkeit']={[0]=10.0,},
['Richturteil der Weisheit']={[0]=10.0,},
['Richturteil des Kreuzfahrers']={[0]=10.0,},
['Richturteil des Lichts']={[0]=10.0,},
['Riposte']={[0]=6.0,},
['Rissleuchtfeuer']={[0]=60.0,},
['Ritter beschwören']={[0]=180.0,},
['Ritualkerzenaura']={[0]=6.0,},
['Ruf des Grabes']={[0]=60.0,},
['Rußschicht']={[0]=10.0,},
['Räuderipper']={[0]=30.0,},
['Rückhand']={[0]=2.0,},
['Rüstung IV']={[0]=3600.0,},
['Rüstung auflösen']={[0]=20.0,},
['Rüstung durchstechen']={[0]=20.0,},
['Rüstung schwächen']={[0]=30.0,},
['Rüstung spalten']={[0]=15.0,},
['Rüstung zerreißen']={[0]=30.0,},
['Rüstung zerschmettern']={[0]=30.0,},
['Rüstungsschmelze']={[0]=60.0,},
['Rüstungszertrümmerung']={[0]=45.0,},
['Sargeras Odem']={[0]=90.0,},
['Schaden verstärken']={[0]=10.0,},
['Schadenschild']={[0]=10.0,},
['Schallexplosion']={[0]=10.0,},
['Schattenbefehl']={[0]=15.0,},
['Schattenblitz']={[0]=6.0,},
['Schattenbrand']={[0]=5.0,},
['Schattenflamme']={[0]=10.0,},
['Schattenhornfluch']={[0]=300.0,},
['Schattenmal']={[0]=15.0,},
['Schattenpirscher-Stich']={[0]=5.0,},
['Schattenpirscher-Streich']={[0]=5.0,},
['Schattenschutz']={[0]=3600.0,},
['Schattenschwinges Schatten']={[0]=8.0,},
['Schattenschwäche']={[0]=45.0,},
['Schattenverwundbarkeit']={[0]=15.0,},
['Schattenwort: Schmerz']={[0]=18.0,},
['Scheckigen Terroreber zähmen']={[0]=900.0,},
['Schildhieb']={[0]=6.0,},
['Schildhieb - zum Schweigen gebracht']={[0]=3.0,},
['Schildschlag']={[0]=2.0,},
['Schlachtgewand der Macht']={[0]=6.0,},
['Schlachtruf']={[0]=900.0,},
['Schlachtruf der Drachentöter']={[0]=7200.0,},
['Schlachtstandarte']={[0]=3.0,},
['Schlaf']={[1]=20.0,[2]=30.0,[0]=30.0,},
['Schlafwandeln']={[0]=10.0,},
['Schlag des Ungleichgewichts']={[0]=6.0,},
['Schlamm']={[0]=3.0,},
['Schlammflossenfungus']={[0]=8.0,},
['Schlammtoxin']={[0]=45.0,},
['Schlangenbiss']={[0]=15.0,},
['Schleichende Pest']={[0]=20.0,},
['Schleichender Schimmelpilz']={[0]=60.0,},
['Schleichendes Gift']={[0]=30.0,},
['Schleichendes Gift II']={[0]=30.0,},
['Schleier der Dunkelheit']={[0]=7.0,},
['Schleier des Schattens']={[0]=15.0,},
['Schleimblitz']={[0]=6.0,},
['Schleimdurchfall']={[0]=1800.0,},
['Schleimexplosion']={[0]=5.0,},
['Schleimstrahl']={[0]=3.0,},
['Schlotternachtsschreck']={[0]=6.0,},
['Schmarotzerschlange']={[0]=10.0,},
['Schmutz schleudern']={[0]=10.0,},
['Schnapptritt']={[0]=2.0,},
['Schneeleoparden zähmen']={[0]=900.0,},
['Schockwelle']={[0]=2.0,},
['Schreckensgeheul']={[1]=10.0,[2]=15.0,[0]=15.0,},
['Schreckenskralle']={[0]=60.0,},
['Schreckliches Geheul']={[0]=3.0,},
['Schreckliches Kreischen']={[0]=4.0,},
['Schreddern']={[0]=12.0,},
['Schrei']={[0]=4.0,},
['Schrumpfen']={[0]=120.0,},
['Schrumpfstrahl']={[0]=20.0,},
['Schwacher Skorpiongifteffekt']={[0]=60.0,},
['Schwaches Gift']={[0]=12.0,},
['Schwachsinn']={[0]=30.0,},
['Schwachsinn II']={[0]=30.0,},
['Schwachsinn III']={[0]=30.0,},
['Schwanzpeitscher']={[0]=2.0,},
['Schwarze Fäulnis']={[0]=1800.0,},
['Schwarzer Pfeil']={[0]=30.0,},
['Schwarzer Schlamm']={[0]=120.0,},
['Schwere Wunde']={[0]=10.0,},
['Schwingen der Verzweiflung']={[0]=6.0,},
['Schwäche aufdecken']={[0]=5.0,},
['Schwächefieber']={[0]=21.0,},
['Schwächende Krankheit']={[0]=30.0,},
['Schwärende Bisse']={[0]=1800.0,},
['Schwärender Ausschlag']={[0]=1800.0,},
['Schädelkracher']={[0]=2.0,},
['Seele einfangen']={[0]=60.0,},
['Seelen-Siphon']={[0]=10.0,},
['Seelenbrand']={[0]=16.0,},
['Seelenbrecher']={[0]=30.0,},
['Seelendieb']={[0]=15.0,},
['Seelenkorruption']={[0]=15.0,},
['Seelensauger']={[0]=10.0,},
['Seelenzapfer']={[0]=12.0,},
['Segen des Kriegshäuptlings']={[0]=3600.0,},
['Segen des Siphons']={[0]=30.0,},
['Segen des schwarzen Marsches']={[0]=6.0,},
['Sehnenriss']={[0]=8.0,},
['Sehnenschnitt']={[0]=8.0,},
['Sengende Flammen']={[0]=9.0,},
['Sengschlag']={[0]=30.0,},
['Seuche']={[0]=40.0,},
['Seuchennebel']={[0]=8.0,},
['Seuchenwolke']={[0]=240.0,},
['Shazzrahs Fluch']={[0]=300.0,},
['Sicht verdunkeln']={[0]=12.0,},
['Sickernde Weide']={[0]=30.0,},
['Silithidenpocken']={[0]=1800.0,},
['Skorpidgift']={[0]=10.0,},
['Skorpidstich']={[0]=20.0,},
['Smariss\' Aura']={[0]=10.0,},
['Smite-Schmettern']={[0]=3.0,},
['Smite-Stampfen']={[0]=10.0,},
['Sol L']={[0]=5.0,},
['Solarplexus']={[0]=4.0,},
['Spinnengift']={[0]=30.0,},
['Spinnenkuss']={[0]=10.0,},
['Spinnennetz']={[0]=1.0,},
['Spott']={[0]=3.0,},
['Sprengfalle']={[0]=20.0,},
['Springflut']={[0]=4.0,},
['Spukgeister']={[0]=300.0,},
['Spukphantome']={[0]=300.0,},
['Spöttischer Schlag']={[0]=6.0,},
['Stachelstich']={[0]=300.0,},
['Stalvans Fluch']={[0]=600.0,},
['Stampfen']={[0]=10.0,},
['Starkes Spalten']={[0]=10.0,},
['Stasis']={[0]=15.0,},
['Stasis-Test']={[0]=5.0,},
['Statische Leitung']={[0]=15.0,},
['Staubwolke']={[0]=12.0,},
['Steif frieren']={[0]=10.0,},
['Sternenfeuerbetäubung']={[0]=3.0,},
['Sternensplitter']={[0]=6.0,},
['Stich des Flügeldrachen']={[0]=12.0,},
['Stichschatten']={[0]=1800.0,},
['Stichschuss']={[0]=15.0,},
['Stille']={[0]=5.0,},
['Stinkfalle']={[0]=120.0,},
['Strahlenvergiftung']={[0]=25.0,},
['Straucheln']={[0]=3.0,},
['Streitkolbenbetäubung']={[0]=3.0,},
['Streuschuss']={[0]=4.0,},
['Strigidkreischer zähmen']={[0]=900.0,},
['Sturmangriff']={[0]=4.0,},
['Sturmangriffsbetäubung']={[0]=1.0,},
['Sturmblitz']={[0]=5.0,},
['Sturmschlag']={[0]=12.0,},
['Sturzflieger zähmen']={[0]=900.0,},
['Stygischer Griff']={[0]=5.0,},
['Stärke entziehen']={[0]=300.0,},
['Sul\'thraze']={[0]=15.0,},
['Super Schrumpfstrahl']={[0]=20.0,},
['Sägebiss']={[0]=30.0,},
['Säure von Hakkar']={[0]=60.0,},
['Säuresalve']={[0]=25.0,},
['Säureschleim']={[0]=30.0,},
['Säurespritzer']={[0]=30.0,},
['Säurespucke']={[0]=30.0,},
['TWEEP']={[0]=11.0,},
['Taelans Leiden']={[0]=2.0,},
['Terrorknurren']={[0]=15.0,},
['Test Strike W35']={[0]=10.0,},
['Test Strike W50']={[0]=10.0,},
['Test Zerfetzen']={[0]=12.0,},
['Tetanus']={[0]=1200.0,},
['Teufelshundgeist einfangen']={[0]=9.0,},
['Teufelssaurierhaken']={[0]=10.0,},
['Teufelstampfen']={[0]=3.0,},
['Thelrin beschwören']={[0]=600.0,},
['Thistlenettles Zug']={[0]=8.0,},
['Thules Fluch']={[0]=240.0,},
['Thules Wut']={[0]=120.0,},
['Tiefe Wunde']={[0]=12.0,},
['Tiefer Schlaf']={[0]=10.0,},
['Tiefer Schlummer']={[0]=15.0,},
['Tier besänftigen']={[0]=15.0,},
['Timmys Fluch']={[0]=60.0,},
['Tintenschauer']={[0]=15.0,},
['Toben']={[0]=2.5,},
['Tod durch Ertrinken']={[0]=300.0,},
['Todesmantel']={[0]=3.0,},
['Tollkühnes Stürmen']={[0]=30.0,},
['Tollwut']={[0]=600.0,},
['Tollwütiges Maul']={[0]=30.0,},
['Tornado']={[0]=4.0,},
['Totenbett']={[0]=10.0,},
['Toxinspeichel']={[0]=120.0,},
['Toxinverpestung']={[0]=60.0,},
['Toxische Salve']={[0]=15.0,},
['Treant fangen']={[0]=5.0,},
['Trelanes Eiskälteberührung']={[0]=12.0,},
['Tritt']={[0]=5.0,},
['Tritt - zum Schweigen gebracht']={[0]=2.0,},
['Tunnelgräbersäure']={[0]=30.0,},
['Tödliche Wunde']={[0]=15.0,},
['Tödlicher Stich']={[0]=12.0,},
['Tödlicher Stoß']={[0]=10.0,},
['Tödliches Egelgift']={[0]=45.0,},
['Tödliches Gift']={[0]=12.0,},
['Tödliches Gift II']={[0]=12.0,},
['Tödliches Gift III']={[0]=12.0,},
['Tödliches Gift IV']={[0]=12.0,},
['Tödliches Gift V']={[0]=12.0,},
['Tödliches Spalten']={[0]=5.0,},
['Tödliches Toxin']={[0]=12.0,},
['Tödliches Toxin II']={[0]=12.0,},
['Tödliches Toxin III']={[0]=12.0,},
['Tödliches Toxin IV']={[0]=12.0,},
['Tödliches Toxin+']={[0]=180.0,},
['Umarmung der Witwe']={[0]=30.0,},
['Umschließende Gespinste']={[0]=6.0,},
['Umschlingen']={[0]=8.0,},
['Unausweichliches Schicksal']={[0]=10.0,},
['Unerträgliche Schmerzen']={[0]=180.0,},
['Ungeschick']={[0]=30.0,},
['Ungeschick II']={[0]=30.0,},
['Ungeschick III']={[0]=30.0,},
['Ungewollte Transformation']={[0]=30.0,},
['Unglaublicher Gestank']={[0]=6.0,},
['Unheiliger Fluch']={[0]=12.0,},
['Unterbrechen (PT)']={[0]=30.0,},
['Untertauchen']={[0]=60.0,},
['Untote fesseln']={[1]=30.0,[2]=40.0,[3]=50.0,[0]=50.0,},
['Untote vertreiben']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Uralte Hysterie']={[0]=900.0,},
['Uralte Verzweiflung']={[0]=5.0,},
['Uralter Schrecken']={[0]=900.0,},
['Uups!']={[0]=10.0,},
['Vampirumarmung']={[0]=60.0,},
['Veknisskatalysator']={[0]=30.0,},
['Verbannen']={[1]=20.0,[2]=30.0,[0]=30.0,},
['Verbesserte Kniesehne']={[0]=5.0,},
['Verbesserter Skorpidstich']={[0]=20.0,},
['Verbesserter erschütternder Schuss']={[0]=3.0,},
['Verbessertes Zurechtstutzen']={[0]=5.0,},
['Verbrennen']={[0]=60.0,},
['Verbrühen']={[0]=4.0,},
['Verderbnis']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=18.0,[5]=18.0,[6]=18.0,[7]=18.0,[0]=18.0,},
['Verderbnis der Erde']={[0]=10.0,},
['Verderbte Ausdauer']={[0]=4.0,},
['Verderbte Beweglichkeit']={[0]=4.0,},
['Verderbte Furcht']={[0]=2.0,},
['Verderbte Intelligenz']={[0]=4.0,},
['Verderbte Stärke']={[0]=4.0,},
['Verdorbene Heilung']={[0]=30.0,},
['Verdorbene Totems']={[0]=30.0,},
['Verdrehte Reflexion']={[0]=45.0,},
['Verfallene Beweglichkeit']={[0]=300.0,},
['Verfallene Stärke']={[0]=300.0,},
['Verfluchte Klinge']={[0]=20.0,},
['Verfluchtes Blut']={[0]=600.0,},
['Verführung']={[0]=15.0,},
['Vergiftete Harpune']={[0]=60.0,},
['Vergifteter Schuss']={[0]=75.0,},
['Verheeren']={[0]=2.0,},
['Verhexung']={[0]=10.0,},
['Verhexung der Schwäche']={[0]=120.0,},
['Verhexung von Jammal\'an']={[0]=10.0,},
['Verhexung von Rabenklaue']={[0]=30.0,},
['Verhinderungsruf']={[0]=60.0,},
['Verkrüppeln']={[0]=20.0,},
['Verkrüppelndes Gift']={[0]=12.0,},
['Verlangsamen']={[1]=10.0,[2]=15.0,[0]=15.0,},
['Verlangsamender Brühschlammer']={[0]=10.0,},
['Verlangsamendes Gift']={[0]=25.0,},
['Verlassene Fertigkeiten']={[0]=300.0,},
['Verletzender Schlag']={[0]=5.0,},
['Verpestende Fäulnis']={[0]=240.0,},
['Verschiedene beschwören']={[0]=600.0,},
['Verschlingende Seuche']={[0]=24.0,},
['Verschwinden']={[0]=20.0,},
['Verseuchung']={[0]=60.0,},
['Versklaven']={[0]=15.0,},
['Versteinern']={[0]=8.0,},
['Verwandlung']={[1]=20.0,[2]=30.0,[3]=40.0,[4]=50.0,[0]=50.0,},
['Verwandlung: Huhn']={[0]=10.0,},
['Verwandlung: Kuh']={[0]=50.0,},
['Verwandlung: Schaf']={[0]=10.0,},
['Verwandlung: Schildkröte']={[0]=50.0,},
['Verwandlung: Schwein']={[0]=50.0,},
['Verwandlungsstrahl']={[0]=4.0,},
['Verwesendes Fleisch']={[0]=10.0,},
['Verwirrtheit']={[0]=15.0,},
['Verwundbar']={[0]=3.0,},
['Verwunden']={[1]=9.0,[2]=12.0,[3]=15.0,[4]=18.0,[5]=21.0,[6]=21.0,[7]=21.0,[0]=21.0,},
['Verzauberndes Schlaflied']={[0]=10.0,},
['Verzehren']={[0]=15.0,},
['Verzögerung']={[0]=10.0,},
['Vipernbiss']={[0]=8.0,},
['Virulentes Gift']={[0]=30.0,},
['Voodooverhexung']={[0]=120.0,},
['Vorarbeitergift']={[0]=60.0,},
['Vorgeschmack des Wahnsinns']={[0]=3.0,},
['Waffe ergreifen']={[0]=15.0,},
['Wahnsinn verursachen']={[0]=6.0,},
['Wahre Erfüllung']={[0]=20.0,},
['Waldweberlauerer zähmen']={[0]=900.0,},
['Wandernde Seuche']={[0]=300.0,},
['Wankelmut']={[0]=60.0,},
['Wasseratmung']={[0]=600.0,},
['Wassergestank']={[0]=3600.0,},
['Wehklagen der Banshee']={[0]=12.0,},
['Welkberührung']={[0]=120.0,},
['Welken']={[0]=21.0,},
['Welkende Hitze']={[0]=900.0,},
['Welkendes Gift']={[0]=180.0,},
['Welkstoß']={[0]=8.0,},
['Wellenbrecher']={[0]=10.0,},
['Wilde Attacke']={[0]=4.0,},
['Wilde Magie']={[0]=30.0,},
['Wilde Verwandlung']={[0]=20.0,},
['Wilder Angriff']={[0]=5.0,},
['Wilder Sturmangriff']={[0]=30.0,},
['Wilder Sturmangriff II']={[0]=30.0,},
['Wilder Sturmangriff III']={[0]=30.0,},
['Wilder Sturmangriff IV']={[0]=30.0,},
['Wilder Sturmangriff V']={[0]=30.0,},
['Wildtier zähmen']={[0]=20.0,},
['Wildtier ängstigen']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Wille von Hakkar']={[0]=20.0,},
['Willensverfall']={[0]=1200.0,},
['Windschnitter']={[0]=20.0,},
['Windsor gibt Pferd frei DND']={[0]=55.0,},
['Windstoß']={[0]=4.0,},
['Winterkälte']={[0]=15.0,},
['Winterschlaf']={[1]=20.0,[2]=30.0,[3]=40.0,[0]=40.0,},
['Wirbeltrip']={[0]=2.0,},
['Wirbelwind']={[0]=2.0,},
['Witwenbiss']={[0]=4.0,},
['Wucherwurzeln']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=21.0,[5]=24.0,[6]=27.0,[0]=27.0,},
['Wunde']={[0]=25.0,},
['Wundgift']={[0]=15.0,},
['Würgeseuche']={[0]=300.0,},
['Wütender Biss']={[0]=6.0,},
['Wüterich anlocken']={[0]=2.0,},
['Zangengriff']={[0]=15.0,},
['Zauber-Verwundbarkeit']={[0]=5.0,},
['Zauberschutz von Laze']={[0]=3.0,},
['Zaubersperre']={[1]=6.0,[2]=8.0,[0]=8.0,},
['Zeitgeber für Kristallkörper']={[0]=7200.0,},
['Zeitraffer']={[0]=8.0,},
['Zerfetzen']={[0]=12.0,},
['Zerfleischen']={[0]=15.0,},
['Zerhäckseln']={[0]=6.0,},
['Zermalmen']={[0]=2.0,},
['Zerreißendes Spalten']={[0]=30.0,},
['Zerschmettern']={[0]=2.0,},
['Zerstückeln']={[0]=10.0,},
['Zielattrappe Spawneffekt']={[0]=5.0,},
['Zorn der Winde']={[0]=12.0,},
['Zorn des Seuchenfürsten']={[0]=10.0,},
['Zuchtmeister der Dunkeleisenzwerge-Tod']={[0]=6.0,},
['Zuls Aura herstellen']={[0]=30.0,},
['Zurechtstutzen']={[0]=10.0,},
['Zuschlagen']={[0]=4.0,},
['scaler test']={[0]=10.0,},
['Ätzende Giftspucke']={[0]=10.0,},
['Ätzende Säure']={[0]=300.0,},
['Ätzende Säurespucke']={[0]=10.0,},
['Ätzender Brühschlammer']={[0]=60.0,},
['Ätzgift']={[0]=30.0,},
['Überlebensinstinkt']={[0]=2.0,},
['Überraschungs-Angriff']={[0]=2.5,},
}
-- custom entries not detected by DBC extractor
pfUI_locale["deDE"]["debuffs"]['Kältekegel']={[0]=8.0,} -- Cone of Cold
-954
View File
@@ -1,16 +1,5 @@
pfUI_locale["enUS"] = {}
pfUI_locale["enUS"]["class"] = {
["Warlock"] = "WARLOCK",
["Warrior"] = "WARRIOR",
["Hunter"] = "HUNTER",
["Mage"] = "MAGE",
["Priest"] = "PRIEST",
["Druid"] = "DRUID",
["Paladin"] = "PALADIN",
["Shaman"] = "SHAMAN",
["Rogue"] = "ROGUE",
}
pfUI_locale["enUS"]["healduration"] = {
["Rejuvenation"] = "Increases the duration of your Rejuvenation spell by 3 sec.",
@@ -23,15 +12,6 @@ pfUI_locale["enUS"]["customcast"] = {
}
pfUI_locale["enUS"]["dyndebuffs"] = {
["Rupture"] = "Rupture",
["Kidney Shot"] = "Kidney Shot",
["Rend"] = "Rend",
["Shadow Word: Pain"] = "Shadow Word: Pain",
["Demoralizing Shout"] = "Demoralizing Shout",
["Frostbolt"] = "Frostbolt",
["Gouge"] = "Gouge",
}
pfUI_locale["enUS"]["judgements"] = {
["Judgement of Justice"] = true,
@@ -47,941 +27,7 @@ pfUI_locale["enUS"]["resurrections"] = {
["Ancestral Spirit"] = true,
}
pfUI_locale["enUS"]["debuffs"] = {
['AE Charm']={[0]=300.0,},
['Abomination Spit']={[0]=10.0,},
['Acid Slime']={[0]=30.0,},
['Acid Spit']={[0]=30.0,},
['Acid Splash']={[0]=30.0,},
['Acid Spray']={[0]=10.0,},
['Acid Volley']={[0]=25.0,},
['Acid of Hakkar']={[0]=60.0,},
['Advanced Target Dummy Spawn Effect']={[0]=10.0,},
['Aftermath']={[0]=5.0,},
['Agility VIII']={[0]=3600.0,},
['Agonizing Pain']={[0]=15.0,},
['Air Bubbles']={[0]=10.0,},
['Amplify Damage']={[0]=10.0,},
['Amplify Flames']={[0]=30.0,},
['Ancient Despair']={[0]=5.0,},
['Ancient Dread']={[0]=900.0,},
['Ancient Hysteria']={[0]=900.0,},
['Anub\'Rekhan\'s Aura']={[0]=5.0,},
['Aquatic Miasma']={[0]=3600.0,},
['Arantir\'s Rage']={[0]=6.0,},
['Arcane Burst']={[0]=8.0,},
['Arcane Intellect']={[0]=1800.0,},
['Arcane Missiles']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=5.0,[5]=5.0,[6]=5.0,[7]=5.0,[8]=5.0,[0]=5.0,},
['Arcane Weakness']={[0]=45.0,},
['Armor IV']={[0]=3600.0,},
['Armor Shatter']={[0]=45.0,},
['Arugal\'s Curse']={[0]=10.0,},
['Arugal\'s Gift']={[0]=300.0,},
['Aspect of Arlokk']={[0]=2.0,},
['Aspect of Jeklik']={[0]=5.0,},
['Aspect of Mar\'li']={[0]=6.0,},
['Aspect of Venoxis']={[0]=10.0,},
['Atal\'ai Poison']={[0]=30.0,},
['Attack Order']={[0]=10.0,},
['Attract Rager']={[0]=2.0,},
['Aura Leech (PT)']={[0]=15.0,},
['Aura of Agony']={[0]=8.0,},
['Aura of Battle']={[0]=10.0,},
['Aura of Command']={[0]=30.0,},
['Aura of Fear']={[0]=3.0,},
['Aural Shock']={[0]=300.0,},
['Awaken Earthen Guardians']={[0]=5.0,},
['Axe Flurry']={[0]=2.0,},
['Axe Toss']={[0]=3.0,},
['Azrethoc\'s Stomp']={[0]=5.0,},
['Backhand']={[0]=2.0,},
['Balnazzar Transform Stun']={[0]=5.0,},
['Baneful Poison']={[0]=120.0,},
['Banish']={[1]=20.0,[2]=30.0,[0]=30.0,},
['Banshee Curse']={[0]=12.0,},
['Banshee Shriek']={[0]=5.0,},
['Barbed Sting']={[0]=300.0,},
['Barrel Explode']={[0]=3.0,},
['Bash']={[1]=2.0,[2]=3.0,[3]=4.0,[0]=4.0,},
['Battle Command']={[0]=6.0,},
['Battle Net']={[0]=10.0,},
['Battle Shout']={[0]=900.0,},
['Battle Standard']={[0]=3.0,},
['Battlegear of Might']={[0]=6.0,},
['Befuddlement']={[0]=15.0,},
['Bellowing Roar']={[0]=3.0,},
['Berserk']={[0]=30.0,},
['Biletoad Infection']={[0]=180.0,},
['Black Arrow']={[0]=30.0,},
['Black March Blessing']={[0]=6.0,},
['Black Rot']={[0]=1800.0,},
['Black Sludge']={[0]=120.0,},
['Blackout']={[0]=3.0,},
['Blast Wave']={[0]=6.0,},
['Blaze']={[0]=30.0,},
['Bleakwood Curse']={[0]=60.0,},
['Blessing of Nordrassil']={[0]=10.0,},
['Blight']={[0]=60.0,},
['Blind']={[0]=10.0,},
['Blink']={[0]=1.0,},
['Blood Howl']={[0]=15.0,},
['Blood Siphon']={[0]=8.0,},
['Bloodfang']={[0]=6.0,},
['Bloodlord\'s Aura']={[0]=5.0,},
['Bloodlust']={[0]=15.0,},
['Bloodpetal Poison']={[0]=30.0,},
['Boar Charge']={[0]=1.0,},
['Bone Smelt']={[0]=20.0,},
['Bottle of Poison']={[0]=30.0,},
['Boulder']={[0]=10.0,},
['Brain Damage']={[0]=30.0,},
['Brain Hacker']={[0]=30.0,},
['Breath of Sargeras']={[0]=90.0,},
['Brood Affliction: Black']={[0]=600.0,},
['Brood Affliction: Blue']={[0]=600.0,},
['Brood Affliction: Bronze']={[0]=600.0,},
['Brood Affliction: Green']={[0]=600.0,},
['Brood Affliction: Red']={[0]=600.0,},
['Brood Power: Blue']={[0]=6.0,},
['Brood Power: Bronze']={[0]=5.0,},
['Brood Power: Green']={[0]=6.0,},
['Brood Power: Red']={[0]=5.0,},
['Bruising Blow']={[0]=5.0,},
['Burning Adrenaline']={[0]=20.0,},
['Burning Winds']={[0]=8.0,},
['Cadaver Worms']={[0]=600.0,},
['Call of the Grave']={[0]=60.0,},
['Cantation of Manifestation']={[0]=600.0,},
['Capture Felhound Spirit']={[0]=9.0,},
['Capture Infernal Spirit']={[0]=9.0,},
['Capture Spirit']={[0]=9.0,},
['Capture Treant']={[0]=5.0,},
['Cause Insanity']={[0]=6.0,},
['Cauterizing Flames']={[0]=900.0,},
['Chains of Ice']={[1]=15.0,[2]=20.0,[0]=20.0,},
['Chains of Kel\'Thuzad']={[0]=20.0,},
['Challenging Roar']={[0]=6.0,},
['Challenging Shout']={[0]=6.0,},
['Charge']={[0]=4.0,},
['Charge Stun']={[0]=1.0,},
['Cheap Shot']={[0]=4.0,},
['Chemical Peel']={[0]=10.0,},
['Chill']={[0]=30.0,},
['Chill Nova']={[0]=10.0,},
['Chilled']={[0]=1.5,},
['Chilling Breath']={[0]=12.0,},
['Chilling Touch']={[0]=8.0,},
['Chromatic Mutation']={[0]=300.0,},
['Claw Grasp']={[0]=4.0,},
['Clear All Shackels']={[0]=1.0,},
['Cleave Armor']={[0]=15.0,},
['Clenched Pinchers']={[0]=15.0,},
['Cold Eye']={[0]=15.0,},
['Concussion Blow']={[0]=5.0,},
['Concussive Shot']={[0]=4.0,},
['Conflagration']={[0]=10.0,},
['Consume']={[0]=15.0,},
['Contagion of Rot']={[0]=240.0,},
['Control Machine']={[0]=60.0,},
['Corrosive Acid']={[0]=300.0,},
['Corrosive Acid Spit']={[0]=10.0,},
['Corrosive Ooze']={[0]=60.0,},
['Corrosive Poison']={[0]=30.0,},
['Corrosive Venom Spit']={[0]=10.0,},
['Corrupted Agility']={[0]=4.0,},
['Corrupted Fear']={[0]=2.0,},
['Corrupted Healing']={[0]=30.0,},
['Corrupted Intellect']={[0]=4.0,},
['Corrupted Stamina']={[0]=4.0,},
['Corrupted Strength']={[0]=4.0,},
['Corrupted Totems']={[0]=30.0,},
['Corruption']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=18.0,[5]=18.0,[6]=18.0,[7]=18.0,[0]=18.0,},
['Corruption of the Earth']={[0]=10.0,},
['Counterattack']={[0]=5.0,},
['Counterspell']={[0]=10.0,},
['Counterspell - Silenced']={[0]=4.0,},
['Cowering Roar']={[0]=5.0,},
['Cozy Fire']={[0]=60.0,},
['Crash of Waves']={[0]=10.0,},
['Create Heart of Hakkar Explosion']={[0]=30.0,},
['Create Heart of Hakkar Rift']={[0]=30.0,},
['Create Heart of Hakkar Summon Circle']={[0]=30.0,},
['Create Zul\'s Aura']={[0]=30.0,},
['Creature of Nightmare']={[0]=30.0,},
['Creeper Venom']={[0]=300.0,},
['Creeping Mold']={[0]=60.0,},
['Creeping Plague']={[0]=20.0,},
['Cripple']={[0]=20.0,},
['Crippling Poison']={[0]=12.0,},
['Crowd Pummel']={[0]=5.0,},
['Crusader Strike']={[0]=30.0,},
['Crusader\'s Hammer']={[0]=4.0,},
['Crush Armor']={[0]=30.0,},
['Crystal Gaze']={[0]=6.0,},
['Crystal Yield']={[0]=120.0,},
['Crystalline Slumber']={[0]=15.0,},
['Curse of Agony']={[0]=24.0,},
['Curse of Blood']={[0]=600.0,},
['Curse of Doom']={[0]=60.0,},
['Curse of Exhaustion']={[0]=12.0,},
['Curse of Hakkar']={[0]=120.0,},
['Curse of Idiocy']={[0]=120.0,},
['Curse of Impotence']={[0]=120.0,},
['Curse of Mending']={[0]=180.0,},
['Curse of Recklessness']={[0]=120.0,},
['Curse of Shadow']={[0]=300.0,},
['Curse of Stalvan']={[0]=600.0,},
['Curse of Thorns']={[0]=180.0,},
['Curse of Thule']={[0]=240.0,},
['Curse of Timmy']={[0]=60.0,},
['Curse of Tongues']={[0]=30.0,},
['Curse of Tuten\'kash']={[0]=900.0,},
['Curse of Vengeance']={[0]=900.0,},
['Curse of Weakness']={[0]=120.0,},
['Curse of the Bleakheart']={[0]=180.0,},
['Curse of the Darkmaster']={[0]=60.0,},
['Curse of the Deadwood']={[0]=120.0,},
['Curse of the Dreadmaul']={[0]=60.0,},
['Curse of the Elemental Lord']={[0]=60.0,},
['Curse of the Elements']={[0]=300.0,},
['Curse of the Eye']={[0]=120.0,},
['Curse of the Fallen Magram']={[0]=900.0,},
['Curse of the Firebrand']={[0]=300.0,},
['Curse of the Plague Rat']={[0]=14.0,},
['Curse of the Plaguebringer']={[0]=10.0,},
['Curse of the Shadowhorn']={[0]=300.0,},
['Curse of the Tribes']={[0]=1800.0,},
['Cursed Blade']={[0]=20.0,},
['Cursed Blood']={[0]=600.0,},
['Damage Shield']={[0]=10.0,},
['Dark Energy']={[0]=300.0,},
['Dark Iron Taskmaster Death']={[0]=6.0,},
['Dark Plague']={[0]=90.0,},
['Dark Sludge']={[0]=300.0,},
['Darken Vision']={[0]=12.0,},
['Daunting Growl']={[0]=30.0,},
['Dazed']={[0]=4.0,},
['Deadly Leech Poison']={[0]=45.0,},
['Deadly Poison']={[0]=12.0,},
['Deadly Poison II']={[0]=12.0,},
['Deadly Poison III']={[0]=12.0,},
['Deadly Poison IV']={[0]=12.0,},
['Deadly Poison V']={[0]=12.0,},
['Deadly Toxin']={[0]=12.0,},
['Deadly Toxin II']={[0]=12.0,},
['Deadly Toxin III']={[0]=12.0,},
['Deadly Toxin IV']={[0]=12.0,},
['Deafening Screech']={[0]=8.0,},
['Death Bed']={[0]=10.0,},
['Death Coil']={[0]=3.0,},
['Debilitate']={[0]=15.0,},
['Debilitating Charge']={[0]=8.0,},
['Debilitating Touch']={[0]=120.0,},
['Decayed Agility']={[0]=300.0,},
['Decayed Strength']={[0]=300.0,},
['Decimate']={[0]=3.0,},
['Decrepit Fever']={[0]=21.0,},
['Deep Sleep']={[0]=10.0,},
['Deep Slumber']={[0]=15.0,},
['Deep Wound']={[0]=12.0,},
['Defile']={[0]=10.0,},
['Defiling Aura']={[0]=5.0,},
['Delusions of Jin\'do']={[0]=20.0,},
['Demonfork']={[0]=25.0,},
['Demoralize']={[0]=30.0,},
['Demoralizing Roar']={[0]=30.0,},
['Demoralizing Shout']={[0]=30.0,},
['Detect Greater Invisibility']={[0]=600.0,},
['Detect Magic']={[0]=120.0,},
['Detonate Mana']={[0]=5.0,},
['Devilsaur Barb']={[0]=10.0,},
['Devouring Plague']={[0]=24.0,},
['Dire Growl']={[0]=15.0,},
['Dirk\'s Rememberin\' Poison']={[0]=30.0,},
['Disarm']={[0]=10.0,},
['Discombobulate']={[0]=12.0,},
['Disease Buffet']={[0]=20.0,},
['Diseased Shot']={[0]=300.0,},
['Diseased Slime']={[0]=120.0,},
['Diseased Spit']={[0]=10.0,},
['Disjunction']={[0]=300.0,},
['Dismember']={[0]=10.0,},
['Dismounting Shot']={[0]=2.0,},
['Dissolve Armor']={[0]=20.0,},
['Distract Move']={[0]=7.0,},
['Distracting Pain']={[0]=15.0,},
['Distracting Spit']={[0]=15.0,},
['Divine Spirit']={[0]=1800.0,},
['Dominate Mind']={[0]=10.0,},
['Domination']={[0]=15.0,},
['Dominion of Soul']={[0]=60.0,},
['Drain Life']={[0]=5.0,},
['Drain Mana']={[0]=5.0,},
['Drain Soul']={[0]=15.0,},
['Draw Spirit']={[0]=5.0,},
['Draw of Thistlenettle']={[0]=8.0,},
['Dreadful Fright']={[0]=5.0,},
['Dredge Sickness']={[0]=300.0,},
['Drowning Death']={[0]=300.0,},
['Druid\'s Slumber']={[0]=15.0,},
['Dust Cloud']={[0]=12.0,},
['Eagle Claw']={[0]=15.0,},
['Earth Shock']={[0]=2.0,},
['Earthbind']={[0]=5.0,},
['Earthborer Acid']={[0]=30.0,},
['Earthgrab']={[0]=4.0,},
['Echoing Roar']={[0]=20.0,},
['Ectoplasmic Distiller']={[0]=3.0,},
['Egg Explosion']={[0]=3.0,},
['Electrified Net']={[0]=10.0,},
['Elemental Fire']={[0]=8.0,},
['Elemental Vulnerability']={[0]=30.0,},
['Elixir of the Giants']={[0]=1200.0,},
['Emeriss Aura']={[0]=10.0,},
['Encage']={[0]=30.0,},
['Encasing Webs']={[0]=6.0,},
['Enchanting Lullaby']={[0]=10.0,},
['Encouragement']={[0]=1800.0,},
['Enervate']={[0]=10.0,},
['Enfeeble']={[0]=120.0,},
['Engulfing Flames']={[0]=6.0,},
['Enraging Bite']={[0]=6.0,},
['Enslave']={[0]=15.0,},
['Enslave Demon']={[0]=300.0,},
['Entangle']={[0]=8.0,},
['Entangling Roots']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=21.0,[5]=24.0,[6]=27.0,[0]=27.0,},
['Entrapment']={[0]=5.0,},
['Enveloping Web']={[0]=8.0,},
['Enveloping Webs']={[0]=8.0,},
['Enveloping Winds']={[0]=10.0,},
['Eskhandar\'s Rake']={[0]=30.0,},
['Essence of the Red']={[0]=180.0,},
['Explode']={[0]=2.5,},
['Explode Bug']={[0]=4.0,},
['Explosive Trap Effect']={[0]=20.0,},
['Expose Armor']={[0]=30.0,},
['Expose Weakness']={[0]=5.0,},
['Extract Essence']={[0]=12.0,},
['Eye Peck']={[0]=12.0,},
['Eye of Immol\'thar']={[0]=4.0,},
['Faerie Fire']={[0]=40.0,},
['Faerie Fire (Feral)']={[0]=40.0,},
['Fang of the Crystal Spider']={[0]=10.0,},
['Fatal Sting']={[0]=12.0,},
['Fear']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Fear (NYI)']={[0]=15.0,},
['Feeblemind']={[0]=30.0,},
['Feeblemind II']={[0]=30.0,},
['Feeblemind III']={[0]=30.0,},
['Fel Stomp']={[0]=3.0,},
['Feral Charge Effect']={[0]=4.0,},
['Festering Bites']={[0]=1800.0,},
['Festering Rash']={[0]=1800.0,},
['Festival Fortune!']={[0]=1800.0,},
['Fevered Fatigue']={[0]=1800.0,},
['Fevered Plague']={[0]=180.0,},
['Fire Festival Fortitude']={[0]=3600.0,},
['Fire Festival Fury']={[0]=3600.0,},
['Fire Protection']={[0]=3600.0,},
['Fire Vulnerability']={[0]=30.0,},
['Fire Weakness']={[0]=45.0,},
['Fireball']={[1]=4.0,[2]=6.0,[3]=6.0,[4]=8.0,[5]=8.0,[6]=8.0,[7]=8.0,[8]=8.0,[9]=8.0,[10]=8.0,[11]=8.0,[12]=8.0,[0]=8.0,},
['Fist of Ragnaros']={[0]=5.0,},
['Five Fat Finger Exploding Heart Technique']={[0]=30.0,},
['Fixate']={[0]=10.0,},
['Flame Buffet']={[0]=45.0,},
['Flame Lash']={[0]=45.0,},
['Flame Shock']={[0]=12.0,},
['Flameshocker\'s Revenge']={[0]=2.0,},
['Flameshocker\'s Touch']={[0]=3.0,},
['Flash Freeze']={[0]=5.0,},
['Flesh Rot']={[0]=10.0,},
['Forsaken Skills']={[0]=300.0,},
['Foul Chill']={[0]=120.0,},
['Frailty']={[0]=60.0,},
['Freeze']={[0]=15.0,},
['Freeze III PROC']={[0]=5.0,},
['Freeze Solid']={[0]=10.0,},
['Freezing Claw']={[0]=5.0,},
['Freezing Trap Effect']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Frenzied Command']={[0]=10.0,},
['Frenzied Dive']={[0]=2.0,},
['Frightalon']={[0]=60.0,},
['Frightening Shriek']={[0]=6.0,},
['Frost']={[0]=10.0,},
['Frost Aura']={[0]=5.0,},
['Frost Burn']={[0]=15.0,},
['Frost Hold']={[0]=10.0,},
['Frost Nova']={[0]=8.0,},
['Frost Protection ']={[0]=3600.0,},
['Frost Shock']={[0]=8.0,},
['Frost Shot']={[0]=10.0,},
['Frost Weakness']={[0]=45.0,},
['Frostbite']={[0]=5.0,},
['Frostbolt']={[1]=5.0,[2]=6.0,[3]=6.0,[4]=7.0,[5]=7.0,[6]=8.0,[7]=8.0,[8]=9.0,[9]=9.0,[10]=9.0,[11]=9.0,[0]=9.0,},
['Frostbolt Volley']={[0]=8.0,},
['Frostbrand Attack']={[0]=8.0,},
['Fumble']={[0]=30.0,},
['Fumble II']={[0]=30.0,},
['Fumble III']={[0]=30.0,},
['Fungal Bloom']={[0]=90.0,},
['Garrote']={[0]=18.0,},
['Gehennas\' Curse']={[0]=300.0,},
['Geyser']={[0]=5.0,},
['Ghostly Strike']={[0]=7.0,},
['Ghoul Plague']={[0]=1800.0,},
['Ghoul Rot']={[0]=600.0,},
['Gift of Arthas']={[0]=180.0,},
['Gizlock\'s Dummy Taunt Effect']={[0]=5.0,},
['Glacial Roar']={[0]=3.0,},
['Glimpse of Madness']={[0]=3.0,},
['Gnarlpine Vengeance']={[0]=6.0,},
['Gnomish Death Ray']={[0]=4.0,},
['Gnomish Mind Control Cap']={[0]=20.0,},
['Golemagg\'s Trust']={[0]=2.0,},
['Gore']={[0]=15.0,},
['Gouge']={[0]=4.0,},
['Grab Weapon']={[0]=15.0,},
['Grasping Vines']={[0]=10.0,},
['Greater Arcane Elixir']={[0]=1800.0,},
['Greater Polymorph']={[0]=20.0,},
['Grip of Command']={[0]=10.0,},
['Ground Smash']={[0]=3.0,},
['Ground Stomp']={[0]=5.0,},
['Ground Tremor']={[0]=2.0,},
['Growl']={[0]=3.0,},
['Gust of Wind']={[0]=4.0,},
['Gutgore Ripper']={[0]=30.0,},
['Hail Storm']={[0]=3.0,},
['Hallow\'s End Fright']={[0]=6.0,},
['Hammer of Justice']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=6.0,[0]=6.0,},
['Hamstring']={[0]=15.0,},
['Hand Snap']={[0]=8.0,},
['Hand of Ragnaros']={[0]=2.0,},
['Hand of Thaurissan']={[0]=5.0,},
['Harass']={[1]=10.0,[2]=20.0,[3]=30.0,[0]=30.0,},
['Harsh Winds']={[0]=1.0,},
['Harvest Soul']={[0]=60.0,},
['Hate to Zero']={[0]=1.7,},
['Haunting Phantoms']={[0]=300.0,},
['Haunting Spirits']={[0]=300.0,},
['Head Butt']={[0]=2.0,},
['Head Crack']={[0]=20.0,},
['Head Smash']={[0]=2.0,},
['Health II']={[0]=3600.0,},
['Hemorrhage']={[0]=15.0,},
['Hex']={[0]=10.0,},
['Hex of Jammal\'an']={[0]=10.0,},
['Hex of Ravenclaw']={[0]=30.0,},
['Hex of Weakness']={[0]=120.0,},
['Hibernate']={[1]=20.0,[2]=30.0,[3]=40.0,[0]=40.0,},
['Highlord\'s Justice']={[0]=5.0,},
['Hive\'Zara Catalyst']={[0]=30.0,},
['Holy Blast']={[0]=4.0,},
['Holy Fire']={[0]=10.0,},
['Holy Protection ']={[0]=3600.0,},
['Holy Sunder']={[0]=60.0,},
['Holy Word: Fortitude']={[0]=1800.0,},
['Hooked Net']={[0]=10.0,},
['Howl of Terror']={[1]=10.0,[2]=15.0,[0]=15.0,},
['Howling Blade']={[0]=30.0,},
['Howling Rage']={[0]=300.0,},
['Hunter Epic Anti-Cheat DND']={[0]=60.0,},
['Hunter\'s Mark']={[0]=120.0,},
['Ice Blast']={[0]=10.0,},
['Ice Bolt Prot']={[0]=5.0,},
['Ice Claw']={[0]=6.0,},
['Ice Nova']={[0]=2.0,},
['Ice Tomb']={[0]=10.0,},
['Icebolt']={[0]=2.0,},
['Icicle']={[0]=10.0,},
['Icy Grasp']={[0]=5.0,},
['Ignite']={[0]=4.0,},
['Ignite Flesh']={[0]=60.0,},
['Ignite Mana']={[0]=300.0,},
['Immolate']={[0]=15.0,},
['Immolation Trap Effect']={[0]=15.0,},
['Immunity']={[0]=1800.0,},
['Impact']={[0]=2.0,},
['Impale']={[0]=9.0,},
['Impending Doom']={[0]=10.0,},
['Improved Concussive Shot']={[0]=3.0,},
['Improved Hamstring']={[0]=5.0,},
['Improved Scorpid Sting']={[0]=20.0,},
['Improved Wing Clip']={[0]=5.0,},
['Incapacitating Shout']={[0]=60.0,},
['Incinerate']={[0]=60.0,},
['Incite Flames']={[0]=60.0,},
['Inevitable Doom']={[0]=10.0,},
['Infected Bite']={[0]=180.0,},
['Infected Spine']={[0]=300.0,},
['Infected Wound']={[0]=300.0,},
['Inferno Effect']={[0]=2.0,},
['Inferno Shell']={[0]=10.0,},
['Ink Spray']={[0]=15.0,},
['Insect Swarm']={[0]=12.0,},
['Intellect IX']={[0]=3600.0,},
['Intercept Stun']={[0]=3.0,},
['Interrupt (PT)']={[0]=30.0,},
['Intimidating Growl']={[0]=5.0,},
['Intimidating Roar']={[0]=8.0,},
['Intimidating Shout']={[0]=8.0,},
['Intimidation']={[0]=3.0,},
['Intoxicating Venom']={[0]=120.0,},
['Involuntary Transformation']={[0]=30.0,},
['Irradiated']={[0]=60.0,},
['Itch']={[0]=8.0,},
['Jeff Dummy 1']={[0]=30.0,},
['Jeff Dummy 2']={[0]=30.0,},
['Judge\'s Gavel']={[0]=10.0,},
['Judgement of Justice']={[0]=10.0,},
['Judgement of Light']={[0]=10.0,},
['Judgement of Wisdom']={[0]=10.0,},
['Judgement of the Crusader']={[0]=10.0,},
['Keg Trap']={[0]=2.0,},
['Kick']={[0]=5.0,},
['Kick - Silenced']={[0]=2.0,},
['Kidney Shot']={[1]=0,[2]=1.0,},
['Knockdown']={[0]=2.0,},
['Knockout']={[0]=6.0,},
['Kodo Stomp']={[0]=3.0,},
['Lacerate']={[0]=8.0,},
['Lacerations']={[0]=60.0,},
['Lag']={[0]=10.0,},
['Larva Goo']={[0]=6.0,},
['Lash']={[0]=2.0,},
['Leech Poison']={[0]=40.0,},
['Lethal Toxin']={[0]=180.0,},
['Life Drain']={[0]=12.0,},
['Lightwell']={[0]=180.0,},
['Living Bomb']={[0]=8.0,},
['Localized Toxin']={[0]=60.0,},
['Locust Swarm']={[0]=6.0,},
['Long Daze']={[0]=6.0,},
['Low Swipe']={[0]=12.0,},
['Lucifron\'s Curse']={[0]=300.0,},
['Lunaclaw Spirit']={[0]=120.0,},
['Lunar Fortune']={[0]=1800.0,},
['Mace Stun Effect']={[0]=3.0,},
['Magenta Cap Sickness']={[0]=1200.0,},
['Maggot Goo']={[0]=6.0,},
['Maggot Slime']={[0]=1800.0,},
['Magic Reflection']={[0]=10.0,},
['Magma Shackles']={[0]=15.0,},
['Magma Spit']={[0]=30.0,},
['Magma Splash']={[0]=30.0,},
['Malown\'s Slam']={[0]=2.0,},
['Mana Burn']={[0]=8.0,},
['Mangle']={[0]=2.0,},
['Marduk\'s Curse']={[0]=5.0,},
['Mark of Arlokk']={[0]=120.0,},
['Mark of Blaumeux']={[0]=75.0,},
['Mark of Detonation']={[0]=30.0,},
['Mark of Flames']={[0]=120.0,},
['Mark of Frost']={[0]=12.0,},
['Mark of Kazzak']={[0]=60.0,},
['Mark of Korth\'azz']={[0]=75.0,},
['Mark of Mograine']={[0]=75.0,},
['Mark of Nature']={[0]=12.0,},
['Mark of Zeliek']={[0]=75.0,},
['Mark of the Wild']={[0]=1800.0,},
['Mass Healing']={[0]=12.0,},
['Massive Tremor']={[0]=2.0,},
['Maul']={[0]=2.0,},
['Melt Armor']={[0]=60.0,},
['Melt Ore']={[0]=20.0,},
['Mental Domination']={[0]=120.0,},
['Might of Shahram']={[0]=5.0,},
['Mind Control']={[0]=60.0,},
['Mind Flay']={[0]=3.0,},
['Mind Rot']={[0]=30.0,},
['Mind Shatter']={[0]=3.0,},
['Mind Soothe']={[0]=15.0,},
['Mind Tremor']={[0]=600.0,},
['Mind-numbing Poison']={[0]=10.0,},
['Mind-numbing Poison II']={[0]=12.0,},
['Mind-numbing Poison III']={[0]=14.0,},
['Minor Scorpion Venom Effect']={[0]=60.0,},
['Mirefin Fungus']={[0]=8.0,},
['Miring Mud']={[0]=5.0,},
['Mirkfallon Fungus']={[0]=2700.0,},
['Mobility Malfunction']={[0]=20.0,},
['Mocking Blow']={[0]=6.0,},
['Molten Metal']={[0]=15.0,},
['Moonfire']={[1]=9.0,[2]=12.0,[3]=12.0,[4]=12.0,[5]=12.0,[6]=12.0,[7]=12.0,[8]=12.0,[9]=12.0,[10]=12.0,[0]=12.0,},
['Mortal Cleave']={[0]=5.0,},
['Mortal Strike']={[0]=10.0,},
['Mortal Wound']={[0]=15.0,},
['Moss Covered Feet']={[0]=180.0,},
['Moss Covered Hands']={[0]=180.0,},
['Muculent Fever']={[0]=600.0,},
['Muscle Tear']={[0]=5.0,},
['Mutate Bug']={[0]=240.0,},
['Mutating Injection']={[0]=10.0,},
['Naralex\'s Nightmare']={[0]=15.0,},
['Naraxis Web']={[0]=30.0,},
['Nature Protection ']={[0]=3600.0,},
['Nature Weakness']={[0]=45.0,},
['Necrotic Poison']={[0]=30.0,},
['Net']={[0]=10.0,},
['Net Guard']={[0]=20.0,},
['Net-o-Matic']={[0]=10.0,},
['Noxious Catalyst']={[0]=120.0,},
['Nullify']={[0]=8.0,},
['Numbing Pain']={[0]=10.0,},
['Oops!']={[0]=10.0,},
['Open Wound Effect']={[0]=8.0,},
['Overseer\'s Poison']={[0]=60.0,},
['Overwhelming Stench']={[0]=6.0,},
['Pacify']={[0]=10.0,},
['Panic']={[0]=8.0,},
['Paralyze']={[0]=30.0,},
['Paralyzing Poison']={[0]=8.0,},
['Parasite']={[0]=75.0,},
['Parasitic Serpent']={[0]=10.0,},
['Pester Effect']={[0]=3.0,},
['Petrify']={[0]=8.0,},
['Phantom Strike']={[0]=20.0,},
['Pierce Ankle']={[0]=3.0,},
['Pierce Armor']={[0]=20.0,},
['Piercing Howl']={[0]=6.0,},
['Piercing Shadow']={[0]=1800.0,},
['Piercing Shot']={[0]=15.0,},
['Piercing Shriek']={[0]=6.0,},
['Plague']={[0]=40.0,},
['Plague Cloud']={[0]=240.0,},
['Plague Mind']={[0]=600.0,},
['Plague Mist']={[0]=8.0,},
['Planted']={[0]=3.0,},
['Poison']={[0]=30.0,},
['Poison Aura']={[0]=12.0,},
['Poison Bolt']={[0]=10.0,},
['Poison Bolt Volley']={[0]=10.0,},
['Poison Charge']={[0]=9.0,},
['Poison Cloud']={[0]=45.0,},
['Poison Mind']={[0]=15.0,},
['Poison Stinger']={[0]=10.0,},
['Poisoned Harpoon']={[0]=60.0,},
['Poisoned Shot']={[0]=75.0,},
['Poisonous Spit']={[0]=15.0,},
['Poisonous Stab']={[0]=15.0,},
['Polymorph']={[1]=20.0,[2]=30.0,[3]=40.0,[4]=50.0,[0]=50.0,},
['Polymorph Backfire']={[0]=8.0,},
['Polymorph: Chicken']={[0]=10.0,},
['Polymorph: Cow']={[0]=50.0,},
['Polymorph: Pig']={[0]=50.0,},
['Polymorph: Sheep']={[0]=10.0,},
['Polymorph: Turtle']={[0]=50.0,},
['Polymorphic Ray']={[0]=4.0,},
['Possess']={[0]=120.0,},
['Pounce']={[0]=2.0,},
['Pounce Bleed']={[0]=18.0,},
['Premeditation']={[0]=10.0,},
['Psychic Scream']={[0]=8.0,},
['Pummel']={[0]=4.0,},
['Puncture']={[0]=10.0,},
['Puncture Armor']={[0]=30.0,},
['Purge']={[0]=2.0,},
['Putrid Bile']={[0]=45.0,},
['Putrid Bite']={[0]=30.0,},
['Putrid Breath']={[0]=30.0,},
['Putrid Enzyme']={[0]=300.0,},
['Putrid Stench']={[0]=10.0,},
['Pyroblast']={[0]=12.0,},
['Pyroclasm']={[0]=3.0,},
['Rabid Maw']={[0]=30.0,},
['Rabies']={[0]=600.0,},
['Radiation Poisoning']={[0]=25.0,},
['Rage of Thule']={[0]=120.0,},
['Rake']={[0]=9.0,},
['Rallying Cry of the Dragonslayer']={[0]=7200.0,},
['Rampage']={[0]=2.5,},
['Rat Nova']={[0]=10.0,},
['Ravage']={[0]=2.0,},
['Reckless Charge']={[0]=30.0,},
['Reflection Field']={[0]=5.0,},
['Regeneration IV']={[0]=3600.0,},
['Rend']={[1]=9.0,[2]=12.0,[3]=15.0,[4]=18.0,[5]=21.0,[6]=21.0,[7]=21.0,[0]=21.0,},
['Rend Flesh']={[0]=12.0,},
['Repentance']={[0]=6.0,},
['Repulsive Gaze']={[0]=8.0,},
['Retching Plague']={[0]=300.0,},
['Revenge Stun']={[0]=3.0,},
['Rhahk\'Zor Slam']={[0]=3.0,},
['Rift Beacon']={[0]=60.0,},
['Righteous Fire']={[0]=8.0,},
['Rip']={[0]=12.0,},
['Riposte']={[0]=6.0,},
['Riptide']={[0]=4.0,},
['Ritual Candle Aura']={[0]=6.0,},
['Rupture']={[0]=6.0,},
['Sacrifice']={[0]=8.0,},
['Sap']={[1]=25.0,[2]=35.0,[3]=45.0,[0]=45.0,},
['Sap Might']={[0]=300.0,},
['Savage Assault']={[0]=30.0,},
['Savage Assault II']={[0]=30.0,},
['Savage Assault III']={[0]=30.0,},
['Savage Assault IV']={[0]=30.0,},
['Savage Assault V']={[0]=30.0,},
['Savage Pummel']={[0]=5.0,},
['Scald']={[0]=4.0,},
['Scare Beast']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Scatter Shot']={[0]=4.0,},
['Scorpid Poison']={[0]=10.0,},
['Scorpid Sting']={[0]=20.0,},
['Screams of the Past']={[0]=5.0,},
['Screech']={[0]=4.0,},
['Searing Blast']={[0]=30.0,},
['Searing Flames']={[0]=9.0,},
['Seduction']={[0]=15.0,},
['Seeping Willow']={[0]=30.0,},
['Serious Wound']={[0]=10.0,},
['Serpent Sting']={[0]=15.0,},
['Serrated Bite']={[0]=30.0,},
['Shackle Undead']={[1]=30.0,[2]=40.0,[3]=50.0,[0]=50.0,},
['Shadow Bolt']={[0]=6.0,},
['Shadow Command']={[0]=15.0,},
['Shadow Flame']={[0]=10.0,},
['Shadow Mark']={[0]=15.0,},
['Shadow Protection ']={[0]=3600.0,},
['Shadow Vulnerability']={[0]=15.0,},
['Shadow Weakness']={[0]=45.0,},
['Shadow Word: Pain']={[0]=18.0,},
['Shadow of Ebonroc']={[0]=8.0,},
['Shadowburn']={[0]=5.0,},
['Shadowstalker Slash']={[0]=5.0,},
['Shadowstalker Stab']={[0]=5.0,},
['Shared Bonds']={[0]=4.0,},
['Shazzrah\'s Curse']={[0]=300.0,},
['Shield Bash']={[0]=6.0,},
['Shield Bash - Silenced']={[0]=3.0,},
['Shield Slam']={[0]=2.0,},
['Shockwave']={[0]=2.0,},
['Shrink']={[0]=120.0,},
['Shrink Ray']={[0]=20.0,},
['Silence']={[0]=5.0,},
['Silithid Pox']={[0]=1800.0,},
['Siphon Blessing']={[0]=30.0,},
['Siphon Health']={[0]=15.0,},
['Siphon Life']={[0]=30.0,},
['Skull Crack']={[0]=2.0,},
['Skullforge Brand']={[0]=30.0,},
['Slam']={[0]=2.0,},
['Slavedriver\'s Cane']={[0]=30.0,},
['Sleep']={[1]=20.0,[2]=30.0,[0]=30.0,},
['Sleepwalk']={[0]=10.0,},
['Slice and Dice']={[0]=6.0,},
['Slime Bolt']={[0]=6.0,},
['Slime Burst']={[0]=5.0,},
['Slime Dysentery']={[0]=1800.0,},
['Slime Stream']={[0]=3.0,},
['Sling Dirt']={[0]=10.0,},
['Sling Mud']={[0]=15.0,},
['Sloth Effect']={[0]=3.0,},
['Slow']={[1]=10.0,[2]=15.0,[0]=15.0,},
['Slow Poison']={[0]=30.0,},
['Slow Poison II']={[0]=30.0,},
['Slowing Ooze']={[0]=10.0,},
['Slowing Poison']={[0]=25.0,},
['Sludge']={[0]=3.0,},
['Sludge Toxin']={[0]=45.0,},
['Smite Demon']={[0]=5.0,},
['Smite Slam']={[0]=3.0,},
['Smite Stomp']={[0]=10.0,},
['Smoke Bomb']={[0]=4.0,},
['Smoke Cloud']={[0]=3.0,},
['Smother']={[0]=6.0,},
['Snap Kick']={[0]=2.0,},
['Sol L']={[0]=5.0,},
['Sonic Burst']={[0]=10.0,},
['Soot Covering']={[0]=10.0,},
['Soothe Animal']={[0]=15.0,},
['Soul Breaker']={[0]=30.0,},
['Soul Burn']={[0]=16.0,},
['Soul Corruption']={[0]=15.0,},
['Soul Drain']={[0]=10.0,},
['Soul Revival']={[0]=1800.0,},
['Soul Siphon']={[0]=10.0,},
['Soul Tap']={[0]=12.0,},
['Spell Lock']={[1]=6.0,[2]=8.0,[0]=8.0,},
['Spell Vulnerability']={[0]=5.0,},
['Spider Poison']={[0]=30.0,},
['Spider Web']={[0]=1.0,},
['Spider\'s Kiss']={[0]=10.0,},
['Spirit Decay']={[0]=1200.0,},
['Spirit of Zandalar']={[0]=7200.0,},
['Spitelash']={[0]=20.0,},
['Starfire Stun']={[0]=3.0,},
['Starshards']={[0]=6.0,},
['Stasis Effect']={[0]=15.0,},
['Stasis Test']={[0]=5.0,},
['Static Conduit']={[0]=15.0,},
['Steam Jet']={[0]=10.0,},
['Sticky Tar']={[0]=4.0,},
['Stink Trap']={[0]=120.0,},
['Stomp']={[0]=10.0,},
['Storm Bolt']={[0]=8.0,},
['Stormbolt']={[0]=5.0,},
['Stormstrike']={[0]=12.0,},
['Strong Cleave']={[0]=10.0,},
['Stun']={[0]=2.0,},
['Stunning Blast']={[1]=3.0,[2]=5.0,[0]=5.0,},
['Stunning Blow']={[1]=5.0,[2]=8.0,[0]=8.0,},
['Stunning Strike']={[0]=4.0,},
['Stygian Grasp']={[0]=5.0,},
['Submersion']={[0]=60.0,},
['Sul\'thraze']={[0]=15.0,},
['Summon Darrowshire Spirit']={[0]=60.0,},
['Summon Finkle Generator']={[0]=5.0,},
['Summon Freed Soul']={[0]=60.0,},
['Summon Healed Celebrian Vine']={[0]=604800.0,},
['Summon Isalien DND']={[0]=600.0,},
['Summon Jarien and Sothos DND']={[0]=600.0,},
['Summon Knight']={[0]=180.0,},
['Summon Kormok DND']={[0]=600.0,},
['Summon Lord Valthalak DND']={[0]=600.0,},
['Summon Marduk the Black']={[0]=300.0,},
['Summon Mor Grayhoof DND']={[0]=600.0,},
['Summon Mounted Knight']={[0]=120.0,},
['Summon Screecher Spirit']={[0]=120.0,},
['Summon Thelrin DND']={[0]=600.0,},
['Summon Trainee']={[0]=230.0,},
['Summon Various DND']={[0]=600.0,},
['Sunder Armor']={[0]=30.0,},
['Sundering Cleave']={[0]=30.0,},
['Super Shrink Ray']={[0]=20.0,},
['Surprise Attack']={[0]=2.5,},
['Survival Instinct']={[0]=2.0,},
['TWEEP']={[0]=11.0,},
['Taelan\'s Suffering Effect']={[0]=2.0,},
['Tail Lash']={[0]=2.0,},
['Tainted Blood Effect']={[0]=10.0,},
['Tainted Mind']={[0]=600.0,},
['Tame Adult Plainstrider']={[0]=900.0,},
['Tame Armored Scorpid']={[0]=900.0,},
['Tame Beast']={[0]=20.0,},
['Tame Dire Mottled Boar']={[0]=900.0,},
['Tame Ice Claw Bear']={[0]=20.0,},
['Tame Large Crag Boar']={[0]=20.0,},
['Tame Nightsaber Stalker']={[0]=900.0,},
['Tame Prairie Stalker']={[0]=900.0,},
['Tame Snow Leopard']={[0]=900.0,},
['Tame Strigid Screecher']={[0]=900.0,},
['Tame Surf Crawler']={[0]=900.0,},
['Tame Swoop']={[0]=900.0,},
['Tame Webwood Lurker']={[0]=900.0,},
['Target Dummy Spawn Effect']={[0]=5.0,},
['Taunt']={[0]=3.0,},
['Tendon Rip']={[0]=8.0,},
['Tendon Slice']={[0]=8.0,},
['Tendrils of Air']={[0]=2.0,},
['Terrify']={[0]=4.0,},
['Terrifying Howl']={[0]=3.0,},
['Terrifying Roar']={[0]=5.0,},
['Terrifying Screech']={[0]=4.0,},
['Test Curse of Agony']={[0]=24.0,},
['Test Rip']={[0]=12.0,},
['Test Strike W35']={[0]=10.0,},
['Test Strike W50']={[0]=10.0,},
['Tetanus']={[0]=1200.0,},
['Thorn Volley']={[0]=2.0,},
['Thorns']={[0]=600.0,},
['Threatening Gaze']={[0]=6.0,},
['Threatening Growl']={[0]=30.0,},
['Throw Axe']={[0]=2.0,},
['Thunder Clap']={[1]=10.0,[2]=14.0,[3]=18.0,[4]=22.0,[5]=26.0,[6]=30.0,[0]=30.0,},
['Thunderclap']={[0]=10.0,},
['Thundercrack']={[0]=2.5,},
['Thunderfury']={[0]=12.0,},
['Thundershock']={[0]=5.0,},
['Tidal Charm']={[0]=3.0,},
['Tight Pinch']={[0]=5.0,},
['Time Lapse']={[0]=8.0,},
['Torch Burst']={[0]=30.0,},
['Torch Toss']={[0]=30.0,},
['Tornado']={[0]=4.0,},
['Touch of Ravenclaw']={[0]=5.0,},
['Touch of Weakness']={[0]=120.0,},
['Toxic Contagion']={[0]=60.0,},
['Toxic Saliva']={[0]=120.0,},
['Toxic Volley']={[0]=15.0,},
['Tranquilizing Poison']={[0]=8.0,},
['Trap']={[0]=10.0,},
['Trelane\'s Freezing Touch']={[0]=12.0,},
['Trip']={[0]=3.0,},
['True Fulfillment']={[0]=20.0,},
['Tunneler Acid']={[0]=30.0,},
['Turn Undead']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Twisted Reflection']={[0]=45.0,},
['Unbalancing Strike']={[0]=6.0,},
['Unholy Curse']={[0]=12.0,},
['Vampiric Embrace']={[0]=60.0,},
['Vanish']={[0]=20.0,},
['Veil of Darkness']={[0]=7.0,},
['Veil of Shadow']={[0]=15.0,},
['Vekniss Catalyst']={[0]=30.0,},
['Vengeance']={[0]=600.0,},
['Venom Spit']={[0]=10.0,},
['Venom Sting']={[0]=45.0,},
['Venomhide Poison']={[0]=30.0,},
['Vicious Rend']={[0]=15.0,},
['Vindication']={[0]=10.0,},
['Viper Sting']={[0]=8.0,},
['Virulent Poison']={[0]=30.0,},
['Vital Wound']={[0]=8.0,},
['Void Bolt']={[0]=10.0,},
['Volatile Infection']={[0]=120.0,},
['Voodoo Hex']={[0]=120.0,},
['Vulnerable']={[0]=3.0,},
['Wail of Nightlash']={[0]=15.0,},
['Wail of the Banshee']={[0]=12.0,},
['Wailing Dead']={[0]=6.0,},
['Wandering Plague']={[0]=300.0,},
['War Stomp']={[0]=2.0,},
['Warchief\'s Blessing']={[0]=3600.0,},
['Ward of Laze effect']={[0]=3.0,},
['Warlock Terror']={[0]=2.0,},
['Water Breathing']={[0]=600.0,},
['Wavering Will']={[0]=60.0,},
['Weak Poison']={[0]=12.0,},
['Weakening Disease']={[0]=30.0,},
['Web']={[0]=8.0,},
['Web Explosion']={[0]=10.0,},
['Web II']={[0]=10.0,},
['Web III']={[0]=12.0,},
['Web Spin']={[0]=7.0,},
['Web Spray']={[0]=10.0,},
['Whipweed Entangle']={[0]=18.0,},
['Whipweed Roots']={[0]=15.0,},
['Whirling Trip']={[0]=2.0,},
['Whirlwind']={[0]=2.0,},
['Whisperings of C\'Thun']={[0]=20.0,},
['Widow Bite']={[0]=4.0,},
['Widow\'s Embrace']={[0]=30.0,},
['Wild Magic']={[0]=30.0,},
['Wild Polymorph']={[0]=20.0,},
['Will of Hakkar']={[0]=20.0,},
['Windreaper']={[0]=20.0,},
['Windsor Dismisses Horse DND']={[0]=55.0,},
['Wing Clip']={[0]=10.0,},
['Wings of Despair']={[0]=6.0,},
['Winter\'s Chill']={[0]=15.0,},
['Wither']={[0]=21.0,},
['Wither Strike']={[0]=8.0,},
['Wither Touch']={[0]=120.0,},
['Withered Touch']={[0]=180.0,},
['Withering Heat']={[0]=900.0,},
['Withering Poison']={[0]=180.0,},
['Wound']={[0]=25.0,},
['Wound Poison']={[0]=15.0,},
['Wracking Pains']={[0]=180.0,},
['Wrath of the Plaguebringer']={[0]=10.0,},
['Wyvern Sting']={[0]=12.0,},
['[PH] Crystal Corpse Timer']={[0]=7200.0,},
['scaler test']={[0]=10.0,},
}
-- custom entries not detected by DBC extractor
pfUI_locale["enUS"]["debuffs"]['Cone of Cold']={[0]=8.0,} -- Cone of Cold
-947
View File
@@ -1,16 +1,5 @@
pfUI_locale["esES"] = {}
pfUI_locale["esES"]["class"] = {
["Brujo"] = "WARLOCK",
["Guerrero"] = "WARRIOR",
["Cazador"] = "HUNTER",
["Mago"] = "MAGE",
["Sacerdote"] = "PRIEST",
["Druida"] = "DRUID",
["Paladín"] = "PALADIN",
["Chamán"] = "SHAMAN",
["Pícaro"] = "ROGUE",
}
pfUI_locale["esES"]["healduration"] = {
["Rejuvenation"] = "Aumenta 3 s la duración de tu hechizo Rejuvenecimiento.",
@@ -23,15 +12,6 @@ pfUI_locale["esES"]["customcast"] = {
}
pfUI_locale["esES"]["dyndebuffs"] = {
["Rupture"] = "Ruptura",
["Kidney Shot"] = "Golpe en los riñones",
["Rend"] = "Desgarrar",
["Shadow Word: Pain"] = "Palabra de las Sombras: dolor",
["Demoralizing Shout"] = "Grito desmoralizador",
["Frostbolt"] = "Descarga de Escarcha",
["Gouge"] = "Incapacitación",
}
pfUI_locale["esES"]["judgements"] = {
["Sentencia de Justicia"] = true,
@@ -47,934 +27,7 @@ pfUI_locale["esES"]["resurrections"] = {
["Espíritu ancestral"] = true,
}
pfUI_locale["esES"]["debuffs"] = {
['Abrazo de la viuda']={[0]=30.0,},
['Abrazo vampírico']={[0]=60.0,},
['Acido tunelador']={[0]=30.0,},
['Acometida de pisotón']={[0]=10.0,},
['Adrenalina ardiente']={[0]=20.0,},
['Aflicción del enjambre: azul']={[0]=600.0,},
['Aflicción del enjambre: bronce']={[0]=600.0,},
['Aflicción del enjambre: negro']={[0]=600.0,},
['Aflicción del enjambre: rojo']={[0]=600.0,},
['Aflicción del enjambre: verde']={[0]=600.0,},
['Agarre de orden']={[0]=10.0,},
['Agilidad VIII']={[0]=3600.0,},
['Agilidad corrupta']={[0]=4.0,},
['Agilidad deteriorada']={[0]=300.0,},
['Aguijonero de veneno']={[0]=10.0,},
['Aguijón de dracoleón']={[0]=12.0,},
['Aguijón de escorpido']={[0]=20.0,},
['Aguijón de serpiente']={[0]=15.0,},
['Aguijón escórpido mejorado']={[0]=20.0,},
['Aguijón fatal']={[0]=12.0,},
['Aguijón puoso']={[0]=300.0,},
['Ahuyentar a no-muerto']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Alarido psíquico']={[0]=8.0,},
['Alaridos del pasado']={[0]=5.0,},
['Alas de desesperación']={[0]=6.0,},
['Aliento escalofriante']={[0]=12.0,},
['Aliento pútrido']={[0]=30.0,},
['Alquitrán pegajoso']={[0]=4.0,},
['Amplificar daño']={[0]=10.0,},
['Amplificar llamas']={[0]=30.0,},
['Ansia de sangre']={[0]=15.0,},
['Antitrampas épico de cazador DND']={[0]=60.0,},
['Antorcha de la falla']={[0]=60.0,},
['Anular']={[0]=8.0,},
['Arañazo']={[0]=9.0,},
['Armadura IV']={[0]=3600.0,},
['Armadura de batalla de poderío']={[0]=6.0,},
['Armadura rota']={[0]=20.0,},
['Arrasada']={[0]=2.5,},
['Arremetida aturdidora']={[1]=5.0,[2]=8.0,[0]=8.0,},
['Arremetida de conmoción']={[0]=5.0,},
['Arrepentimiento']={[0]=6.0,},
['Arrullo de encantamiento']={[0]=10.0,},
['Asalto salvaje']={[0]=30.0,},
['Asalto salvaje II']={[0]=30.0,},
['Asalto salvaje III']={[0]=30.0,},
['Asalto salvaje IV']={[0]=30.0,},
['Asalto salvaje V']={[0]=30.0,},
['Aspecto de Arlokk']={[0]=2.0,},
['Aspecto de Jeklik']={[0]=5.0,},
['Aspecto de Mar\'li']={[0]=6.0,},
['Aspecto de Venoxis']={[0]=10.0,},
['Ataque Estigma de Escarcha']={[0]=8.0,},
['Ataque en oleada']={[0]=2.5,},
['Aterrorizar']={[0]=4.0,},
['Atontado']={[0]=4.0,},
['Atontamiento largo']={[0]=6.0,},
['Atraer iracundo']={[0]=2.0,},
['Atrapamiento']={[0]=5.0,},
['Aturdimiento de fuego estelar']={[0]=3.0,},
['Aturdimiento de intercepción']={[0]=3.0,},
['Aturdimiento de revancha']={[0]=3.0,},
['Aturdimiento de transformación Balnazzar']={[0]=5.0,},
['Aturdir']={[0]=2.0,},
['Aullido aterrorizador']={[0]=3.0,},
['Aullido de terror']={[1]=10.0,[2]=15.0,[0]=15.0,},
['Aullido penetrante']={[0]=6.0,},
['Aullido sangriento']={[0]=15.0,},
['Aura de Anub\'Rekhan']={[0]=5.0,},
['Aura de Emeriss']={[0]=10.0,},
['Aura de Escarcha']={[0]=5.0,},
['Aura de agonía']={[0]=8.0,},
['Aura de batalla']={[0]=10.0,},
['Aura de mando']={[0]=30.0,},
['Aura de miedo']={[0]=3.0,},
['Aura de veneno']={[0]=12.0,},
['Aura del señor de la sangre']={[0]=5.0,},
['Aura profanadora']={[0]=5.0,},
['Aura ritual e vela']={[0]=6.0,},
['Azote']={[1]=2.0,[2]=3.0,[3]=4.0,[0]=4.0,},
['Azote de escudo']={[0]=6.0,},
['Azote de escudo: silenciado']={[0]=3.0,},
['Baba de larva']={[0]=6.0,},
['Babosa enferma']={[0]=120.0,},
['Babosa ácida']={[0]=30.0,},
['Balas inferno']={[0]=10.0,},
['Barril trampa']={[0]=2.0,},
['Barroso oscuro']={[0]=300.0,},
['Bendición de Jefe de Guerra']={[0]=3600.0,},
['Bendición de Nordrassil']={[0]=10.0,},
['Bendición de la Marcha Negra']={[0]=6.0,},
['Beso de la araña']={[0]=10.0,},
['Bestia temible']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Bicho mutante']={[0]=240.0,},
['Bilis pútrida']={[0]=45.0,},
['Bloqueo de hechizo']={[1]=6.0,[2]=8.0,[0]=8.0,},
['Bola de Fuego']={[1]=4.0,[2]=6.0,[3]=6.0,[4]=8.0,[5]=8.0,[6]=8.0,[7]=8.0,[8]=8.0,[9]=8.0,[10]=8.0,[11]=8.0,[12]=8.0,[0]=8.0,},
['Bomba de bruma']={[0]=3.0,},
['Bomba de humo']={[0]=4.0,},
['Bomba viviente']={[0]=8.0,},
['Botella de veneno']={[0]=30.0,},
['Bramido']={[0]=3.0,},
['Bramido amenazante']={[0]=30.0,},
['Bramido desalentador']={[0]=30.0,},
['Bramido funesto']={[0]=15.0,},
['Bramido intimidador']={[0]=5.0,},
['Bruma de la Peste']={[0]=8.0,},
['Burbujas de aire']={[0]=10.0,},
['Cachava del conducesclavos']={[0]=30.0,},
['Cadenas de Kel\'Thuzad']={[0]=20.0,},
['Cadenas de hielo']={[1]=15.0,[2]=20.0,[0]=20.0,},
['Calcetín roto']={[0]=3.0,},
['Calma mental']={[0]=15.0,},
['Calmar animal']={[0]=15.0,},
['Calor marchitante']={[0]=900.0,},
['Capturar antárbol']={[0]=5.0,},
['Capturar espíritu']={[0]=9.0,},
['Capturar espíritu de manáfago']={[0]=9.0,},
['Capturar espíritu infernal']={[0]=9.0,},
['Carga de veneno']={[0]=9.0,},
['Carga debilitadora']={[0]=8.0,},
['Carámbano']={[0]=10.0,},
['Catalizador Colmen\'Zara']={[0]=30.0,},
['Catalizador Vekniss']={[0]=30.0,},
['Catalizador nocivo']={[0]=120.0,},
['Ceguera']={[0]=10.0,},
['Chillido de terror']={[0]=6.0,},
['Chillido penetrante']={[0]=6.0,},
['Chirrido']={[0]=4.0,},
['Chirrido ensordecedor']={[0]=8.0,},
['Chirrido terrorífico']={[0]=4.0,},
['Choque de Escarcha']={[0]=8.0,},
['Choque de aura']={[0]=300.0,},
['Choque de llamas']={[0]=12.0,},
['Choque de olas']={[0]=10.0,},
['Choque de tierra']={[0]=2.0,},
['Chorro de magma']={[0]=30.0,},
['Clamor aterrorizador']={[0]=5.0,},
['Clamor bramante']={[0]=3.0,},
['Clamor desafiante']={[0]=6.0,},
['Clamor desmoralizador']={[0]=30.0,},
['Clamor glacial']={[0]=3.0,},
['Clamor intimidador']={[0]=8.0,},
['Clamor pavoroso']={[0]=5.0,},
['Clamor resonante']={[0]=20.0,},
['Clavar']={[0]=9.0,},
['Cobertura de hollín']={[0]=10.0,},
['Colmillo de la araña de cristal']={[0]=10.0,},
['Colmillo de sangre']={[0]=6.0,},
['Condena inevitable']={[0]=10.0,},
['Condena inminente']={[0]=10.0,},
['Conducto estático']={[0]=15.0,},
['Conejos']={[0]=600.0,},
['Confianza de Golemagg']={[0]=2.0,},
['Conflagración']={[0]=10.0,},
['Congelación']={[0]=15.0,},
['Consecución veraz']={[0]=20.0,},
['Consumir']={[0]=15.0,},
['Contagio de putrefacción']={[0]=240.0,},
['Contagio tóxico']={[0]=60.0,},
['Contraataque']={[0]=5.0,},
['Contrahechizo']={[0]=10.0,},
['Contrahechizo: silenciado']={[0]=4.0,},
['Control de batalla']={[0]=6.0,},
['Control mental']={[0]=60.0,},
['Corrupción']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=18.0,[5]=18.0,[6]=18.0,[7]=18.0,[0]=18.0,},
['Corrupción de alma']={[0]=15.0,},
['Corrupción de la Tierra']={[0]=10.0,},
['Cortar alas']={[0]=10.0,},
['Cortar alas mejorado']={[0]=5.0,},
['Corteza química']={[0]=10.0,},
['Crear aura de Zul']={[0]=30.0,},
['Crear círculo de invocación del Corazón de Hakkar']={[0]=30.0,},
['Crear deflagración del Corazón de Hakkar']={[0]=30.0,},
['Crear fisura Corazón de Hakkar']={[0]=30.0,},
['Criatura de pesadilla']={[0]=30.0,},
['Cuchillada de acechasombras']={[0]=5.0,},
['Curación corrupta']={[0]=30.0,},
['Curación en masa']={[0]=12.0,},
['Cántico de manifestación']={[0]=600.0,},
['Cólera de Eskhandar']={[0]=30.0,},
['Cólera de Thule']={[0]=120.0,},
['Cólera del Traepestes']={[0]=10.0,},
['Daño cerebral']={[0]=30.0,},
['Debilidad Arcana']={[0]=45.0,},
['Debilidad a la Escarcha']={[0]=45.0,},
['Debilidad a las Sombras']={[0]=45.0,},
['Debilidad de Fuego']={[0]=45.0,},
['Debilidad natural']={[0]=45.0,},
['Debilitar']={[0]=15.0,},
['Deflagración de huevo']={[0]=3.0,},
['Deflagración de telaraña']={[0]=10.0,},
['Degarrar carne']={[0]=12.0,},
['Demodesvío']={[0]=25.0,},
['Demonio acometedor']={[0]=5.0,},
['Denaje de alma']={[0]=10.0,},
['Derribo']={[0]=2.0,},
['Desactivar']={[0]=10.0,},
['Descarga abisal']={[0]=10.0,},
['Descarga de Escarcha']={[1]=5.0,[2]=6.0,[3]=6.0,[4]=7.0,[5]=7.0,[6]=8.0,[7]=8.0,[8]=9.0,[9]=9.0,[10]=9.0,[11]=9.0,[0]=9.0,},
['Descarga de babosa']={[0]=6.0,},
['Descarga de hielo']={[0]=2.0,},
['Descarga de las Sombras']={[0]=6.0,},
['Descarga de veneno']={[0]=10.0,},
['Descarga tormentosa']={[0]=5.0,},
['Descomponer el alma']={[0]=1200.0,},
['Desesperación ancestral']={[0]=5.0,},
['Desgarradura sanguinaria']={[0]=15.0,},
['Desgarrar']={[1]=9.0,[2]=12.0,[3]=15.0,[4]=18.0,[5]=21.0,[6]=21.0,[7]=21.0,[0]=21.0,},
['Desgarre de tendón']={[0]=8.0,},
['Desmayo']={[0]=3.0,},
['Desmembramiento']={[0]=10.0,},
['Desmoralizar']={[0]=30.0,},
['Despedazado mental']={[0]=3.0,},
['Despelleje mental']={[0]=3.0,},
['Destello paralizante']={[0]=5.0,},
['Desterrar']={[1]=20.0,[2]=30.0,[0]=30.0,},
['Destilador ectoplásmico']={[0]=3.0,},
['Destripador sanguinario']={[0]=30.0,},
['Destripar']={[0]=12.0,},
['Destrozar']={[0]=2.0,},
['Detectar invisibilidad superior']={[0]=600.0,},
['Detectar magia']={[0]=120.0,},
['Detonaciones polimorfias']={[0]=8.0,},
['Detonar maná']={[0]=5.0,},
['Devastar']={[0]=2.0,},
['Diezmar']={[0]=3.0,},
['Discombobular']={[0]=12.0,},
['Disentería de babosa']={[0]=1800.0,},
['Disolver armadura']={[0]=20.0,},
['Disparo de Escarcha']={[0]=10.0,},
['Disparo de conmoción']={[0]=4.0,},
['Disparo de conmoción mejorado']={[0]=3.0,},
['Disparo de veneno']={[0]=75.0,},
['Disparo desmontador']={[0]=2.0,},
['Disparo disperso']={[0]=4.0,},
['Disparo enfermo']={[0]=300.0,},
['Disparo penetrante']={[0]=15.0,},
['Disyunción']={[0]=300.0,},
['Dolencia Magenta']={[0]=1200.0,},
['Dolencia debilitadora']={[0]=30.0,},
['Dolencia dragante']={[0]=300.0,},
['Dolor agonizante']={[0]=15.0,},
['Dolor distrayente']={[0]=15.0,},
['Dolor entumecedor']={[0]=10.0,},
['Dolores convulsivos']={[0]=180.0,},
['Domesticar a escórpido acorazado']={[0]=900.0,},
['Domesticar a zancudo de llanura adulto']={[0]=900.0,},
['Domesticar acechador de pradera']={[0]=900.0,},
['Domesticar acechador sable de la noche']={[0]=900.0,},
['Domesticar aguilón']={[0]=900.0,},
['Domesticar bestia']={[0]=20.0,},
['Domesticar correspuma']={[0]=900.0,},
['Domesticar estridador estrígido']={[0]=900.0,},
['Domesticar jabalí del risco grande']={[0]=20.0,},
['Domesticar jabalí jaspeado feroz']={[0]=900.0,},
['Domesticar leopardo de la nieve']={[0]=900.0,},
['Domesticar oso zarpahelada']={[0]=20.0,},
['Domesticar rondador Tejemadera']={[0]=900.0,},
['Dominación']={[0]=15.0,},
['Dominación mental']={[0]=120.0,},
['Dominar mente']={[0]=10.0,},
['Dominio del alma']={[0]=60.0,},
['Dormir']={[1]=20.0,[2]=30.0,[0]=30.0,},
['Drenaje de vida']={[0]=12.0,},
['Drenar alma']={[0]=15.0,},
['Drenar maná']={[0]=5.0,},
['Drenar vida']={[0]=5.0,},
['Efecto aturdidor de mazas']={[0]=3.0,},
['Efecto de Trampa explosiva']={[0]=20.0,},
['Efecto de aparición de muñeco-diana avanzado']={[0]=10.0,},
['Efecto de aparición muñeco-diana']={[0]=5.0,},
['Efecto de carga feral']={[0]=4.0,},
['Efecto de herida abierta']={[0]=8.0,},
['Efecto de inferno']={[0]=2.0,},
['Efecto de irritación de cebo de Gizlock']={[0]=5.0,},
['Efecto de pereza']={[0]=3.0,},
['Efecto de sangre mácula']={[0]=10.0,},
['Efecto de sufrimiento de Taelan']={[0]=2.0,},
['Efecto de trampa congelante']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Efecto de trampa de inmolación']={[0]=15.0,},
['Efecto de veneno menor de escorpión']={[0]=60.0,},
['Efecto de éxtasis']={[0]=15.0,},
['Efecto molesto']={[0]=3.0,},
['Eliminar todos los grilletes']={[0]=1.0,},
['Elixir de los gigantes']={[0]=1200.0,},
['Elixir superior Arcano']={[0]=1800.0,},
['Embate']={[0]=2.0,},
['Embate Malown']={[0]=2.0,},
['Embate acometedor']={[0]=3.0,},
['Embate con escudo']={[0]=2.0,},
['Embelesamiento de mareas']={[0]=3.0,},
['Embestida aturdidora']={[0]=1.0,},
['Embestida de jabalí']={[0]=1.0,},
['Embestida imprudente']={[0]=30.0,},
['Embestir']={[0]=4.0,},
['Encadenar no-muerto']={[1]=30.0,[2]=40.0,[3]=50.0,[0]=50.0,},
['Encima pútrido']={[0]=300.0,},
['Encoger']={[0]=120.0,},
['Endeblez']={[0]=60.0,},
['Energía oscura']={[0]=300.0,},
['Enervar']={[0]=10.0,},
['Engullidor de alma']={[0]=10.0,},
['Engullidor de bendiciones']={[0]=30.0,},
['Engullidor de sangre']={[0]=8.0,},
['Engullir salud']={[0]=15.0,},
['Engullir vida']={[0]=30.0,},
['Enjambre de insectos']={[0]=12.0,},
['Enjambre de langostas']={[0]=6.0,},
['Enjaular']={[0]=30.0,},
['Enredaderas']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=21.0,[5]=24.0,[6]=27.0,[0]=27.0,},
['Enredar']={[0]=8.0,},
['Entereza del Festival de Fuego']={[0]=3600.0,},
['Envenenar herida']={[0]=15.0,},
['Erupción degenerativa']={[0]=1800.0,},
['Escaldar']={[0]=4.0,},
['Escalofrío']={[0]=30.0,},
['Escalofrío del invierno']={[0]=15.0,},
['Escalofrío hediondo']={[0]=120.0,},
['Escarcha']={[0]=10.0,},
['Esclavizar']={[0]=15.0,},
['Esclavizar demonio']={[0]=300.0,},
['Escudo de daños']={[0]=10.0,},
['Escudo de refracción']={[0]=5.0,},
['Esencia de lo Rojo']={[0]=180.0,},
['Esfumar']={[0]=20.0,},
['Espada aullante']={[0]=30.0,},
['Espada maldita']={[0]=20.0,},
['Espina infectada']={[0]=300.0,},
['Espinas']={[0]=600.0,},
['Espiral mortal']={[0]=3.0,},
['Espíritu Lunagarra']={[0]=120.0,},
['Espíritu de Zandalar']={[0]=7200.0,},
['Espíritu divino']={[0]=1800.0,},
['Espíritus encantados']={[0]=300.0,},
['Estandarte de batalla']={[0]=3.0,},
['Estigma Forjatesta']={[0]=30.0,},
['Estocada']={[0]=6.0,},
['Explosión Sagrada']={[0]=4.0,},
['Explosión aturdidora']={[1]=3.0,[2]=5.0,[0]=5.0,},
['Explosión de barril']={[0]=3.0,},
['Explosión de hielo']={[0]=10.0,},
['Explosión punzante']={[0]=30.0,},
['Explotar']={[0]=2.5,},
['Explotar insecto']={[0]=4.0,},
['Exponer armadura']={[0]=30.0,},
['Exponer debilidad']={[0]=5.0,},
['Extinguir']={[0]=6.0,},
['Extracción de la cardortiga']={[0]=8.0,},
['Extraer esencia']={[0]=12.0,},
['Fallo de movilidad']={[0]=20.0,},
['Falsa arremetida']={[0]=6.0,},
['Fango']={[0]=3.0,},
['Fango negro']={[0]=120.0,},
['Fantasmas encantados']={[0]=300.0,},
['Fatiga afiebrada']={[0]=1800.0,},
['Fetidez sobrecogedor']={[0]=6.0,},
['Fiebre decrépita']={[0]=21.0,},
['Fiebre muculenta']={[0]=600.0,},
['Fijar']={[0]=10.0,},
['Flagelo bajo']={[0]=12.0,},
['Flecha negra']={[0]=30.0,},
['Florecer fungal']={[0]=90.0,},
['Fortaleza corrupta']={[0]=4.0,},
['Fortuna Lunar']={[0]=1800.0,},
['Fragmentos estelares']={[0]=6.0,},
['Fuego Sagrado']={[0]=10.0,},
['Fuego acogedor']={[0]=60.0,},
['Fuego elemental']={[0]=8.0,},
['Fuego feérico']={[0]=40.0,},
['Fuego feérico (feral)']={[0]=40.0,},
['Fuego justo']={[0]=8.0,},
['Fuego lunar']={[1]=9.0,[2]=12.0,[3]=12.0,[4]=12.0,[5]=12.0,[6]=12.0,[7]=12.0,[8]=12.0,[9]=12.0,[10]=12.0,[0]=12.0,},
['Fuerza corrupta']={[0]=4.0,},
['Fuerza deteriorada']={[0]=300.0,},
['Fundir armadura']={[0]=60.0,},
['Fundir huesos']={[0]=20.0,},
['Fundir mineral']={[0]=20.0,},
['Furia de Arantir']={[0]=6.0,},
['Furia del Festival de Fuego']={[0]=3600.0,},
['Furiatrueno']={[0]=12.0,},
['Gapo abominable']={[0]=10.0,},
['Gapo de distracción']={[0]=15.0,},
['Gapo de magma']={[0]=30.0,},
['Gapo de veneno']={[0]=45.0,},
['Gapo de veneno corrosivo']={[0]=10.0,},
['Gapo de ácido corrosivo']={[0]=10.0,},
['Gapo enfermo']={[0]=10.0,},
['Gapo envenenado']={[0]=15.0,},
['Gapo ácido']={[0]=30.0,},
['Garra congelante']={[0]=5.0,},
['Garra de hielo']={[0]=6.0,},
['Garra de águila']={[0]=15.0,},
['Garramiedo']={[0]=60.0,},
['Garrote']={[0]=18.0,},
['Golpe aturdidor']={[0]=4.0,},
['Golpe bajo']={[0]=4.0,},
['Golpe craneal']={[0]=2.0,},
['Golpe de tormenta']={[0]=12.0,},
['Golpe del Cruzado']={[0]=30.0,},
['Golpe desequilibrante']={[0]=6.0,},
['Golpe doloroso']={[0]=5.0,},
['Golpe en los riñones']={[1]=0,[2]=1.0,},
['Golpe fantasma']={[0]=20.0,},
['Golpe fantasmal']={[0]=7.0,},
['Golpe marchito']={[0]=8.0,},
['Golpe mortal']={[0]=10.0,},
['Gorra de control mental gnómica']={[0]=20.0,},
['Gorro de control mental gnómico']={[0]=20.0,},
['Granizo']={[0]=3.0,},
['Grilletes de magma']={[0]=15.0,},
['Grito de alma en pena']={[0]=5.0,},
['Grito de guerra']={[0]=900.0,},
['Grito desafiante']={[0]=6.0,},
['Grito desmoralizador']={[0]=30.0,},
['Grito incapacitador']={[0]=60.0,},
['Grito intimidador']={[0]=8.0,},
['Guarda de red']={[0]=20.0,},
['Guardia de Laze efecto']={[0]=3.0,},
['Guardianes terráneos despiertos']={[0]=5.0,},
['Gusano Goo']={[0]=6.0,},
['Gusano babosa']={[0]=1800.0,},
['Gusanos de cadáver']={[0]=600.0,},
['Géiser']={[0]=5.0,},
['Gélido']={[0]=1.5,},
['Habilidad de los Renegados']={[0]=300.0,},
['Hacer picadillo']={[0]=6.0,},
['Harpón envenenado']={[0]=60.0,},
['Hedor pútrido']={[0]=10.0,},
['Hemorragia']={[0]=15.0,},
['Hender armadura']={[0]=30.0,},
['Hendida Sagrada']={[0]=60.0,},
['Herida']={[0]=25.0,},
['Herida infectada']={[0]=300.0,},
['Herida mortal']={[0]=15.0,},
['Herida profunda']={[0]=10.0,},
['Herida vital']={[0]=8.0,},
['Hibernar']={[1]=20.0,[2]=30.0,[3]=40.0,[0]=40.0,},
['Histeria ancestral']={[0]=900.0,},
['Hongos Ancalodo']={[0]=8.0,},
['Hongos Mirkfallon']={[0]=2700.0,},
['Hostigar']={[1]=10.0,[2]=20.0,[3]=30.0,[0]=30.0,},
['Humus espeluznante']={[0]=60.0,},
['Ignición']={[0]=4.0,},
['Ignición de la carne']={[0]=60.0,},
['Ignición de maná']={[0]=300.0,},
['Ilusiones de Jin\'do']={[0]=20.0,},
['Impacto']={[0]=2.0,},
['Incapacitación']={[0]=4.0,},
['Incinerar']={[0]=60.0,},
['Incitar llamas']={[0]=60.0,},
['Infección de sapobilis']={[0]=180.0,},
['Infección volátil']={[0]=120.0,},
['Inmersión']={[0]=60.0,},
['Inmolar']={[0]=15.0,},
['Inmunidad']={[0]=1800.0,},
['Instinto de supervivencia']={[0]=2.0,},
['Intelecto Arcano']={[0]=1800.0,},
['Intelecto IX']={[0]=3600.0,},
['Intelecto corrupto']={[0]=4.0,},
['Interrumpir (PT)']={[0]=30.0,},
['Intimidación']={[0]=3.0,},
['Inutilizar']={[0]=20.0,},
['Invocar a Isalien DND']={[0]=600.0,},
['Invocar a Jaren y Sothos DND']={[0]=600.0,},
['Invocar a Kormok DND']={[0]=600.0,},
['Invocar a Lord Valthalak DND']={[0]=600.0,},
['Invocar a Marduk el Negro']={[0]=300.0,},
['Invocar a Mor Ruciapezuña DND']={[0]=600.0,},
['Invocar a Thelrin DND']={[0]=600.0,},
['Invocar a alma liberada']={[0]=60.0,},
['Invocar a caballero a caballo']={[0]=120.0,},
['Invocar a espíritu de Villa Darrow']={[0]=60.0,},
['Invocar a espíritu estridador']={[0]=120.0,},
['Invocar a pupilo']={[0]=230.0,},
['Invocar a varios DND']={[0]=600.0,},
['Invocar caballero']={[0]=180.0,},
['Invocar generador Finkle']={[0]=5.0,},
['Invocar vid de Celebrian curada']={[0]=604800.0,},
['Inyección mutante']={[0]=10.0,},
['Ira aullante']={[0]=300.0,},
['Irradiado']={[0]=60.0,},
['Irritar']={[0]=3.0,},
['Jeff Dummy 1']={[0]=30.0,},
['Justicia del Alto Señor']={[0]=5.0,},
['Laceraciones']={[0]=60.0,},
['Lacerar']={[0]=8.0,},
['Lamento de alma en pena']={[0]=12.0,},
['Lamento de latipesadilla']={[0]=15.0,},
['Lamento de muerto']={[0]=6.0,},
['Lanzada frenética']={[0]=2.0,},
['Lanzamiento de antorcha']={[0]=30.0,},
['Lanzamiento de hachas']={[0]=3.0,},
['Lanzar hacha']={[0]=2.0,},
['Lanzarse']={[0]=2.0,},
['Lanzarse al desgarre']={[0]=18.0,},
['Lapso de tiempo']={[0]=8.0,},
['Las Mareas Vivas']={[0]=4.0,},
['Latigazo']={[0]=2.0,},
['Latigazo de cola']={[0]=2.0,},
['Latigazo de llamas']={[0]=45.0,},
['Lecho mortal']={[0]=10.0,},
['Llama de las Sombras']={[0]=10.0,},
['Llamada de la tumba']={[0]=60.0,},
['Llamarada']={[0]=30.0,},
['Llamas cauterizantes']={[0]=900.0,},
['Llamas envolventes']={[0]=6.0,},
['Llamas punzantes']={[0]=9.0,},
['Lluvia de descarga de Escarcha']={[0]=8.0,},
['Lluvia de descarga de veneno']={[0]=10.0,},
['Lluvia de espinas']={[0]=2.0,},
['Lluvia tóxica']={[0]=15.0,},
['Lluvia ácida']={[0]=25.0,},
['Lodo fangoso']={[0]=5.0,},
['Lodo lanzado']={[0]=15.0,},
['Machacar armadura']={[0]=30.0,},
['Machacar cráneos']={[0]=2.0,},
['Machaque']={[0]=2.0,},
['Machaque de cabeza']={[0]=2.0,},
['Machaque terrenal']={[0]=3.0,},
['Magia salvaje']={[0]=30.0,},
['Maldición de Agonía']={[0]=24.0,},
['Maldición de Arugal']={[0]=10.0,},
['Maldición de Gehennas']={[0]=300.0,},
['Maldición de Hakkar']={[0]=120.0,},
['Maldición de Lucifrón']={[0]=300.0,},
['Maldición de Marduk']={[0]=5.0,},
['Maldición de Shazzrah']={[0]=300.0,},
['Maldición de Stalvan']={[0]=600.0,},
['Maldición de Temeridad']={[0]=120.0,},
['Maldición de Timmy']={[0]=60.0,},
['Maldición de Tuten\'kash']={[0]=900.0,},
['Maldición de agotamiento']={[0]=12.0,},
['Maldición de alma en pena']={[0]=12.0,},
['Maldición de debilidad']={[0]=120.0,},
['Maldición de espinas']={[0]=240.0,},
['Maldición de imbecilidad']={[0]=120.0,},
['Maldición de impotencia']={[0]=120.0,},
['Maldición de la lengua']={[0]=30.0,},
['Maldición de la rata de la Peste']={[0]=14.0,},
['Maldición de las Sombras']={[0]=300.0,},
['Maldición de las tribus']={[0]=1800.0,},
['Maldición de los Elementos']={[0]=300.0,},
['Maldición de los Machacamiedo']={[0]=60.0,},
['Maldición de los Muertobosque']={[0]=120.0,},
['Maldición de los Pirotigma']={[0]=300.0,},
['Maldición de sanación']={[0]=180.0,},
['Maldición de sangre']={[0]=600.0,},
['Maldición de venganza']={[0]=900.0,},
['Maldición del Cuerno Sombrío']={[0]=300.0,},
['Maldición del Magram caído']={[0]=900.0,},
['Maldición del Ojo']={[0]=120.0,},
['Maldición del Señor Elemental']={[0]=60.0,},
['Maldición del Traepestes']={[0]=10.0,},
['Maldición del apocalipsis']={[0]=60.0,},
['Maldición del maestro oscuro']={[0]=60.0,},
['Maldición leñogris']={[0]=60.0,},
['Maldición profana']={[0]=12.0,},
['Maldición vudú']={[0]=120.0,},
['Maleficio']={[0]=10.0,},
['Maleficio de Jammal\'an']={[0]=30.0,},
['Maleficio de debilidad']={[0]=120.0,},
['Mano de Ragnaros']={[0]=2.0,},
['Mano de Thaurissan']={[0]=5.0,},
['Manos cubiertas de musgo']={[0]=180.0,},
['Maraña hierbal']={[0]=18.0,},
['Marca de Arlokk']={[0]=120.0,},
['Marca de Blaumeux']={[0]=75.0,},
['Marca de Escarcha']={[0]=12.0,},
['Marca de Kazzak']={[0]=60.0,},
['Marca de Korth\'azz']={[0]=75.0,},
['Marca de Mograine']={[0]=75.0,},
['Marca de Zeliek']={[0]=75.0,},
['Marca de detonación']={[0]=30.0,},
['Marca de la Naturaleza']={[0]=12.0,},
['Marca de las Sombras']={[0]=15.0,},
['Marca de las llamas']={[0]=120.0,},
['Marca de lo Salvaje']={[0]=1800.0,},
['Marca del cazador']={[0]=120.0,},
['Marchitar']={[0]=21.0,},
['Martillo de justicia']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=6.0,[0]=6.0,},
['Martillo del Cruzado']={[0]=4.0,},
['Martillo del juez']={[0]=10.0,},
['Mella hendida']={[0]=30.0,},
['Mella mortal']={[0]=5.0,},
['Mella profunda']={[0]=10.0,},
['Mellar armadura']={[0]=15.0,},
['Mente de la Peste']={[0]=600.0,},
['Mente débil']={[0]=30.0,},
['Mente débil II']={[0]=30.0,},
['Mente débil III']={[0]=30.0,},
['Mente envenenada']={[0]=15.0,},
['Mente mácula']={[0]=600.0,},
['Metal de arrabio']={[0]=15.0,},
['Miasma acuática']={[0]=3600.0,},
['Miedo']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Miedo (NYI)']={[0]=15.0,},
['Miedo corrupto']={[0]=2.0,},
['Miedo del final de Halloween']={[0]=6.0,},
['Mirada amenazante']={[0]=6.0,},
['Mirada de cristal']={[0]=6.0,},
['Mirada repulsiva']={[0]=8.0,},
['Misiles Arcanos']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=5.0,[5]=5.0,[6]=5.0,[7]=5.0,[8]=5.0,[0]=5.0,},
['Moco corrosivo']={[0]=60.0,},
['Moco ralentizante']={[0]=10.0,},
['Mordedura de Escarcha']={[0]=5.0,},
['Mordedura de furia']={[0]=6.0,},
['Mordedura de viuda']={[0]=4.0,},
['Morder mano']={[0]=8.0,},
['Mordida infectada']={[0]=180.0,},
['Mordidas degenerativas']={[0]=1800.0,},
['Mordisco pútrido']={[0]=30.0,},
['Mordisco serrado']={[0]=30.0,},
['Movimiento de distracción']={[0]=7.0,},
['Muerte asfixiante']={[0]=300.0,},
['Muerte de capataz Hierro Negro']={[0]=6.0,},
['Mutación cromática']={[0]=300.0,},
['Máquina de control']={[0]=60.0,},
['Necropodredumbre']={[0]=600.0,},
['Nexo terrestre']={[0]=5.0,},
['Noctambulear']={[0]=10.0,},
['Noquear']={[0]=6.0,},
['Nova de Escarcha']={[0]=8.0,},
['Nova de escalofrío']={[0]=10.0,},
['Nova de hielo']={[0]=2.0,},
['Nova de rata']={[0]=10.0,},
['Nube de la Peste']={[0]=240.0,},
['Nube de polvo']={[0]=12.0,},
['Nube de veneno']={[0]=45.0,},
['Obsequio de Arthas']={[0]=180.0,},
['Obsequio de Arugal']={[0]=300.0,},
['Odio a cero']={[0]=1.7,},
['Ofuscamiento']={[0]=15.0,},
['Ojo de Immol\'thar']={[0]=4.0,},
['Ojo frío']={[0]=15.0,},
['Ola de choque']={[0]=2.0,},
['Ola explosiva']={[0]=6.0,},
['Orden de ataque']={[0]=10.0,},
['Orden de las Sombras']={[0]=15.0,},
['Orden frenética']={[0]=10.0,},
['Oscurecer visión']={[0]=12.0,},
['PREC Congelación III']={[0]=5.0,},
['Pacificar']={[0]=10.0,},
['Palabra Sagrada: entereza']={[0]=1800.0,},
['Palabra de las Sombras: dolor']={[0]=18.0,},
['Paliza popular']={[0]=5.0,},
['Paliza salvaje']={[0]=5.0,},
['Paralizar']={[0]=30.0,},
['Parasitar alma (PT)']={[0]=15.0,},
['Parras enredadoras']={[0]=10.0,},
['Parásito']={[0]=75.0,},
['Pata de conejo']={[0]=30.0,},
['Patada']={[0]=5.0,},
['Patada mordedora']={[0]=2.0,},
['Patada: silenciado']={[0]=2.0,},
['Pavor ancestral']={[0]=900.0,},
['Pesadilla de Naralex']={[0]=15.0,},
['Peste']={[0]=40.0,},
['Peste de fiebre']={[0]=180.0,},
['Peste devoradora']={[0]=24.0,},
['Peste espeluznante']={[0]=20.0,},
['Peste necrófaga']={[0]=1800.0,},
['Peste oscura']={[0]=90.0,},
['Peste repugnante']={[0]=300.0,},
['Peste vagante']={[0]=300.0,},
['Petrificar']={[0]=8.0,},
['Pez ralentizante']={[0]=25.0,},
['Picadura de víbora']={[0]=8.0,},
['Picar']={[0]=8.0,},
['Picar ojos']={[0]=12.0,},
['Pies cubiertos de musgo']={[0]=180.0,},
['Pillaterra']={[0]=4.0,},
['Pinchar']={[0]=10.0,},
['Pinchar armadura']={[0]=30.0,},
['Pinzamiento']={[0]=15.0,},
['Pinzamiento agudo']={[0]=5.0,},
['Piroclasma']={[0]=3.0,},
['Piroexplosión']={[0]=12.0,},
['Pisada de trueno']={[0]=5.0,},
['Pisotear']={[0]=10.0,},
['Pisotón de Azrethoc']={[0]=5.0,},
['Pisotón de guerra']={[0]=2.0,},
['Pisotón de kodo']={[0]=3.0,},
['Pisotón terrenal']={[0]=5.0,},
['Pisotón vil']={[0]=3.0,},
['Plantado']={[0]=3.0,},
['Poder de Shahram']={[0]=5.0,},
['Poder del enjambre: azul']={[0]=6.0,},
['Poder del enjambre: bronce']={[0]=5.0,},
['Poder del enjambre: rojo']={[0]=5.0,},
['Poder del enjambre: verde']={[0]=6.0,},
['Poderío de zapar']={[0]=300.0,},
['Podredumbre negra']={[0]=1800.0,},
['Polimorfia']={[1]=20.0,[2]=30.0,[3]=40.0,[4]=50.0,[0]=50.0,},
['Polimorfia superior']={[0]=20.0,},
['Polimorfia: cerdo']={[0]=50.0,},
['Polimorfia: gallina']={[0]=10.0,},
['Polimorfia: oveja']={[0]=10.0,},
['Polimorfia: tortuga']={[0]=50.0,},
['Polimorfia: vaca']={[0]=50.0,},
['Polomorfia salvaje']={[0]=20.0,},
['Posesión']={[0]=120.0,},
['Pozo de Luz']={[0]=180.0,},
['Prec de Maldición del Corazón Agrio']={[0]=180.0,},
['Premeditación']={[0]=10.0,},
['Profanar']={[0]=10.0,},
['Prot de descarga de hielo']={[0]=5.0,},
['Protección Sagrada']={[0]=3600.0,},
['Protección a la Escarcha']={[0]=3600.0,},
['Protección al Fuego']={[0]=3600.0,},
['Protección de la Naturaleza']={[0]=3600.0,},
['Protección de las Sombras']={[0]=3600.0,},
['Provocar locura']={[0]=6.0,},
['Prueba de medidor']={[0]=10.0,},
['Prueba de éxtasis']={[0]=5.0,},
['Pulverizador de tela de araña']={[0]=10.0,},
['Pulverizador de tinta']={[0]=15.0,},
['Purgar']={[0]=2.0,},
['Putrefacción de carne']={[0]=10.0,},
['Putrefacción mental']={[0]=30.0,},
['Puñalada envenenada']={[0]=15.0,},
['Puñetazo de Rhahk\'Zor']={[0]=3.0,},
['Puño de Ragnaros']={[0]=5.0,},
['Pánico']={[0]=8.0,},
['Púa de devilsaurio']={[0]=10.0,},
['Quebrador de almas']={[0]=30.0,},
['Quebradura muscular']={[0]=5.0,},
['Quemadura de Escarcha']={[0]=15.0,},
['Quemadura de alma']={[0]=16.0,},
['Quemadura de las Sombras']={[0]=5.0,},
['Quemadura de maná']={[0]=8.0,},
['Quitar arma']={[0]=15.0,},
['Rabia']={[0]=30.0,},
['Racha de viento']={[0]=4.0,},
['Radiación venenosa']={[0]=25.0,},
['Ralentizar']={[1]=10.0,[2]=15.0,[0]=15.0,},
['Rastro de babosa']={[0]=3.0,},
['Rayo encogedor']={[0]=20.0,},
['Rayo mortal gnomo']={[0]=4.0,},
['Rayo polimórfico']={[0]=4.0,},
['Raíces hierbales']={[0]=15.0,},
['Reavivación de alma']={[0]=1800.0,},
['Rebanasesos']={[0]=30.0,},
['Recobrar el llanto del cazadragones']={[0]=7200.0,},
['Recolectar alma']={[0]=60.0,},
['Red']={[0]=10.0,},
['Red Naraxis']={[0]=30.0,},
['Red de batalla']={[0]=10.0,},
['Red de mala suerte']={[0]=10.0,},
['Red electrificada']={[0]=10.0,},
['Redemática']={[0]=10.0,},
['Redes atrapantes']={[0]=6.0,},
['Refracción mágica']={[0]=10.0,},
['Refracción retorcida']={[0]=45.0,},
['Regeneración IV']={[0]=3600.0,},
['Reivindicación']={[0]=10.0,},
['Remolino de tela de araña']={[0]=7.0,},
['Rendimiento de cristal']={[0]=120.0,},
['Respiración acuática']={[0]=600.0,},
['Respiración de Sargeras']={[0]=90.0,},
['Retraso']={[0]=10.0,},
['Revancha del Chocallamas']={[0]=2.0,},
['Roca']={[0]=10.0,},
['Rocío ácido']={[0]=10.0,},
['Rompearmaduras']={[0]=45.0,},
['Rompetrueno']={[0]=2.5,},
['Rotura craneal']={[0]=20.0,},
['Ruptura']={[0]=6.0,},
['Ráfaga Arcana']={[0]=8.0,},
['Ráfaga con hachas']={[0]=2.0,},
['Ráfaga de antorcha']={[0]=30.0,},
['Ráfaga de babosa']={[0]=5.0,},
['Ráfaga sónica']={[0]=10.0,},
['Sacar espíritu']={[0]=5.0,},
['Sacrificio']={[0]=8.0,},
['Sacudida virósica']={[0]=20.0,},
['Sacudón de llamas']={[0]=45.0,},
['Saliva tóxica']={[0]=120.0,},
['Salpicadura ácida']={[0]=30.0,},
['Salud II']={[0]=3600.0,},
['Sangre']={[0]=15.0,},
['Sangre maldita']={[0]=600.0,},
['Sauce envolvente']={[0]=30.0,},
['Seccionar']={[0]=15.0,},
['Seccionar mejorado']={[0]=5.0,},
['Secuelas']={[0]=5.0,},
['Seducción']={[0]=15.0,},
['Segavientos']={[0]=20.0,},
['Sentencia de Justicia']={[0]=10.0,},
['Sentencia de Luz']={[0]=10.0,},
['Sentencia de Sabiduría']={[0]=10.0,},
['Sentencia del Cruzado']={[0]=10.0,},
['Serpiente parasitaria']={[0]=10.0,},
['Silencio']={[0]=5.0,},
['Socavar']={[0]=120.0,},
['Sol L']={[0]=5.0,},
['Solidificación gélida']={[0]=10.0,},
['Sombra de Ebanorroca']={[0]=8.0,},
['Sombra penetrante']={[0]=1800.0,},
['Somnolencia cristalina']={[0]=15.0,},
['Somnolencia del druida']={[0]=15.0,},
['Somnolencia profunda']={[0]=15.0,},
['Sostén de Escarcha']={[0]=10.0,},
['Sueño profundo']={[0]=10.0,},
['Sul\'thraze']={[0]=15.0,},
['Superrallo reductor']={[0]=20.0,},
['Susto atroz']={[0]=5.0,},
['Susurros de C\'Thun']={[0]=20.0,},
['TWEEP']={[0]=11.0,},
['Tajo de acechasombras']={[0]=5.0,},
['Tajo de tendón']={[0]=8.0,},
['Talismán AE']={[0]=300.0,},
['Tela de araña']={[0]=1.0,},
['Tela envolvente']={[0]=8.0,},
['Telaraña']={[0]=8.0,},
['Telaraña II']={[0]=10.0,},
['Telaraña III']={[0]=12.0,},
['Telas envolventes']={[0]=8.0,},
['Temblor mental']={[0]=600.0,},
['Temblor monumental']={[0]=2.0,},
['Terror de brujo']={[0]=2.0,},
['Test de desgarre']={[0]=12.0,},
['Test de golpe W35']={[0]=10.0,},
['Test de golpe W50']={[0]=10.0,},
['Test maldición de Agonía']={[0]=24.0,},
['Tetanus']={[0]=1200.0,},
['Tierra lanzada']={[0]=10.0,},
['Toque de corvozarpa']={[0]=5.0,},
['Toque de debilidad']={[0]=120.0,},
['Toque debilitador']={[0]=120.0,},
['Toque del Chocallamas']={[0]=3.0,},
['Toque escalofriante']={[0]=8.0,},
['Toque gélido de Trelane']={[0]=12.0,},
['Toque marchitado']={[0]=180.0,},
['Toque marchito']={[0]=120.0,},
['Torbellino']={[0]=2.0,},
['Tornado']={[0]=4.0,},
['Torpeza']={[0]=30.0,},
['Torpeza II']={[0]=30.0,},
['Torpeza III']={[0]=30.0,},
['Toxicidad']={[0]=60.0,},
['Toxina fangosa']={[0]=45.0,},
['Toxina letal']={[0]=180.0,},
['Toxina localizada']={[0]=60.0,},
['Toxina mortal']={[0]=12.0,},
['Toxina mortal II']={[0]=12.0,},
['Toxina mortal III']={[0]=12.0,},
['Toxina mortal IV']={[0]=12.0,},
['Trabazón gélida']={[0]=5.0,},
['Trabazón stigia']={[0]=5.0,},
['Trampa']={[0]=10.0,},
['Trampa fétida']={[0]=120.0,},
['Transformación involuntaria']={[0]=30.0,},
['Transfusión de alma']={[0]=12.0,},
['Traslación']={[0]=1.0,},
['Tremor terrenal']={[0]=2.0,},
['Triturar']={[0]=12.0,},
['Tropiezo']={[0]=3.0,},
['Trueno']={[1]=10.0,[2]=14.0,[3]=18.0,[4]=22.0,[5]=26.0,[6]=30.0,[0]=30.0,},
['Tumba de hielo']={[0]=10.0,},
['Técnica de cinco dedos gordos de explosión cardíaca']={[0]=30.0,},
['Tósigo de piel venenosa']={[0]=30.0,},
['Tótems corruptos']={[0]=30.0,},
['Vaporizador']={[0]=10.0,},
['Velo de Sombras']={[0]=15.0,},
['Veneno']={[0]=30.0,},
['Veneno Atal\'ai']={[0]=30.0,},
['Veneno aterrador']={[0]=120.0,},
['Veneno corrosivo']={[0]=30.0,},
['Veneno de acción lenta']={[0]=30.0,},
['Veneno de acción lenta II']={[0]=30.0,},
['Veneno de araña']={[0]=30.0,},
['Veneno de aturdimiento mental']={[0]=10.0,},
['Veneno de aturdimiento mental II']={[0]=12.0,},
['Veneno de aturdimiento mental III']={[0]=14.0,},
['Veneno de escórpido']={[0]=10.0,},
['Veneno de la memoria de Dirk']={[0]=30.0,},
['Veneno de sobrestante']={[0]=60.0,},
['Veneno de trepador']={[0]=300.0,},
['Veneno intoxicante']={[0]=120.0,},
['Veneno marchitante']={[0]=180.0,},
['Veneno mortal']={[0]=12.0,},
['Veneno mortal II']={[0]=12.0,},
['Veneno mortal III']={[0]=12.0,},
['Veneno mortal IV']={[0]=12.0,},
['Veneno mortal V']={[0]=12.0,},
['Veneno mortal de parásito']={[0]=45.0,},
['Veneno necrótico']={[0]=30.0,},
['Veneno paralizante']={[0]=12.0,},
['Veneno parasitante']={[0]=40.0,},
['Veneno pétalo de sangre']={[0]=30.0,},
['Veneno tranquilizante']={[0]=8.0,},
['Veneno virulento']={[0]=30.0,},
['Venganza']={[0]=600.0,},
['Venganza Tuercepinos']={[0]=6.0,},
['Venéno débil']={[0]=12.0,},
['Viaje giratorio']={[0]=2.0,},
['Vientos ardientes']={[0]=8.0,},
['Vientos envolventes']={[0]=10.0,},
['Vientos violentos']={[0]=1.0,},
['Vilazote']={[0]=20.0,},
['Viruela silítida']={[0]=1800.0,},
['Visión de locura']={[0]=3.0,},
['Volea']={[0]=2.0,},
['Voluntad de Hakkar']={[0]=20.0,},
['Voluntad vacilante']={[0]=60.0,},
['Vulnerabilidad a los hechizos']={[0]=5.0,},
['Vulnerabilidad de Fuego']={[0]=30.0,},
['Vulnerabilidad de las Sombras']={[0]=15.0,},
['Vulnerabilidad elemental']={[0]=30.0,},
['Vulnerable']={[0]=3.0,},
['Vínculos compartidos']={[0]=4.0,},
['Windsor retira a su caballo DND']={[0]=55.0,},
['Zapar']={[1]=25.0,[2]=35.0,[3]=45.0,[0]=45.0,},
['Zarcillo del aire']={[0]=2.0,},
['Zarpa inmovilizadora']={[0]=4.0,},
['Zurrar']={[0]=4.0,},
['[PH] Temporizador de cadáver de cristal']={[0]=7200.0,},
['¡Oh']={[0]=10.0,},
['¡Suerte del Festival!']={[0]=1800.0,},
['Ácido corrosivo']={[0]=300.0,},
['Ácido de Hakkar']={[0]=60.0,},
['Ácido perforatierra']={[0]=30.0,},
['Ánimo']={[0]=1800.0,},
}
-- custom entries not detected by DBC extractor
pfUI_locale["esES"]["debuffs"]['Cono de frío']={[0]=8.0,} -- Cone of Cold
-948
View File
@@ -1,16 +1,5 @@
pfUI_locale["frFR"] = {}
pfUI_locale["frFR"]["class"] = {
["Démoniste"] = "WARLOCK",
["Guerrier"] = "WARRIOR",
["Chasseur"] = "HUNTER",
["Mage"] = "MAGE",
["Prêtre"] = "PRIEST",
["Druide"] = "DRUID",
["Paladin"] = "PALADIN",
["Chaman"] = "SHAMAN",
["Voleur"] = "ROGUE",
}
pfUI_locale["frFR"]["healduration"] = {
["Rejuvenation"] = "Augmente la durée de votre sort Récupération de 3 sec.",
@@ -23,15 +12,6 @@ pfUI_locale["frFR"]["customcast"] = {
}
pfUI_locale["frFR"]["dyndebuffs"] = {
["Rupture"] = "Rupture",
["Kidney Shot"] = "Aiguillon perfide",
["Rend"] = "Pourfendre",
["Shadow Word: Pain"] = "Mot de l'ombre : Douleur",
["Demoralizing Shout"] = "Cri démoralisant",
["Frostbolt"] = "Eclair de givre",
["Gouge"] = "Suriner",
}
pfUI_locale["frFR"]["judgements"] = {
["Jugement de justice"] = true,
@@ -47,935 +27,7 @@ pfUI_locale["frFR"]["resurrections"] = {
["Esprit ancestral"] = true,
}
pfUI_locale["frFR"]["debuffs"] = {
['AE Charme']={[0]=300.0,},
['Accomplissement véritable']={[0]=20.0,},
['Acide corrosif']={[0]=300.0,},
['Acide d\'Hakkar']={[0]=60.0,},
['Acide de Fouisseur']={[0]=30.0,},
['Acide de tunnelier']={[0]=30.0,},
['Affaiblir']={[0]=120.0,},
['Affliction de l\'espèce : bleu']={[0]=600.0,},
['Affliction de l\'espèce : bronze']={[0]=600.0,},
['Affliction de l\'espèce : noir']={[0]=600.0,},
['Affliction de l\'espèce : rouge']={[0]=600.0,},
['Affliction de l\'espèce : vert']={[0]=600.0,},
['Agilité VIII']={[0]=3600.0,},
['Agilité altérée']={[0]=4.0,},
['Agilité diminuée']={[0]=300.0,},
['Agressivité nulle']={[0]=1.7,},
['Aiguillon de diablosaure']={[0]=10.0,},
['Aiguillon perfide']={[1]=0,[2]=1.0,},
['Ailes du désespoir']={[0]=6.0,},
['Alambic ectoplasmique']={[0]=3.0,},
['Amollir']={[0]=10.0,},
['Amplification des dégâts']={[0]=10.0,},
['Amplifier flammes']={[0]=30.0,},
['Annuler']={[0]=8.0,},
['Anti-triche chasseur Epique DND']={[0]=60.0,},
['Apaisement']={[0]=15.0,},
['Apaiser les animaux']={[0]=15.0,},
['Aperçu de la folie']={[0]=3.0,},
['Appel de la tombe']={[0]=60.0,},
['Apprivoise un Clampant de l\'écume']={[0]=900.0,},
['Apprivoise un Grand sanglier des rochers']={[0]=20.0,},
['Apprivoise un Hurleur Strigid']={[0]=900.0,},
['Apprivoise un Ours Griffeglace']={[0]=20.0,},
['Apprivoise un Rôdeur sabre-de-nuit']={[0]=900.0,},
['Apprivoise un Sanglier tacheté redoutable']={[0]=900.0,},
['Apprivoise un Traqueur des prairies']={[0]=900.0,},
['Apprivoise un léopard des neiges']={[0]=900.0,},
['Apprivoise un rapace']={[0]=900.0,},
['Apprivoise un scorpide blindé']={[0]=900.0,},
['Apprivoise un trotteur des plaines adulte']={[0]=900.0,},
['Apprivoise une Rôdeuse Tissebois']={[0]=900.0,},
['Apprivoise une bête']={[0]=20.0,},
['Armure IV']={[0]=3600.0,},
['Armure de puissance']={[0]=6.0,},
['Arrachevent']={[0]=20.0,},
['Aspect d\'Arlokk']={[0]=2.0,},
['Aspect de Jeklik']={[0]=5.0,},
['Aspect de Mar\'li']={[0]=6.0,},
['Aspect de Venoxis']={[0]=10.0,},
['Assaut sauvage']={[0]=30.0,},
['Assaut sauvage II']={[0]=30.0,},
['Assaut sauvage III']={[0]=30.0,},
['Assaut sauvage IV']={[0]=30.0,},
['Assaut sauvage V']={[0]=30.0,},
['Asservir']={[0]=15.0,},
['Asservir démon']={[0]=300.0,},
['Asservir un démon']={[0]=300.0,},
['Assommer']={[1]=25.0,[2]=35.0,[3]=45.0,[0]=45.0,},
['Attaque Arme de givre']={[0]=8.0,},
['Attaque de givre']={[0]=8.0,},
['Attaque surprise']={[0]=2.5,},
['Attirer esprit']={[0]=5.0,},
['Attirer un Rageur']={[0]=2.0,},
['Attraper une arme']={[0]=15.0,},
['Aura d\'Anub\'Rekhan']={[0]=5.0,},
['Aura d\'Emeriss']={[0]=10.0,},
['Aura d\'agonie']={[0]=8.0,},
['Aura de bataille']={[0]=10.0,},
['Aura de commandement']={[0]=30.0,},
['Aura de givre']={[0]=5.0,},
['Aura de la chandelle du rituel']={[0]=6.0,},
['Aura de peur']={[0]=3.0,},
['Aura de poison']={[0]=12.0,},
['Aura de sangsue (PT)']={[0]=15.0,},
['Aura de souillure']={[0]=5.0,},
['Aura du Seigneur sanglant']={[0]=5.0,},
['Aveuglement']={[0]=3.0,},
['Aveugleur']={[0]=12.0,},
['Baiser de l\'araignée']={[0]=10.0,},
['Balise de la faille']={[0]=60.0,},
['Bannir']={[1]=20.0,[2]=30.0,[0]=30.0,},
['Bave de Ver']={[0]=6.0,},
['Bave toxique']={[0]=120.0,},
['Berceuse enchantée']={[0]=10.0,},
['Berserk']={[0]=30.0,},
['Bile putride']={[0]=45.0,},
['Blessure']={[0]=25.0,},
['Blessure infectée']={[0]=300.0,},
['Blessure mortelle']={[0]=8.0,},
['Blessure profonde']={[0]=12.0,},
['Bombe fumigène']={[0]=4.0,},
['Bombe vivante']={[0]=8.0,},
['Bonne fortune de la Fête !']={[0]=1800.0,},
['Bonne fortune lunaire']={[0]=1800.0,},
['Bouclier de dégâts']={[0]=10.0,},
['Bouclier réflecteur']={[0]=5.0,},
['Boue projetée']={[0]=15.0,},
['Bouffée de maladie']={[0]=20.0,},
['Boule de feu']={[1]=4.0,[2]=6.0,[3]=6.0,[4]=8.0,[5]=8.0,[6]=8.0,[7]=8.0,[8]=8.0,[9]=8.0,[10]=8.0,[11]=8.0,[12]=8.0,[0]=8.0,},
['Bourbier']={[0]=5.0,},
['Bourrasque']={[0]=4.0,},
['Boutoir']={[0]=1.0,},
['Brasier']={[0]=30.0,},
['Brise-genou']={[0]=15.0,},
['Brise-genou amélioré']={[0]=5.0,},
['Brise-âme']={[0]=30.0,},
['Briser l\'armure']={[0]=45.0,},
['Briser l\'esprit']={[0]=3.0,},
['Brouillage']={[0]=15.0,},
['Broyeur de Malown']={[0]=2.0,},
['Brume pestiférée']={[0]=8.0,},
['Brûlure']={[0]=4.0,},
['Brûlure d\'âme']={[0]=16.0,},
['Brûlure de givre']={[0]=15.0,},
['Brûlure de l\'ombre']={[0]=5.0,},
['Brûlure de mana']={[0]=8.0,},
['Bulles d\'air']={[0]=10.0,},
['Bénédiction de Nordrassil']={[0]=10.0,},
['Bénédiction de la Marche noire']={[0]=6.0,},
['Bénédiction du chef de guerre']={[0]=3600.0,},
['Cadavre véreux']={[0]=600.0,},
['Capturer l\'esprit d\'un gangrechien']={[0]=9.0,},
['Capturer un Esprit']={[0]=9.0,},
['Capturer un Esprit d\'Infernal']={[0]=9.0,},
['Capturer un tréant']={[0]=5.0,},
['Carapace infernale']={[0]=10.0,},
['Catalyseur de Vekniss']={[0]=30.0,},
['Catalyseur de la Ruche\'Zara']={[0]=30.0,},
['Catalyseur nauséabond']={[0]=120.0,},
['Cauchemar de Naralex']={[0]=15.0,},
['Chaleur d\'affliction']={[0]=900.0,},
['Champignon d\'Aileron boueux']={[0]=8.0,},
['Champignon de Mirkfallon']={[0]=2700.0,},
['Chants de manifestation']={[0]=600.0,},
['Charge']={[0]=4.0,},
['Charge débilitante']={[0]=8.0,},
['Charge empoisonnée']={[0]=9.0,},
['Charge furieuse']={[0]=30.0,},
['Charge étourdissante']={[0]=1.0,},
['Charme des flots']={[0]=3.0,},
['Chaînes de Kel\'Thuzad']={[0]=20.0,},
['Chaînes de glace']={[1]=15.0,[2]=20.0,[0]=20.0,},
['Choc martial']={[0]=2.0,},
['Choc terrestre']={[0]=5.0,},
['Châtier le démon']={[0]=5.0,},
['Coiffe de contrôle mental gnome']={[0]=20.0,},
['Complainte de la Banshee']={[0]=12.0,},
['Compétence des Réprouvés']={[0]=300.0,},
['Conduit statique']={[0]=15.0,},
['Connexion d\'âme']={[0]=12.0,},
['Consumer']={[0]=15.0,},
['Conséquences']={[0]=5.0,},
['Contagion pourrissante']={[0]=240.0,},
['Contagion toxique']={[0]=60.0,},
['Contre-attaque']={[0]=5.0,},
['Contrecoup de métamorphose']={[0]=8.0,},
['Contresort']={[0]=10.0,},
['Contresort - Silencieux']={[0]=4.0,},
['Contrôle mental']={[0]=60.0,},
['Corruption']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=18.0,[5]=18.0,[6]=18.0,[7]=18.0,[0]=18.0,},
['Corruption de l\'âme']={[0]=15.0,},
['Corruption de la terre']={[0]=10.0,},
['Corruptrice']={[0]=60.0,},
['Coup bas']={[0]=4.0,},
['Coup de Tonnerre']={[0]=5.0,},
['Coup de bouclier']={[0]=6.0,},
['Coup de bouclier - silencieux']={[0]=3.0,},
['Coup de pied']={[0]=5.0,},
['Coup de pied - Silencieux']={[0]=2.0,},
['Coup de pied rapide']={[0]=2.0,},
['Coup de tonnerre']={[1]=10.0,[2]=14.0,[3]=18.0,[4]=22.0,[5]=26.0,[6]=30.0,[0]=30.0,},
['Coup de tête']={[0]=2.0,},
['Coup fané']={[0]=8.0,},
['Coup railleur']={[0]=6.0,},
['Coup tordu']={[0]=3.0,},
['Coup traumatisant']={[0]=5.0,},
['Coup étourdissant']={[1]=5.0,[2]=8.0,[0]=8.0,},
['Coupure d\'ailes']={[0]=10.0,},
['Coupure d\'ailes améliorée']={[0]=5.0,},
['Courroux du porte-peste']={[0]=10.0,},
['Courroux naturel']={[0]=12.0,},
['Crachat acide']={[0]=30.0,},
['Crachat d\'Acide corrosif']={[0]=10.0,},
['Crachat d\'abomination']={[0]=10.0,},
['Crachat de diversion']={[0]=15.0,},
['Crachat de magma']={[0]=30.0,},
['Crachat de venin corrosif']={[0]=10.0,},
['Crachat empoisonné']={[0]=15.0,},
['Crachat infectieux']={[0]=10.0,},
['Crachat venimeux']={[0]=10.0,},
['Cravache d\'esclavagiste']={[0]=30.0,},
['Cri de défi']={[0]=6.0,},
['Cri de guerre']={[0]=900.0,},
['Cri de ralliement du tueur de dragon']={[0]=7200.0,},
['Cri démoralisant']={[0]=30.0,},
['Cri d’intimidation']={[0]=8.0,},
['Cri effrayant']={[0]=6.0,},
['Cri incapacitant']={[0]=60.0,},
['Cri perçant']={[0]=6.0,},
['Cri psychique']={[0]=8.0,},
['Cris du passé']={[0]=5.0,},
['Cristal de réduction']={[0]=120.0,},
['Croc de l\'araignée de cristal']={[0]=10.0,},
['Croc-en-jambe']={[0]=3.0,},
['Croc-en-jambe circulaire']={[0]=2.0,},
['Création de l\'explosion du Cœur d\'Hakkar']={[0]=30.0,},
['Création de la faille du Cœur d\'Hakkar']={[0]=30.0,},
['Créature de cauchemar']={[0]=30.0,},
['Créer Cercle d\'invocation du cœur d\'Hakkar']={[0]=30.0,},
['Créer l\'Aura de Zul']={[0]=30.0,},
['Cécité']={[0]=10.0,},
['Dard acéré']={[0]=300.0,},
['Dard empoisonné']={[0]=15.0,},
['Dard venimeux']={[0]=45.0,},
['Discombobuler']={[0]=12.0,},
['Disjonction']={[0]=300.0,},
['Disparition']={[0]=20.0,},
['Dissoudre l\'armure']={[0]=20.0,},
['Domination']={[0]=15.0,},
['Domination mentale']={[0]=120.0,},
['Don d\'Arthas']={[0]=180.0,},
['Don d’Arugal']={[0]=300.0,},
['Douleur accablante']={[0]=15.0,},
['Douleur déchirante']={[0]=15.0,},
['Douleur paralysante']={[0]=10.0,},
['Douleurs insupportables']={[0]=180.0,},
['Drain de mana']={[0]=5.0,},
['Drain de vie']={[0]=5.0,},
['Drain d’âme']={[0]=10.0,},
['Dysenterie des Gelées']={[0]=1800.0,},
['Débiliter']={[0]=15.0,},
['Débiter']={[0]=6.0,},
['Déchireur de Gutgore']={[0]=30.0,},
['Déchirure']={[0]=12.0,},
['Déchirure du tendon']={[0]=8.0,},
['Déchirure musculaire']={[0]=5.0,},
['Déchirure test']={[0]=12.0,},
['Décimer']={[0]=3.0,},
['Décrépitude spirituelle']={[0]=1200.0,},
['Déflagration']={[0]=10.0,},
['Déflagration sacrée']={[0]=4.0,},
['Dégénérescence mentale']={[0]=30.0,},
['Déluge de haches']={[0]=2.0,},
['Démangeaison']={[0]=8.0,},
['Démembrer']={[0]=10.0,},
['Démoralisation']={[0]=30.0,},
['Désarmement']={[0]=10.0,},
['Désespoir ancestral']={[0]=5.0,},
['Détection de l\'invisibilité supérieure']={[0]=600.0,},
['Détection de la magie']={[0]=120.0,},
['Echo de rugissement']={[0]=20.0,},
['Eclair de Vide']={[0]=10.0,},
['Eclair de givre']={[1]=5.0,[2]=6.0,[3]=6.0,[4]=7.0,[5]=7.0,[6]=8.0,[7]=8.0,[8]=9.0,[9]=9.0,[10]=9.0,[11]=9.0,[0]=9.0,},
['Eclair de glace']={[0]=2.0,},
['Eclair de poison']={[0]=10.0,},
['Eclair de tempête']={[0]=5.0,},
['Eclat lunaire']={[1]=9.0,[2]=12.0,[3]=12.0,[4]=12.0,[5]=12.0,[6]=12.0,[7]=12.0,[8]=12.0,[9]=12.0,[10]=12.0,[0]=12.0,},
['Eclats stellaires']={[0]=6.0,},
['Ecraser armure']={[0]=30.0,},
['Effacer toutes les entraves']={[0]=1.0,},
['Effet Apparition Leurre']={[0]=5.0,},
['Effet Apparition Leurre perfectionné']={[0]=10.0,},
['Effet Garde de Laze']={[0]=3.0,},
['Effet Harcèlement']={[0]=3.0,},
['Effet Piège explosif']={[0]=20.0,},
['Effet Piège givrant']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Effet Piège immolation']={[0]=15.0,},
['Effet Plaie ouverte']={[0]=8.0,},
['Effet Sloth']={[0]=3.0,},
['Effet Venin de scorpion mineur']={[0]=60.0,},
['Effet de Charge farouche']={[0]=4.0,},
['Effet de Corruption sanguine']={[0]=10.0,},
['Effet de Provocation du Mannequin de Gizlock']={[0]=5.0,},
['Effet de Stase']={[0]=15.0,},
['Effet de souffrance de Taelan']={[0]=2.0,},
['Effet inferno']={[0]=2.0,},
['Effet étourdissant de la masse']={[0]=3.0,},
['Effrayer une bête']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Effroi de la Sanssaint']={[0]=6.0,},
['Elixir des arcanes supérieur']={[0]=1800.0,},
['Elixir des géants']={[0]=1200.0,},
['Elémentaire de feu']={[0]=8.0,},
['Empaler']={[0]=9.0,},
['Empire des âmes']={[0]=60.0,},
['Empoisonnement par radiations']={[0]=25.0,},
['Emprise']={[0]=10.0,},
['Emprise de Crispechardon']={[0]=8.0,},
['Enchaînement mortel']={[0]=5.0,},
['Enchevêtrement']={[0]=8.0,},
['Encorner']={[0]=15.0,},
['Encouragement']={[0]=1800.0,},
['Endurance altérée']={[0]=4.0,},
['Energie noire']={[0]=300.0,},
['Enflammer']={[0]=4.0,},
['Enflammer la chair']={[0]=60.0,},
['Enflammer le mana']={[0]=300.0,},
['Entaille Traqueur de l\'ombre']={[0]=5.0,},
['Entraves de magma']={[0]=15.0,},
['Entraves des morts-vivants']={[1]=30.0,[2]=40.0,[3]=50.0,[0]=50.0,},
['Enzyme putride']={[0]=300.0,},
['Epine infectieuse']={[0]=300.0,},
['Epines']={[0]=600.0,},
['Epouvante']={[0]=5.0,},
['Esprit corrompu']={[0]=600.0,},
['Esprit de Lunegriffe']={[0]=120.0,},
['Esprit des Zandalar']={[0]=7200.0,},
['Esprit divin']={[0]=1800.0,},
['Esprit pestiféré']={[0]=600.0,},
['Esprits hanteurs']={[0]=300.0,},
['Essaim d\'insectes']={[0]=12.0,},
['Essence du Rouge']={[0]=180.0,},
['Etendard de bataille']={[0]=3.0,},
['Etouffement']={[0]=300.0,},
['Etouffer']={[0]=6.0,},
['Etourdir']={[0]=2.0,},
['Etourdissement de la Transformation de Balnazzar']={[0]=5.0,},
['Etourdissement vengeur']={[0]=3.0,},
['Etreinte de glace']={[0]=5.0,},
['Etreinte de la veuve']={[0]=30.0,},
['Etreinte stygienne']={[0]=5.0,},
['Etreinte vampirique']={[0]=60.0,},
['Expiation']={[0]=2.0,},
['Exploser']={[0]=2.5,},
['Explosion de gelée']={[0]=5.0,},
['Explosion de l\'insecte']={[0]=4.0,},
['Explosion de l\'œuf']={[0]=3.0,},
['Explosion de rets']={[0]=10.0,},
['Explosion de tonneau']={[0]=3.0,},
['Explosion paralysante']={[1]=3.0,[2]=5.0,[0]=5.0,},
['Explosion pyrotechnique']={[0]=12.0,},
['Explosion sonore']={[0]=10.0,},
['Exposer l\'armure']={[0]=30.0,},
['Extraction d\'essence']={[0]=12.0,},
['Faiblesse']={[0]=20.0,},
['Faire détoner mana']={[0]=5.0,},
['Fantômes hanteurs']={[0]=300.0,},
['Fatigue fièvreuse']={[0]=1800.0,},
['Faucher la foule']={[0]=5.0,},
['Faux Jeff 1']={[0]=30.0,},
['Faux Jeff 2']={[0]=30.0,},
['Fendoir vicieux']={[0]=15.0,},
['Fendre armure']={[0]=15.0,},
['Feu douillet']={[0]=60.0,},
['Feu stellaire étourdissant']={[0]=3.0,},
['Feu vertueux']={[0]=8.0,},
['Filet']={[0]=10.0,},
['Filet lesté']={[0]=10.0,},
['Filet électrifié']={[0]=10.0,},
['Fiole de poison']={[0]=30.0,},
['Fixer']={[0]=10.0,},
['Fièvre de décrépitude']={[0]=21.0,},
['Fièvre torride']={[0]=600.0,},
['Flamboyante de Stratholme']={[0]=30.0,},
['Flamme d\'ombre']={[0]=10.0,},
['Flammes de cautérisation']={[0]=900.0,},
['Flammes incendiaires']={[0]=9.0,},
['Flammes sacrées']={[0]=10.0,},
['Floraison fongique']={[0]=90.0,},
['Flot de gelée']={[0]=3.0,},
['Flèche d\'infection']={[0]=300.0,},
['Flèche de dispersion']={[0]=4.0,},
['Flèche de givre']={[0]=10.0,},
['Flèche noire']={[0]=30.0,},
['Flétrissement']={[0]=21.0,},
['Fondre armure']={[0]=60.0,},
['Fonte de minerai']={[0]=20.0,},
['Fonte des os']={[0]=20.0,},
['Force altérée']={[0]=4.0,},
['Force diminuée']={[0]=300.0,},
['Fouet']={[0]=2.0,},
['Fouet de flammes']={[0]=45.0,},
['Fouet mental']={[0]=3.0,},
['Fouette-bile']={[0]=20.0,},
['Fouette-queue']={[0]=2.0,},
['Fourche démoniaque']={[0]=25.0,},
['Fracas de vagues']={[0]=10.0,},
['Fracas du tonnerre']={[0]=2.5,},
['Fracas sacré']={[0]=60.0,},
['Fracasse-tête']={[0]=2.0,},
['Fracasser armure']={[0]=30.0,},
['Fragilité']={[0]=60.0,},
['Frappe de Rhahk\'Zor']={[0]=3.0,},
['Frappe déséquilibrante']={[0]=6.0,},
['Frappe fantomatique']={[0]=7.0,},
['Frappe fantôme']={[0]=20.0,},
['Frappe mortelle']={[0]=10.0,},
['Frappe étourdissante']={[0]=4.0,},
['Froid hivernal']={[0]=15.0,},
['Froid épouvantable']={[0]=120.0,},
['Fureur de la fête du feu']={[0]=3600.0,},
['Furie sanguinaire']={[0]=15.0,},
['Garde du filet']={[0]=20.0,},
['Garrot']={[0]=18.0,},
['Gel']={[0]=15.0,},
['Gel III (proc)']={[0]=5.0,},
['Gel instantané']={[0]=5.0,},
['Geler sur place']={[0]=10.0,},
['Gelée acide']={[0]=30.0,},
['Gelée putride']={[0]=120.0,},
['Gelée urticante']={[0]=1800.0,},
['Geyser']={[0]=5.0,},
['Givre']={[0]=10.0,},
['Glacial']={[0]=10.0,},
['Goudron poisseux']={[0]=4.0,},
['Grand enchaînement']={[0]=10.0,},
['Griffe d\'aigle']={[0]=15.0,},
['Griffe glaciale']={[0]=5.0,},
['Griffeglace']={[0]=6.0,},
['Griffes d\'Eskhandar']={[0]=30.0,},
['Griffure']={[0]=9.0,},
['Grognement d\'intimidation']={[0]=30.0,},
['Grondement']={[0]=3.0,},
['Grondement d’intimidation']={[0]=5.0,},
['Grondement menaçant']={[0]=30.0,},
['Grondement redoutable']={[0]=15.0,},
['Grondement ébranleur']={[0]=5.0,},
['Gueule enragée']={[0]=30.0,},
['Harcèlement']={[1]=10.0,[2]=20.0,[3]=30.0,[0]=30.0,},
['Harpon empoisonné']={[0]=60.0,},
['Heurt de bouclier']={[0]=2.0,},
['Heurtoir']={[0]=2.0,},
['Hibernation']={[1]=20.0,[2]=30.0,[3]=40.0,[0]=40.0,},
['Horion de flammes']={[0]=12.0,},
['Horion de givre']={[0]=8.0,},
['Horion de terre']={[0]=2.0,},
['Horion sonore']={[0]=300.0,},
['Humus rampant']={[0]=60.0,},
['Hurlement']={[0]=4.0,},
['Hurlement assourdissant']={[0]=8.0,},
['Hurlement de Cinglenuit']={[0]=15.0,},
['Hurlement de la Banshee']={[0]=5.0,},
['Hurlement de terreur']={[1]=10.0,[2]=15.0,[0]=15.0,},
['Hurlement perçant']={[0]=6.0,},
['Hurlement sanguinaire']={[0]=15.0,},
['Hurlement terrifiant']={[0]=4.0,},
['Hystérie ancienne']={[0]=900.0,},
['Hébétement']={[0]=4.0,},
['Hébétement prolongé']={[0]=6.0,},
['Hémorragie']={[0]=15.0,},
['Illusions de Jin\'do']={[0]=20.0,},
['Immolation']={[0]=15.0,},
['Immunité']={[0]=1800.0,},
['Impact']={[0]=2.0,},
['Incandescente']={[0]=30.0,},
['Incinérer']={[0]=60.0,},
['Inciter les Flammes']={[0]=60.0,},
['Infection de Crapaud-bile']={[0]=180.0,},
['Infection volatile']={[0]=120.0,},
['Injection mutante']={[0]=10.0,},
['Inquisition']={[0]=30.0,},
['Instinct de survie']={[0]=2.0,},
['Intelligence IX']={[0]=3600.0,},
['Intelligence altérée']={[0]=4.0,},
['Intelligence des arcanes']={[0]=1800.0,},
['Interception étourdissante']={[0]=3.0,},
['Interrompre (PT)']={[0]=30.0,},
['Intimidation']={[0]=3.0,},
['Invocation Divers DND']={[0]=600.0,},
['Invocation d\'Isalien DND']={[0]=600.0,},
['Invocation d\'un chevalier']={[0]=180.0,},
['Invocation d\'un chevalier monté']={[0]=120.0,},
['Invocation d\'un esprit de Darrowshire']={[0]=60.0,},
['Invocation d\'un esprit de hurleur']={[0]=120.0,},
['Invocation d\'une jeune recrue']={[0]=230.0,},
['Invocation d\'une vigne guérie de Celebrian']={[0]=604800.0,},
['Invocation d\'une âme libérée']={[0]=60.0,},
['Invocation de Jarien et Sothos DND']={[0]=600.0,},
['Invocation de Kormok DND']={[0]=600.0,},
['Invocation de Marduk le Noir']={[0]=300.0,},
['Invocation de Mor Grayhoof DND']={[0]=600.0,},
['Invocation de Thelrin DND']={[0]=600.0,},
['Invocation du générateur de Finkle']={[0]=5.0,},
['Invocation du seigneur Valthalak DND']={[0]=600.0,},
['Irradié']={[0]=60.0,},
['Jaillissement des arcanes']={[0]=8.0,},
['Jet d\'encre']={[0]=15.0,},
['Jet de rets']={[0]=10.0,},
['Jet de vapeur']={[0]=10.0,},
['Jet d’acide']={[0]=30.0,},
['Jugement de justice']={[0]=10.0,},
['Jugement de lumière']={[0]=10.0,},
['Jugement de sagesse']={[0]=10.0,},
['Jugement du Croisé']={[0]=10.0,},
['Justice du généralissime']={[0]=5.0,},
['Justification']={[0]=10.0,},
['La confiance de Golemagg']={[0]=2.0,},
['Lacérations']={[0]=60.0,},
['Lacérer']={[0]=8.0,},
['Lambeau']={[0]=12.0,},
['Lame des lamentations']={[0]=30.0,},
['Lame maudite']={[0]=20.0,},
['Lame-tonnerre']={[0]=12.0,},
['Lance-filet automatique']={[0]=10.0,},
['Lancement de torche']={[0]=30.0,},
['Lancer de Hache']={[0]=2.0,},
['Lancer de hache']={[0]=3.0,},
['Larve de Gelée']={[0]=6.0,},
['Lenteur']={[1]=10.0,[2]=15.0,[0]=15.0,},
['Lianes avides']={[0]=10.0,},
['Lien à la terre']={[0]=5.0,},
['Liens partagés']={[0]=4.0,},
['Limace des ténèbres']={[0]=300.0,},
['Limace noire']={[0]=120.0,},
['Limon corrosif']={[0]=60.0,},
['Limon ralentisseur']={[0]=10.0,},
['Linceul de flammes']={[0]=6.0,},
['Linceul de toiles']={[0]=8.0,},
['Linceul de vents']={[0]=10.0,},
['Lit de mort']={[0]=10.0,},
['Lucioles']={[0]=40.0,},
['Lucioles (farouche)']={[0]=40.0,},
['Lésions cérébrales']={[0]=30.0,},
['Léthargie cristalline']={[0]=15.0,},
['Léthargie druidique']={[0]=15.0,},
['Léthargie profonde']={[0]=15.0,},
['Magie sauvage']={[0]=30.0,},
['Main de Ragnaros']={[0]=2.0,},
['Main de Thaurissan']={[0]=5.0,},
['Mains couvertes de mousse']={[0]=180.0,},
['Maintien de givre']={[0]=10.0,},
['Maladie affaiblissante']={[0]=30.0,},
['Maladie du Champignon magenta']={[0]=1200.0,},
['Maladie térébrante']={[0]=300.0,},
['Maladresse']={[0]=30.0,},
['Maladresse II']={[0]=30.0,},
['Maladresse III']={[0]=30.0,},
['Malédiction d\'Hakkar']={[0]=120.0,},
['Malédiction d\'agonie']={[0]=24.0,},
['Malédiction d\'idiotie']={[0]=120.0,},
['Malédiction d\'impuissance']={[0]=120.0,},
['Malédiction de Brandefeu']={[0]=300.0,},
['Malédiction de Gehennas']={[0]=300.0,},
['Malédiction de Lucifron']={[0]=300.0,},
['Malédiction de Marduk']={[0]=5.0,},
['Malédiction de Mornecoeur']={[0]=180.0,},
['Malédiction de Shazzrah']={[0]=300.0,},
['Malédiction de Stalvan']={[0]=600.0,},
['Malédiction de Thule']={[0]=240.0,},
['Malédiction de Timmy']={[0]=60.0,},
['Malédiction de Tuten\'kash']={[0]=900.0,},
['Malédiction de faiblesse']={[0]=120.0,},
['Malédiction de fatigue']={[0]=12.0,},
['Malédiction de guérison']={[0]=180.0,},
['Malédiction de l\'ombre']={[0]=300.0,},
['Malédiction de la Banshee']={[0]=12.0,},
['Malédiction de la corne noire']={[0]=300.0,},
['Malédiction de l’oeil']={[0]=120.0,},
['Malédiction de témérité']={[0]=120.0,},
['Malédiction de vengeance']={[0]=900.0,},
['Malédiction des Cognepeurs']={[0]=60.0,},
['Malédiction des Magram défunts']={[0]=900.0,},
['Malédiction des Mort-bois']={[0]=120.0,},
['Malédiction des Tribus']={[0]=1800.0,},
['Malédiction des langages']={[0]=30.0,},
['Malédiction des éléments']={[0]=300.0,},
['Malédiction des épines']={[0]=180.0,},
['Malédiction du Porte-peste']={[0]=10.0,},
['Malédiction du Rat pestiféré']={[0]=14.0,},
['Malédiction du Sang']={[0]=600.0,},
['Malédiction du Seigneur élémentaire']={[0]=60.0,},
['Malédiction du Sombre maître']={[0]=60.0,},
['Malédiction du bois morne']={[0]=60.0,},
['Malédiction d’Arugal']={[0]=10.0,},
['Malédiction funeste']={[0]=60.0,},
['Malédiction imminente']={[0]=10.0,},
['Malédiction impie']={[0]=12.0,},
['Malédiction inévitable']={[0]=10.0,},
['Maléfice']={[0]=10.0,},
['Maléfice de Jammal\'an']={[0]=10.0,},
['Maléfice de Ravenclaw']={[0]=30.0,},
['Maléfice de faiblesse']={[0]=120.0,},
['Maléfice vaudou']={[0]=120.0,},
['Manteau de suie']={[0]=10.0,},
['Marque d\'Arlokk']={[0]=120.0,},
['Marque de Blaumeux']={[0]=75.0,},
['Marque de Kazzak']={[0]=60.0,},
['Marque de Korth\'azz']={[0]=75.0,},
['Marque de Mograine']={[0]=75.0,},
['Marque de Zeliek']={[0]=75.0,},
['Marque de détonation']={[0]=30.0,},
['Marque de givre']={[0]=12.0,},
['Marque de l\'ombre']={[0]=15.0,},
['Marque de la nature']={[0]=12.0,},
['Marque des flammes']={[0]=120.0,},
['Marque du chasseur']={[0]=120.0,},
['Marque du fauve']={[0]=1800.0,},
['Marteau de croisé']={[0]=4.0,},
['Marteau de la justice']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=6.0,[0]=6.0,},
['Marteau du Juge']={[0]=10.0,},
['Martèlement violent']={[0]=10.0,},
['Masse suintante']={[0]=30.0,},
['Meurtrissure']={[0]=5.0,},
['Miasme aquatique']={[0]=3600.0,},
['Mise KO']={[0]=6.0,},
['Mise en cage']={[0]=30.0,},
['Moisson d\'âme']={[0]=60.0,},
['Montée d\'adrénaline']={[0]=20.0,},
['Morsure de la main']={[0]=8.0,},
['Morsure de la veuve']={[0]=4.0,},
['Morsure de serpent']={[0]=15.0,},
['Morsure de vipère']={[0]=8.0,},
['Morsure du givre']={[0]=5.0,},
['Morsure enragée']={[0]=6.0,},
['Morsure fatale']={[0]=12.0,},
['Morsure infectieuse']={[0]=180.0,},
['Morsure lacérante']={[0]=30.0,},
['Morsure putride']={[0]=30.0,},
['Morsures purulentes']={[0]=1800.0,},
['Mort du sous-chef Sombrefer']={[0]=6.0,},
['Mot de l\'ombre : Douleur']={[0]=18.0,},
['Mot de l\'ombre : Douleur']={[0]=18.0,},
['Mot sacré : Robustesse']={[0]=1800.0,},
['Mouvement de distraction']={[0]=7.0,},
['Murmures de C\'Thun']={[0]=20.0,},
['Mutation chromatique']={[0]=300.0,},
['Mutation de l\'insecte']={[0]=240.0,},
['Mutilation']={[0]=2.0,},
['Mutiler']={[0]=2.0,},
['Mélasse']={[0]=3.0,},
['Métal en fusion']={[0]=15.0,},
['Métamorphose']={[1]=20.0,[2]=30.0,[3]=40.0,[4]=50.0,[0]=50.0,},
['Métamorphose : cochon']={[0]=50.0,},
['Métamorphose : tortue']={[0]=50.0,},
['Métamorphose : vache']={[0]=50.0,},
['Métamorphose sauvage']={[0]=20.0,},
['Métamorphose supérieure']={[0]=20.0,},
['Métamorphose : mouton']={[0]=10.0,},
['Métamorphose : poulet']={[0]=10.0,},
['Nova de gel']={[0]=10.0,},
['Nova de givre']={[0]=8.0,},
['Nova de glace']={[0]=2.0,},
['Nova du Rat']={[0]=10.0,},
['Nuage de fumée']={[0]=3.0,},
['Nuage de poussière']={[0]=12.0,},
['Nuage empoisonné']={[0]=45.0,},
['Nuée de peste']={[0]=240.0,},
['Nuée de sauterelles']={[0]=6.0,},
['Ombre de Rochébène']={[0]=8.0,},
['Ombre perforante']={[0]=1800.0,},
['Onde de choc']={[0]=3.0,},
['Ordre d\'attaque']={[0]=10.0,},
['Ordre d\'ombre']={[0]=15.0,},
['Ordre de combat']={[0]=6.0,},
['Ordre frénétique']={[0]=10.0,},
['Oups !']={[0]=10.0,},
['Pacifier']={[0]=10.0,},
['Panique']={[0]=8.0,},
['Panneau de contrôle']={[0]=60.0,},
['Paralysie']={[0]=30.0,},
['Parasite']={[0]=75.0,},
['Perce-armure']={[0]=20.0,},
['Perce-faille']={[0]=5.0,},
['Percer']={[0]=10.0,},
['Percer cheville']={[0]=3.0,},
['Peste']={[0]=40.0,},
['Peste de goule']={[0]=1800.0,},
['Peste dévorante']={[0]=24.0,},
['Peste fièvreuse']={[0]=180.0,},
['Peste fiévreuse']={[0]=180.0,},
['Peste galopante']={[0]=300.0,},
['Peste noire']={[0]=90.0,},
['Peste progressive']={[0]=20.0,},
['Peste émétique']={[0]=300.0,},
['Petit Balayage']={[0]=12.0,},
['Peur']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Peur (NYI)']={[0]=15.0,},
['Peur corrompue']={[0]=2.0,},
['Pieds couverts de mousse']={[0]=180.0,},
['Pinces acérées']={[0]=5.0,},
['Pinces de saisie']={[0]=15.0,},
['Piqûre de scorpide']={[0]=20.0,},
['Piqûre de scorpide améliorée']={[0]=20.0,},
['Piqûre de wyverne']={[0]=12.0,},
['Piège']={[0]=5.0,},
['Piège d\'herbes-fouet']={[0]=18.0,},
['Piège puant']={[0]=120.0,},
['Piétinement']={[0]=10.0,},
['Piétinement de kodo']={[0]=3.0,},
['Piétinement d’Azrethoc']={[0]=5.0,},
['Plaie sérieuse']={[0]=10.0,},
['Plainte mortelle']={[0]=6.0,},
['Planté']={[0]=3.0,},
['Plongeon frénétique']={[0]=2.0,},
['Pluie d\'acide']={[0]=10.0,},
['Poignarder Traqueur de l\'ombre']={[0]=5.0,},
['Poigne d\'autorité']={[0]=10.0,},
['Poignée de terre']={[0]=4.0,},
['Poignée griffue']={[0]=4.0,},
['Poing de Ragnaros']={[0]=5.0,},
['Poison']={[0]=30.0,},
['Poison Pétale-de-sang']={[0]=30.0,},
['Poison affaiblissant']={[0]=12.0,},
['Poison atal\'ai']={[0]=30.0,},
['Poison corrosif']={[0]=30.0,},
['Poison d\'affliction']={[0]=180.0,},
['Poison de Peau-de-venin']={[0]=30.0,},
['Poison de distraction mentale']={[0]=10.0,},
['Poison de distraction mentale II']={[0]=12.0,},
['Poison de distraction mentale III']={[0]=14.0,},
['Poison de drain mortel']={[0]=45.0,},
['Poison de l\'esprit']={[0]=15.0,},
['Poison de l’araignée']={[0]=30.0,},
['Poison de sangsue']={[0]=40.0,},
['Poison de scorpide']={[0]=10.0,},
['Poison douloureux']={[0]=15.0,},
['Poison du souvenir de Dirk']={[0]=30.0,},
['Poison du surveillant']={[0]=60.0,},
['Poison engourdissant']={[0]=25.0,},
['Poison faible']={[0]=12.0,},
['Poison lent']={[0]=30.0,},
['Poison lent II']={[0]=30.0,},
['Poison létal']={[0]=120.0,},
['Poison mortel']={[0]=12.0,},
['Poison mortel II']={[0]=12.0,},
['Poison mortel III']={[0]=12.0,},
['Poison mortel IV']={[0]=12.0,},
['Poison mortel V']={[0]=12.0,},
['Poison nécrotique']={[0]=30.0,},
['Poison paralysant']={[0]=8.0,},
['Poison tranquilisant']={[0]=8.0,},
['Poison virulent']={[0]=30.0,},
['Possession']={[0]=120.0,},
['Pourfendeur fracassant']={[0]=30.0,},
['Pourfendre']={[1]=9.0,[2]=12.0,[3]=15.0,[4]=18.0,[5]=21.0,[6]=21.0,[7]=21.0,[0]=21.0,},
['Pourfendre la chair']={[0]=12.0,},
['Pourriture de la goule']={[0]=600.0,},
['Pourriture noire']={[0]=1800.0,},
['Poussière projetée']={[0]=10.0,},
['Pouvoir d\'espèce : Bleu']={[0]=6.0,},
['Pouvoir d\'espèce : Bronze']={[0]=5.0,},
['Pouvoir d\'espèce : Rouge']={[0]=5.0,},
['Pouvoir d\'espèce : Vert']={[0]=6.0,},
['Problème de mobilité']={[0]=20.0,},
['Profanation']={[0]=10.0,},
['Projectiles des arcanes']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=5.0,[5]=5.0,[6]=5.0,[7]=5.0,[8]=5.0,[0]=5.0,},
['Projection de magma']={[0]=30.0,},
['Prot Eclair de glace']={[0]=5.0,},
['Protection contre l\'Ombre']={[0]=3600.0,},
['Protection contre la Nature']={[0]=3600.0,},
['Protection contre le Feu']={[0]=3600.0,},
['Protection contre le Givre']={[0]=3600.0,},
['Protection contre le Sacré']={[0]=3600.0,},
['Provocation']={[0]=3.0,},
['Préméditation']={[0]=10.0,},
['Puanteur accablante']={[0]=6.0,},
['Puanteur pourrie']={[0]=10.0,},
['Puissance de Shahram']={[0]=5.0,},
['Puissance étourdissante']={[0]=300.0,},
['Puissant soufflet']={[0]=3.0,},
['Puits de lumière']={[0]=180.0,},
['Putréfaction de la chair']={[0]=10.0,},
['Pyroclasme']={[0]=3.0,},
['Pétrifier']={[0]=8.0,},
['Racines d\'herbe-fouet']={[0]=15.0,},
['Rafale de flammes']={[0]=45.0,},
['Rage']={[0]=600.0,},
['Rage d\'Arantir']={[0]=6.0,},
['Rage de Thule']={[0]=120.0,},
['Rage hurlante']={[0]=300.0,},
['Ralentissement']={[0]=10.0,},
['Rapetisser']={[0]=120.0,},
['Ravage']={[0]=2.0,},
['Rayon mortel gnome']={[0]=4.0,},
['Rayon polymorphique']={[0]=4.0,},
['Rayon réducteur']={[0]=20.0,},
['Reflet tordu']={[0]=45.0,},
['Regard de cristal']={[0]=6.0,},
['Regard menaçant']={[0]=6.0,},
['Regard repoussant']={[0]=8.0,},
['Remous']={[0]=4.0,},
['Renaissance de l\'âme']={[0]=1800.0,},
['Rendre fou']={[0]=6.0,},
['Renverser']={[0]=2.0,},
['Renvoi de la magie']={[0]=10.0,},
['Renvoi des morts-vivants']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Repentir']={[0]=6.0,},
['Respiration aquatique']={[0]=600.0,},
['Retour de flammes']={[0]=30.0,},
['Rets']={[0]=8.0,},
['Rets II']={[0]=10.0,},
['Rets III']={[0]=12.0,},
['Rets de Naraxis']={[0]=30.0,},
['Rets enveloppants']={[0]=6.0,},
['Revers']={[0]=2.0,},
['Riposte']={[0]=6.0,},
['Robustesse de la fête du feu']={[0]=3600.0,},
['Rocher']={[0]=10.0,},
['Rougecroc']={[0]=6.0,},
['Rugissement d\'intimidation']={[0]=8.0,},
['Rugissement démoralisant']={[0]=30.0,},
['Rugissement glacial']={[0]=3.0,},
['Rugissement provocateur']={[0]=6.0,},
['Rugissement puissant']={[0]=3.0,},
['Rugissement terrifiant']={[0]=5.0,},
['Rupture']={[0]=6.0,},
['Régénération IV']={[0]=3600.0,},
['Réveiller les Gardiens terrestres']={[0]=5.0,},
['Saccager']={[0]=2.5,},
['Sacrifice']={[0]=8.0,},
['Salve d\'acide']={[0]=25.0,},
['Salve d\'éclairs de givre']={[0]=8.0,},
['Salve d\'éclairs de poison']={[0]=10.0,},
['Salve toxique']={[0]=15.0,},
['Sang maudit']={[0]=600.0,},
['Santé II']={[0]=3600.0,},
['Sarments']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=21.0,[5]=24.0,[6]=27.0,[0]=27.0,},
['Secousse violente']={[0]=2.0,},
['Sensibilité au Feu']={[0]=45.0,},
['Sensibilité au Givre']={[0]=45.0,},
['Sensibilité aux Arcanes']={[0]=45.0,},
['Sensibilité à l\'Ombre']={[0]=45.0,},
['Sensibilité à la Nature']={[0]=45.0,},
['Serpent parasite']={[0]=10.0,},
['Serre d\'effroi']={[0]=60.0,},
['Silence']={[0]=5.0,},
['Siphon d\'âme']={[0]=15.0,},
['Siphon de Vie']={[0]=15.0,},
['Siphon de bénédiction']={[0]=30.0,},
['Siphon de sang']={[0]=8.0,},
['Siphon de santé']={[0]=15.0,},
['Siphon de vie']={[0]=30.0,},
['Siphon d’âme']={[0]=10.0,},
['Soins corrompus']={[0]=30.0,},
['Soins de masse']={[0]=12.0,},
['Sol L']={[0]=5.0,},
['Sommeil']={[1]=20.0,[2]=30.0,[0]=30.0,},
['Sommeil profond']={[0]=10.0,},
['Somnambulisme']={[0]=10.0,},
['Sonner']={[1]=2.0,[2]=3.0,[3]=4.0,[0]=4.0,},
['Souffle de Sargeras']={[0]=90.0,},
['Souffle glacial']={[0]=12.0,},
['Souffle putride']={[0]=30.0,},
['Stupidité']={[0]=30.0,},
['Stupidité II']={[0]=30.0,},
['Submersion']={[0]=60.0,},
['Sul\'thraze']={[0]=15.0,},
['Super rayon réducteur']={[0]=20.0,},
['Suriner']={[0]=4.0,},
['Séduction']={[0]=15.0,},
['TWEEP']={[0]=11.0,},
['Taille-tendon']={[0]=8.0,},
['Tape-crâne']={[0]=2.0,},
['Technique du cœur explosé par le gros doigt à cinq points']={[0]=30.0,},
['Tempête de grêle']={[0]=3.0,},
['Terreur ancienne']={[0]=900.0,},
['Terreur du démoniste']={[0]=2.0,},
['Terrifier']={[0]=4.0,},
['Test Frappe W35']={[0]=10.0,},
['Test Frappe W50']={[0]=10.0,},
['Test de Malédiction d\'agonie']={[0]=24.0,},
['Test de Stase']={[0]=5.0,},
['Tir désarçonnant']={[0]=2.0,},
['Tir empoisonné']={[0]=75.0,},
['Tir perforant']={[0]=15.0,},
['Tissage de toile']={[0]=7.0,},
['Toile d\'araignée']={[0]=1.0,},
['Toiles collantes']={[0]=8.0,},
['Tombeau de glace']={[0]=10.0,},
['Tonneau piège']={[0]=2.0,},
['Tornade']={[0]=4.0,},
['Totems corrompus']={[0]=30.0,},
['Toucher de Flétrissure']={[0]=180.0,},
['Toucher de Ravenclaw']={[0]=5.0,},
['Toucher de faiblesse']={[0]=120.0,},
['Toucher de flétrissement']={[0]=120.0,},
['Toucher du Bouteflammes']={[0]=3.0,},
['Toucher débilitant']={[0]=120.0,},
['Toucher glacial']={[0]=8.0,},
['Toucher glacial de Trelane']={[0]=12.0,},
['Tourbillon']={[0]=2.0,},
['Toxine de Limace']={[0]=45.0,},
['Toxine localisée']={[0]=60.0,},
['Toxine mortelle']={[0]=12.0,},
['Toxine mortelle II']={[0]=12.0,},
['Toxine mortelle III']={[0]=12.0,},
['Toxine mortelle IV']={[0]=12.0,},
['Trait de choc']={[0]=4.0,},
['Trait de choc amélioré']={[0]=3.0,},
['Trait de gelée']={[0]=6.0,},
['Trait de glace']={[0]=10.0,},
['Trait de l\'ombre']={[0]=6.0,},
['Trait incendiaire']={[0]=30.0,},
['Transfert']={[0]=1.0,},
['Transformation involontaire']={[0]=30.0,},
['Transi']={[0]=1.5,},
['Transir']={[0]=30.0,},
['Traquenard']={[0]=2.0,},
['Traquenard sanglant']={[0]=18.0,},
['Tremblement de terre']={[0]=2.0,},
['Tremblement psychique']={[0]=600.0,},
['Trou de temps']={[0]=8.0,},
['Trépanation']={[0]=20.0,},
['Tétanos']={[0]=1200.0,},
['Urticaire']={[0]=1800.0,},
['Vague explosive']={[0]=6.0,},
['Varicelle de silithide']={[0]=1800.0,},
['Vengeance']={[0]=600.0,},
['Vengeance des Pins-tordus']={[0]=6.0,},
['Vengeance du Bouteflammes']={[0]=2.0,},
['Venin de rampant']={[0]=300.0,},
['Venin enivrant']={[0]=120.0,},
['Vents brûlants']={[0]=8.0,},
['Vents cinglants']={[0]=1.0,},
['Verrou magique']={[1]=6.0,[2]=8.0,[0]=8.0,},
['Vision assombrie']={[0]=12.0,},
['Voile de l\'ombre']={[0]=15.0,},
['Voile des ténèbres']={[0]=7.0,},
['Voile mortel']={[0]=3.0,},
['Volonté de Hakkar']={[0]=20.0,},
['Volonté vacillante']={[0]=60.0,},
['Volée d\'épines']={[0]=2.0,},
['Volée de coups']={[0]=4.0,},
['Volée de coups sauvage']={[0]=5.0,},
['Vrilles d\'air']={[0]=2.0,},
['Vulnérabilité au Feu']={[0]=30.0,},
['Vulnérabilité aux sorts']={[0]=5.0,},
['Vulnérabilité à l\'Ombre']={[0]=15.0,},
['Vulnérabilité élémentaire']={[0]=30.0,},
['Vulnérable']={[0]=3.0,},
['Windsor renvoie le cheval DND']={[0]=55.0,},
['Zeste chimique']={[0]=10.0,},
['[PH] Décompte Cadavre Cristal']={[0]=7200.0,},
['test d\'échelle']={[0]=10.0,},
['Œil d\'Immol\'thar']={[0]=4.0,},
['Œil de glace']={[0]=15.0,},
}
-- custom entries not detected by DBC extractor
pfUI_locale["frFR"]["debuffs"]['Cône de froid']={[0]=8.0,} -- Cone of Cold
-913
View File
@@ -1,16 +1,5 @@
pfUI_locale["koKR"] = {}
pfUI_locale["koKR"]["class"] = {
["흑마법사"] = "WARLOCK",
["전사"] = "WARRIOR",
["사냥꾼"] = "HUNTER",
["마법사"] = "MAGE",
["사제"] = "PRIEST",
["드루이드"] = "DRUID",
["성기사"] = "PALADIN",
["주술사"] = "SHAMAN",
["도적"] = "ROGUE",
}
pfUI_locale["koKR"]["healduration"] = {
["Rejuvenation"] = "회복의 지속시간이 3초만큼 증가합니다.",
@@ -23,15 +12,6 @@ pfUI_locale["koKR"]["customcast"] = {
}
pfUI_locale["koKR"]["dyndebuffs"] = {
["Rupture"] = "파열",
["Kidney Shot"] = "급소 가격",
["Rend"] = "분쇄",
["Shadow Word: Pain"] = "어둠의 권능: 고통",
["Demoralizing Shout"] = "사기의 외침",
["Frostbolt"] = "얼음 화살",
["Gouge"] = "후려치기",
}
pfUI_locale["koKR"]["judgements"] = {
["정의의 심판"] = true,
@@ -47,900 +27,7 @@ pfUI_locale["koKR"]["resurrections"] = {
["고대의 영혼"] = true,
}
pfUI_locale["koKR"]["debuffs"] = {
['AE Charm']={[0]=300.0,},
['Hunter Epic Anti-Cheat DND']={[0]=60.0,},
['Summon Isalien DND']={[0]=600.0,},
['Summon Jarien and Sothos DND']={[0]=600.0,},
['Summon Kormok DND']={[0]=600.0,},
['Summon Lord Valthalak DND']={[0]=600.0,},
['Summon Mor Grayhoof DND']={[0]=600.0,},
['Summon Thelrin DND']={[0]=600.0,},
['Summon Various DND']={[0]=600.0,},
['Windsor Dismisses Horse DND']={[0]=55.0,},
['[PH] Crystal Corpse Timer']={[0]=7200.0,},
['가두기']={[0]=30.0,},
['가르기']={[0]=8.0,},
['가시']={[0]=600.0,},
['가시의 저주']={[0]=180.0,},
['갈고리 그물']={[0]=10.0,},
['갈퀴 발톱']={[0]=9.0,},
['감독 독']={[0]=30.0,},
['감독관의 독']={[0]=60.0,},
['감속']={[1]=10.0,[2]=15.0,[0]=15.0,},
['감속의 진흙']={[0]=10.0,},
['감염의 타액']={[0]=10.0,},
['갑옷 녹이기']={[0]=20.0,},
['갑옷 으깨기']={[0]=30.0,},
['갑옷 쪼개기']={[0]=15.0,},
['강력한 지진']={[0]=2.0,},
['강타']={[1]=2.0,[2]=3.0,[3]=4.0,[0]=4.0,},
['강한 회전베기']={[0]=10.0,},
['거대한 불길']={[0]=10.0,},
['거미독']={[0]=30.0,},
['거미의 입맞춤']={[0]=10.0,},
['거미줄']={[0]=8.0,},
['거미줄 II']={[0]=10.0,},
['거미줄 III']={[0]=12.0,},
['거미줄 뿌리기']={[0]=10.0,},
['거미줄 치기']={[0]=7.0,},
['거미줄 휘감기']={[0]=6.0,},
['거인의 비약']={[0]=1200.0,},
['건강 II']={[0]=3600.0,},
['검독수리 길들이기']={[0]=900.0,},
['검은 마력의 축복']={[0]=6.0,},
['검은 마르두크 소환']={[0]=300.0,},
['검은 부패']={[0]=1800.0,},
['검은 폐수']={[0]=120.0,},
['검은 화살']={[0]=30.0,},
['검은무쇠단 감독관 죽음']={[0]=6.0,},
['검은뿔의 저주']={[0]=300.0,},
['게으름의 수호물']={[0]=3.0,},
['게헨나스의 저주']={[0]=300.0,},
['겨울잠']={[1]=20.0,[2]=30.0,[3]=40.0,[0]=40.0,},
['격노']={[0]=2.5,},
['격노의 이빨']={[0]=6.0,},
['격돌']={[0]=2.0,},
['격려']={[0]=1800.0,},
['결단력 저하']={[0]=60.0,},
['결점 노출']={[0]=5.0,},
['계곡천둥매의 영혼 소환']={[0]=120.0,},
['고급 허수아비 효과']={[0]=10.0,},
['고대의 격분']={[0]=900.0,},
['고대의 공포']={[0]=900.0,},
['고대의 절망']={[0]=5.0,},
['고드름']={[0]=10.0,},
['고리쉬 수액']={[0]=30.0,},
['고목의 저주']={[0]=120.0,},
['고약한 냄새']={[0]=10.0,},
['고열병']={[0]=1800.0,},
['고열의 역병']={[0]=180.0,},
['고철 압축']={[0]=5.0,},
['고체 빙결']={[0]=10.0,},
['고통의 오라']={[0]=8.0,},
['고통의 저주']={[0]=24.0,},
['곤충 떼']={[0]=12.0,},
['골레마그의 신임']={[0]=2.0,},
['곰팡이 번식']={[0]=90.0,},
['공격 명령']={[0]=10.0,},
['공기 방울']={[0]=10.0,},
['공명의 단검']={[0]=30.0,},
['공진의 장']={[0]=15.0,},
['공포']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['공포 (NYI)']={[0]=15.0,},
['공포의 비명소리']={[0]=4.0,},
['공포의 오라']={[0]=3.0,},
['공포의 울부짖음']={[1]=10.0,[2]=15.0,[0]=15.0,},
['공포의 울음소리']={[0]=3.0,},
['공포의 포효']={[0]=5.0,},
['공허의 화살']={[0]=10.0,},
['공황']={[0]=8.0,},
['과다출혈']={[0]=15.0,},
['관통 사격']={[0]=15.0,},
['광견병']={[0]=600.0,},
['광기의 명령']={[0]=10.0,},
['광기의 식별']={[0]=3.0,},
['광물 녹이기']={[0]=20.0,},
['광역 치유']={[0]=12.0,},
['광포의 강하']={[0]=2.0,},
['광포한 포효']={[0]=15.0,},
['광폭화']={[0]=30.0,},
['괴롭히기']={[1]=10.0,[2]=20.0,[3]=30.0,[0]=30.0,},
['구더기 고름']={[0]=6.0,},
['구린내 폭탄']={[0]=120.0,},
['구역질 역병']={[0]=300.0,},
['구울 역병']={[0]=1800.0,},
['굴거미 독']={[0]=300.0,},
['굴복의 변신']={[0]=30.0,},
['굴복의 수정']={[0]=120.0,},
['귀부인의 은총']={[0]=30.0,},
['귀신나무의 저주']={[0]=60.0,},
['그림자 일격']={[0]=7.0,},
['그림자추적자 기습']={[0]=5.0,},
['그림자추적자 난도질']={[0]=5.0,},
['그물']={[0]=10.0,},
['그물 보호']={[0]=20.0,},
['그물 폭발']={[0]=10.0,},
['극심한 고통']={[0]=15.0,},
['극한의 함성']={[0]=3.0,},
['근육 파열']={[0]=5.0,},
['급성 전염병']={[0]=120.0,},
['급소 가격']={[1]=0,[2]=1.0,},
['기계 조종']={[0]=60.0,},
['기병 소환']={[0]=120.0,},
['기사 소환']={[0]=180.0,},
['기생']={[0]=75.0,},
['기생수']={[0]=10.0,},
['기절']={[0]=2.0,},
['기절시키기']={[1]=25.0,[2]=35.0,[3]=45.0,[0]=45.0,},
['기절의 일격']={[1]=4.0,[2]=8.0,[0]=8.0,},
['기절의 폭발']={[1]=3.0,[2]=5.0,[0]=5.0,},
['기즐록의 허수아비 도발']={[0]=5.0,},
['긴발톱 초원늑대 길들이기']={[0]=900.0,},
['긴발톱 흑호 길들이기']={[0]=900.0,},
['깊은 수면']={[0]=10.0,},
['깊은 잠']={[0]=15.0,},
['까마귀발톱의 손길']={[0]=5.0,},
['까마귀발톱의 주술']={[0]=30.0,},
['꼬리 채찍']={[0]=2.0,},
['꿰뚫기']={[0]=9.0,},
['끈끈한 용암']={[0]=6.0,},
['끈쩍한 타르']={[0]=4.0,},
['나락시스의 거미줄']={[0]=30.0,},
['나랄렉스의 악몽']={[0]=15.0,},
['나무그물 늑대거미 길들이기']={[0]=900.0,},
['나무옹이의 복수']={[0]=6.0,},
['나이트래쉬의 통곡']={[0]=15.0,},
['낙하의 사격']={[0]=2.0,},
['난도질']={[0]=6.0,},
['난도질 검']={[0]=60.0,},
['난쟁이 광선']={[0]=20.0,},
['날개 절단']={[0]=10.0,},
['날개 절단 연마']={[0]=5.0,},
['날카로운 고함']={[0]=6.0,},
['날카로운 그림자']={[0]=1800.0,},
['날카로운 독침']={[0]=300.0,},
['날카로운 비명소리']={[0]=8.0,},
['날카로운 울음소리']={[0]=4.0,},
['날카로운 포효']={[0]=6.0,},
['냉기']={[0]=10.0,},
['냉기 보호']={[0]=3600.0,},
['냉기 사격']={[0]=10.0,},
['냉기 약점']={[0]=45.0,},
['냉기 충격']={[0]=8.0,},
['냉기의 무기 공격']={[0]=8.0,},
['냉기의 오라']={[0]=5.0,},
['냉기의 징표']={[0]=12.0,},
['넘어뜨리기']={[0]=2.0,},
['네트워크 랙']={[0]=10.0,},
['노쇠의 열병']={[0]=21.0,},
['노예 만들기']={[0]=15.0,},
['노예감독의 지팡이']={[0]=30.0,},
['노움 정신 지배 모자']={[0]=20.0,},
['노움 즉사 광선']={[0]=4.0,},
['녹괴물 독소']={[0]=45.0,},
['놀드랏실의 축복']={[0]=10.0,},
['뇌손상']={[0]=30.0,},
['뇌우']={[0]=4.0,},
['눈 쪼기']={[0]=12.0,},
['눈의 저주']={[0]=120.0,},
['눈표범 길들이기']={[0]=900.0,},
['능력 붕괴']={[0]=300.0,},
['늪진흙']={[0]=5.0,},
['다로우샤이어 영혼 소환']={[0]=60.0,},
['다자란 초원타조 길들이기']={[0]=900.0,},
['달빛 섬광']={[1]=9.0,[2]=12.0,[3]=12.0,[4]=12.0,[5]=12.0,[6]=12.0,[7]=12.0,[8]=12.0,[9]=12.0,[10]=12.0,[0]=12.0,},
['달의 축복']={[0]=1800.0,},
['대영주의 심판']={[0]=5.0,},
['대족장의 축복']={[0]=3600.0,},
['대지 충격']={[0]=2.0,},
['대지의 속박']={[0]=5.0,},
['대지의 오염']={[0]=10.0,},
['대학살의 비수']={[0]=30.0,},
['더크의 비망독']={[0]=30.0,},
['데빌사우루스 가시']={[0]=10.0,},
['도끼 던지기']={[0]=3.0,},
['도끼 질풍']={[0]=2.0,},
['도려내기']={[0]=12.0,},
['도발']={[0]=3.0,},
['도발의 일격']={[0]=6.0,},
['도전의 외침']={[0]=6.0,},
['도전의 포효']={[0]=6.0,},
['독']={[0]=30.0,},
['독 가시']={[0]=300.0,},
['독 감염']={[0]=60.0,},
['독 구름']={[0]=45.0,},
['독 묻은 작살']={[0]=60.0,},
['독 비수']={[0]=15.0,},
['독 송곳니']={[0]=180.0,},
['독 오라']={[0]=12.0,},
['독병']={[0]=30.0,},
['독사 쐐기']={[0]=15.0,},
['독수리 발톱']={[0]=15.0,},
['독액']={[0]=10.0,},
['독액 분출']={[0]=3.0,},
['독액 촉매']={[0]=120.0,},
['독침']={[0]=45.0,},
['독화살']={[0]=75.0,},
['돌려차기']={[0]=2.0,},
['돌연변이 유발']={[0]=10.0,},
['돌진']={[0]=4.0,},
['돌진 기절']={[0]=1.0,},
['돌풍']={[0]=4.0,},
['동결']={[0]=15.0,},
['동물 달래기']={[0]=15.0,},
['동상']={[0]=5.0,},
['두꺼비 독']={[0]=180.0,},
['드루이드의 동면']={[0]=15.0,},
['등껍질전갈 길들이기']={[0]=900.0,},
['땅 구르기']={[0]=5.0,},
['땅거미 곰팡이']={[0]=2700.0,},
['땅벌레 수액']={[0]=30.0,},
['떠도는 역병']={[0]=300.0,},
['뜨거운 용암']={[0]=30.0,},
['라그나로스의 손길']={[0]=2.0,},
['라그나로스의 힘']={[0]=5.0,},
['라크조르의 격돌']={[0]=3.0,},
['루시프론의 저주']={[0]=300.0,},
['마그람일족의 저주']={[0]=900.0,},
['마나 연소']={[0]=8.0,},
['마나 점화']={[0]=300.0,},
['마나 폭발']={[0]=5.0,},
['마나 흡수']={[0]=5.0,},
['마력반사장']={[0]=5.0,},
['마르두크의 저주']={[0]=5.0,},
['마법 감지']={[0]=120.0,},
['마법 반사']={[0]=10.0,},
['마법 차단']={[0]=10.0,},
['마법 차단 - 침묵']={[0]=4.0,},
['마법 폭주']={[0]=30.0,},
['마법의 자장가']={[0]=10.0,},
['마비']={[0]=30.0,},
['마비의 독']={[0]=8.0,},
['마비의 불길']={[0]=900.0,},
['말로운의 망치']={[0]=2.0,},
['말리의 위상']={[0]=6.0,},
['망각의 저주']={[0]=300.0,},
['매정한 응시']={[0]=8.0,},
['맹독']={[0]=12.0,},
['맹독 II']={[0]=12.0,},
['맹독 III']={[0]=12.0,},
['맹독 IV']={[0]=12.0,},
['맹독 V']={[0]=12.0,},
['맹독 돌진']={[0]=9.0,},
['맹독 연발']={[0]=15.0,},
['맹독가죽 독']={[0]=30.0,},
['맹독액']={[0]=120.0,},
['맹렬한 공격']={[0]=30.0,},
['맹렬한 공격 II']={[0]=30.0,},
['맹렬한 공격 III']={[0]=30.0,},
['맹렬한 공격 IV']={[0]=30.0,},
['맹렬한 공격 V']={[0]=30.0,},
['머리 가격']={[0]=3.0,},
['머리 강타']={[0]=20.0,},
['머리 격파']={[0]=2.0,},
['먹물 뿌리기']={[0]=15.0,},
['먹어치우기']={[0]=15.0,},
['먼지 구름']={[0]=12.0,},
['먼지 투성이']={[0]=10.0,},
['멍해짐']={[0]=4.0,},
['메뚜기 떼']={[0]=6.0,},
['멧돼지 돌진']={[0]=1.0,},
['면역']={[0]=1800.0,},
['모그레인의 징표']={[0]=75.0,},
['모든 족쇄 해제']={[0]=1.0,},
['모진 바람']={[0]=1.0,},
['목조르기']={[0]=18.0,},
['몽유병']={[0]=10.0,},
['묘석 전투도끼']={[0]=15.0,},
['무기 강탈']={[0]=15.0,},
['무기력']={[0]=10.0,},
['무기력의 저주']={[0]=120.0,},
['무력의 손길']={[0]=120.0,},
['무력의 외침']={[0]=60.0,},
['무력의 주술']={[0]=120.0,},
['무력화']={[0]=15.0,},
['무력화 연마']={[0]=5.0,},
['무력화 저주']={[0]=120.0,},
['무모한 돌진']={[0]=30.0,},
['무모함의 저주']={[0]=120.0,},
['무장 해제']={[0]=10.0,},
['무지의 저주']={[0]=120.0,},
['무효화']={[0]=8.0,},
['물보라']={[0]=5.0,},
['미사용 독']={[0]=12.0,},
['미사용 독 II']={[0]=12.0,},
['미사용 독 III']={[0]=12.0,},
['미사용 독 IV']={[0]=12.0,},
['미사용 주문']={[0]=3.0,},
['민첩 VIII']={[0]=3600.0,},
['민첩성 쇠약']={[0]=300.0,},
['밀쳐내기']={[0]=6.0,},
['바람도끼']={[0]=20.0,},
['바람의 덩굴']={[0]=2.0,},
['바위 던지기']={[0]=10.0,},
['박치기']={[0]=2.0,},
['박힘']={[0]=3.0,},
['반격']={[0]=6.0,},
['발 걸기']={[0]=3.0,},
['발 구르기']={[0]=10.0,},
['발나자르 변신 기절']={[0]=5.0,},
['발차기']={[0]=5.0,},
['발차기 침묵']={[0]=2.0,},
['방사능 오염']={[0]=60.0,},
['방사능 중독']={[0]=25.0,},
['방어 IV']={[0]=3600.0,},
['방어구 가르기']={[0]=30.0,},
['방어구 관통']={[0]=20.0,},
['방어구 녹이기']={[0]=60.0,},
['방어구 파괴']={[0]=45.0,},
['방패 (PT)']={[0]=30.0,},
['방패 가격']={[0]=6.0,},
['방패 가격 - 침묵']={[0]=3.0,},
['방패 밀쳐내기']={[0]=2.0,},
['배틀넷']={[0]=10.0,},
['밴시의 비명']={[0]=5.0,},
['밴시의 저주']={[0]=12.0,},
['밴시의 통곡']={[0]=12.0,},
['벌레 돌연변이']={[0]=240.0,},
['벌레 폭발']={[0]=4.0,},
['베녹시스의 위상']={[0]=10.0,},
['베크니스 수정']={[0]=30.0,},
['변이']={[1]=20.0,[2]=30.0,[3]=40.0,[4]=50.0,[0]=50.0,},
['변이 광선']={[0]=4.0,},
['변이 역화']={[0]=8.0,},
['변이: 거북이']={[0]=50.0,},
['변이: 닭']={[0]=10.0,},
['변이: 돼지']={[0]=50.0,},
['변이: 소']={[0]=50.0,},
['변이: 양']={[0]=10.0,},
['별빛 화살 기절']={[0]=3.0,},
['별조각']={[0]=6.0,},
['복수']={[0]=600.0,},
['복수 기절']={[0]=3.0,},
['복수의 저주']={[0]=900.0,},
['봉쇄 기절']={[0]=3.0,},
['부식성 독']={[0]=30.0,},
['부식성 독액']={[0]=10.0,},
['부식성 산']={[0]=300.0,},
['부식성 수액']={[0]=60.0,},
['부정의 저주']={[0]=12.0,},
['부족의 저주']={[0]=1800.0,},
['부패']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=18.0,[5]=18.0,[6]=18.0,[7]=18.0,[0]=18.0,},
['부패병']={[0]=600.0,},
['부패의 고열']={[0]=900.0,},
['부패의 공포']={[0]=2.0,},
['부패의 독']={[0]=180.0,},
['부패의 물어뜯기']={[0]=1800.0,},
['부패의 병균']={[0]=300.0,},
['부패의 사격']={[0]=300.0,},
['부패의 손길']={[0]=120.0,},
['부패의 숨결']={[0]=30.0,},
['부패의 일격']={[0]=8.0,},
['부패의 질병']={[0]=240.0,},
['부패의 피부병']={[0]=1800.0,},
['부패한 정신']={[0]=600.0,},
['분노 끌어내기']={[0]=2.0,},
['분노의 포효']={[0]=300.0,},
['분쇄']={[1]=9.0,[2]=12.0,[3]=15.0,[4]=18.0,[5]=21.0,[6]=21.0,[7]=21.0,[0]=21.0,},
['분열']={[0]=300.0,},
['분할']={[0]=10.0,},
['불꽃소환사의 복수']={[0]=2.0,},
['불꽃소환사의 손길']={[0]=3.0,},
['불꽃축제의 열의']={[0]=3600.0,},
['불꽃축제의 열정']={[0]=3600.0,},
['불덩이 작열']={[0]=12.0,},
['불지옥 효과']={[0]=2.0,},
['불타는 바람']={[0]=8.0,},
['불타는 아드레날린']={[0]=20.0,},
['붉은꽃잎 독']={[0]=30.0,},
['붉은송곳니']={[0]=6.0,},
['붉은톱니게 길들이기']={[0]=900.0,},
['블라미우스의 징표']={[0]=75.0,},
['비룡 쐐기']={[0]=12.0,},
['비명소리 스트리기드 올빼미 길들이기']={[0]=900.0,},
['비열한 습격']={[0]=4.0,},
['비전 약점']={[0]=45.0,},
['비호']={[0]=10.0,},
['빙결']={[0]=1.5,},
['빙결 회오리']={[0]=10.0,},
['빙의']={[0]=120.0,},
['빛샘']={[0]=180.0,},
['빛의 심판']={[0]=10.0,},
['뼈 녹이기']={[0]=20.0,},
['사기 저하']={[0]=30.0,},
['사기의 외침']={[0]=30.0,},
['사나운 점박이멧돼지 길들이기']={[0]=900.0,},
['사냥꾼의 징표']={[0]=120.0,},
['사술']={[0]=120.0,},
['사전계획']={[0]=10.0,},
['산성 독액']={[0]=30.0,},
['산성 물질 끼얹기']={[0]=30.0,},
['산성 방사']={[0]=10.0,},
['산성 숨결']={[0]=10.0,},
['산성 진흙']={[0]=30.0,},
['산탄 사격']={[0]=4.0,},
['살게라스의 숨결']={[0]=90.0,},
['살무사 쐐기']={[0]=8.0,},
['살아있는 폭탄']={[0]=8.0,},
['살점 태우기']={[0]=60.0,},
['상급 변이']={[0]=20.0,},
['상급 신비의 비약']={[0]=1800.0,},
['상급 투명체 감지']={[0]=600.0,},
['상처']={[0]=25.0,},
['상처 감염']={[0]=300.0,},
['상처 감염 독']={[0]=15.0,},
['상처 분쇄']={[0]=12.0,},
['생명력 착취']={[0]=30.0,},
['생명력 흡수']={[0]=5.0,},
['생존 본능']={[0]=2.0,},
['생쥐 회오리']={[0]=10.0,},
['샤즈라의 저주']={[0]=300.0,},
['샤크람의 힘']={[0]=5.0,},
['석화']={[0]=8.0,},
['섬뜩한 갈퀴발톱']={[0]=60.0,},
['섬뜩한 공포']={[0]=5.0,},
['섬뜩한 역병']={[0]=20.0,},
['성난 파도']={[0]=4.0,},
['성전사의 심판']={[0]=10.0,},
['성전사의 일격']={[0]=30.0,},
['소각']={[0]=60.0,},
['소름끼치는 비병']={[0]=6.0,},
['소멸']={[0]=20.0,},
['소용돌이']={[0]=2.0,},
['속도 저하 독']={[0]=25.0,},
['속박']={[0]=4.0,},
['손등치기']={[0]=2.0,},
['손상된 민첩성']={[0]=4.0,},
['손상된 지능']={[0]=4.0,},
['손상된 체력']={[0]=4.0,},
['손상된 힘']={[0]=4.0,},
['솔 L']={[0]=5.0,},
['송장 벌레']={[0]=600.0,},
['쇠약']={[0]=120.0,},
['쇠약의 돌진']={[0]=8.0,},
['쇠약의 손길']={[0]=120.0,},
['쇠약한 마음']={[0]=30.0,},
['쇠약한 마음 II']={[0]=30.0,},
['쇠약한 마음 III']={[0]=30.0,},
['수면']={[1]=20.0,[2]=30.0,[0]=30.0,},
['수액 화살']={[0]=6.0,},
['수정거미 송곳니']={[0]=10.0,},
['수정의 자장가']={[0]=15.0,},
['수정의 주시']={[0]=6.0,},
['수중 독기']={[0]=3600.0,},
['수중 호흡']={[0]=600.0,},
['순간 빙결']={[0]=5.0,},
['술트라제']={[0]=15.0,},
['숲정령 갈무리']={[0]=5.0,},
['슈퍼 난쟁이 광선']={[0]=20.0,},
['스마이트의 격돌']={[0]=3.0,},
['스마이트의 발구르기']={[0]=10.0,},
['스탈반의 저주']={[0]=600.0,},
['슬러지']={[0]=3.0,},
['슬로스 효과']={[0]=3.0,},
['시간의 쇠퇴']={[0]=8.0,},
['시선 집중']={[0]=10.0,},
['시슬네틀 흡수']={[0]=8.0,},
['시험용 고통의 저주']={[0]=24.0,},
['시험용 도려내기']={[0]=12.0,},
['시험용 일격 W35']={[0]=10.0,},
['시험용 일격 W50']={[0]=10.0,},
['식중독']={[0]=10.0,},
['신경 마비']={[0]=20.0,},
['신경 마비 독']={[0]=12.0,},
['신비한 지능']={[0]=1800.0,},
['신비한 파열']={[0]=8.0,},
['신비한 화살']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=5.0,[5]=5.0,[6]=5.0,[7]=5.0,[8]=5.0,[0]=5.0,},
['신성 보호']={[0]=3600.0,},
['신성한 가르기']={[0]=60.0,},
['신성한 불꽃']={[0]=10.0,},
['신성한 폭발']={[0]=4.0,},
['신의 권능: 인내']={[0]=1800.0,},
['실리시드 피부병']={[0]=1800.0,},
['실명']={[0]=10.0,},
['실수']={[0]=30.0,},
['실수 II']={[0]=30.0,},
['실수 III']={[0]=30.0,},
['심령체 추출기']={[0]=3.0,},
['심판의 망치']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=6.0,[0]=6.0,},
['십자군의 망치']={[0]=4.0,},
['싸늘한 눈']={[0]=15.0,},
['싸늘한 손길']={[0]=8.0,},
['싸늘한 숨결']={[0]=12.0,},
['싸늘한심장의 저주']={[0]=180.0,},
['썩은 살점']={[0]=10.0,},
['썩은 쓸개즙']={[0]=45.0,},
['썩은 이빨']={[0]=30.0,},
['쑤울의 분노']={[0]=120.0,},
['쑤울의 저주']={[0]=240.0,},
['쑨의 속삭임']={[0]=20.0,},
['아눕레칸의 오라']={[0]=5.0,},
['아늑한 장작불']={[0]=60.0,},
['아란티르의 격노']={[0]=6.0,},
['아루갈의 선물']={[0]=300.0,},
['아루갈의 저주']={[0]=10.0,},
['아서스의 선물']={[0]=180.0,},
['아즈레토크의 발구름']={[0]=5.0,},
['아탈라이 독']={[0]=30.0,},
['악마 강타']={[0]=5.0,},
['악마 지배']={[0]=300.0,},
['악마의 갈퀴']={[0]=25.0,},
['악몽의 피조물']={[0]=30.0,},
['악의 분쇄']={[0]=15.0,},
['알 폭발']={[0]=3.0,},
['알로크의 문장']={[0]=120.0,},
['알로크의 위상']={[0]=2.0,},
['암습']={[0]=2.0,},
['암습 피해']={[0]=18.0,},
['암흑 보호']={[0]=3600.0,},
['암흑 약점']={[0]=45.0,},
['암흑 저항력 약화']={[0]=15.0,},
['암흑스승의 저주']={[0]=60.0,},
['암흑의 불길']={[0]=10.0,},
['암흑의 시야']={[0]=12.0,},
['암흑의 역병']={[0]=90.0,},
['암흑의 장막']={[0]=15.0,},
['야생의 변이']={[0]=20.0,},
['야생의 징표']={[0]=1800.0,},
['야성의 돌진']={[0]=4.0,},
['야수 겁주기']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['야수 길들이기']={[0]=20.0,},
['약점']={[0]=3.0,},
['약점 노출']={[0]=30.0,},
['약탈']={[0]=2.0,},
['약한 독']={[0]=12.0,},
['약화']={[0]=60.0,},
['약화의 질병']={[0]=30.0,},
['어긋난 반사']={[0]=45.0,},
['어둠의 권능: 고통']={[0]=18.0,},
['어둠의 명령']={[0]=15.0,},
['어둠의 에너지']={[0]=300.0,},
['어둠의 연소']={[0]=5.0,},
['어둠의 장막']={[0]=7.0,},
['어둠의 저주']={[0]=300.0,},
['어둠의 징표']={[0]=15.0,},
['어둠의 폐수']={[0]=300.0,},
['어둠의 화살']={[0]=6.0,},
['언데드 속박']={[1]=30.0,[2]=40.0,[3]=50.0,[0]=50.0,},
['언데드 퇴치']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['언어의 저주']={[0]=30.0,},
['얼룩진 피 효과']={[0]=10.0,},
['얼리기']={[0]=15.0,},
['얼음 결계']={[1]=15.0,[2]=20.0,[0]=20.0,},
['얼음 무덤']={[0]=10.0,},
['얼음 발톱']={[0]=6.0,},
['얼음 보루']={[0]=10.0,},
['얼음 사슬']={[0]=5.0,},
['얼음 폭발']={[0]=10.0,},
['얼음 화살']={[1]=5.0,[2]=6.0,[3]=6.0,[4]=7.0,[5]=7.0,[6]=8.0,[7]=8.0,[8]=9.0,[9]=9.0,[10]=9.0,[11]=9.0,[0]=9.0,},
['얼음 회오리']={[0]=8.0,},
['얼음발톱흰곰 길들이기']={[0]=20.0,},
['얼음의 덫']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['에메리스 오라']={[0]=10.0,},
['에본로크의 그림자']={[0]=8.0,},
['에스칸다르의 갈퀴']={[0]=30.0,},
['역병']={[0]=40.0,},
['역병 구름']={[0]=240.0,},
['역병 안개']={[0]=8.0,},
['역병술사의 저주']={[0]=10.0,},
['역병술사의 천벌']={[0]=10.0,},
['역습']={[0]=5.0,},
['연막']={[0]=3.0,},
['연막탄']={[0]=4.0,},
['연발 가시']={[0]=2.0,},
['연발 독액']={[0]=10.0,},
['연발 산성 화살']={[0]=25.0,},
['연발 얼음 화살']={[0]=8.0,},
['열광의 맹독']={[0]=120.0,},
['열병']={[0]=600.0,},
['영리함']={[0]=11.0,},
['영혼 소생']={[0]=1800.0,},
['영혼 속박']={[0]=9.0,},
['영혼 착취']={[0]=10.0,},
['영혼 태우기']={[0]=16.0,},
['영혼 흡수']={[0]=15.0,},
['영혼의 누출']={[0]=12.0,},
['영혼의 약탈자']={[0]=30.0,},
['영혼의 절규']={[0]=8.0,},
['영혼의 지배']={[0]=60.0,},
['영혼의 타락']={[0]=15.0,},
['영혼의 파괴자']={[0]=30.0,},
['예언 실현']={[0]=20.0,},
['오랜 멍해짐']={[0]=6.0,},
['오물 던지기']={[0]=10.0,},
['오물 질병']={[0]=300.0,},
['오색 돌연변이']={[0]=300.0,},
['오염된 정신']={[0]=15.0,},
['오염된 진흙']={[0]=120.0,},
['올가미']={[0]=5.0,},
['옴']={[0]=8.0,},
['왕손가락 레프티의 심장 폭파 필살기']={[0]=30.0,},
['요정의 불꽃']={[0]=40.0,},
['요정의 불꽃 (야성)']={[0]=40.0,},
['용사냥꾼 재집결의 외침']={[0]=7200.0,},
['용암']={[0]=30.0,},
['용암 족쇄']={[0]=15.0,},
['용해된 금속']={[0]=15.0,},
['우레망치의 저주']={[0]=60.0,},
['우레와같은 울부짖음']={[0]=3.0,},
['우레폭풍']={[0]=12.0,},
['우박 폭풍']={[0]=3.0,},
['울려퍼지는 고함']={[0]=20.0,},
['원소 저항력 약화']={[0]=30.0,},
['원소의 저주']={[0]=300.0,},
['원한의 꼬리']={[0]=20.0,},
['원한의 이빨']={[0]=4.0,},
['위압적인 포효']={[0]=30.0,},
['위축의 포효']={[0]=5.0,},
['위협']={[0]=3.0,},
['위협 수준 초기화']={[0]=1.7,},
['위협의 눈']={[0]=6.0,},
['위협의 외침']={[0]=8.0,},
['위협의 포효']={[1]=5.0,[2]=30.0,[3]=30.0,[4]=30.0,[5]=30.0,[0]=30.0,},
['위협의 함성']={[0]=8.0,},
['유령 출몰']={[0]=300.0,},
['유전자역결합']={[0]=12.0,},
['음파 폭발']={[0]=10.0,},
['의식 상실']={[0]=3.0,},
['의식 초 오라']={[0]=6.0,},
['이글거리는 불길']={[0]=9.0,},
['이글거리는 폭발']={[0]=30.0,},
['이끼투성이 발']={[0]=180.0,},
['이끼투성이 손']={[0]=180.0,},
['이동 기능 장애']={[0]=20.0,},
['이몰타르의 눈']={[0]=4.0,},
['이어진 족쇄']={[0]=4.0,},
['익사']={[0]=300.0,},
['자기장']={[0]=15.0,},
['자동그물']={[0]=10.0,},
['자루 공격']={[0]=4.0,},
['자연 보호']={[0]=3600.0,},
['자연 약점']={[0]=45.0,},
['자연의 불꽃']={[0]=8.0,},
['자연의 징표']={[0]=12.0,},
['자홍버섯 독']={[0]=1200.0,},
['작열']={[0]=4.0,},
['잔달라의 기백']={[0]=7200.0,},
['잠말란의 주술']={[0]=10.0,},
['잡념']={[0]=600.0,},
['재생력 IV']={[0]=3600.0,},
['재앙의 여파']={[0]=5.0,},
['재판관의 망치']={[0]=10.0,},
['저승의 손아귀']={[0]=5.0,},
['저주받은 피']={[0]=600.0,},
['저주의 칼날']={[0]=20.0,},
['적색의 정수']={[0]=180.0,},
['전갈 쐐기']={[0]=20.0,},
['전갈 쐐기 연마']={[0]=20.0,},
['전갈독']={[0]=10.0,},
['전기 그물']={[0]=10.0,},
['전투 깃발']={[0]=3.0,},
['전투 명령']={[0]=6.0,},
['전투 발구르기']={[0]=2.0,},
['전투 오라']={[0]=10.0,},
['전투의 외침']={[0]=900.0,},
['절규의 비명']={[0]=5.0,},
['절규하는 환영']={[0]=300.0,},
['절단']={[0]=12.0,},
['절대적 명령']={[0]=10.0,},
['절망의 날개']={[0]=6.0,},
['점멸']={[0]=1.0,},
['점액질']={[0]=1800.0,},
['정기 쇠약']={[0]=1200.0,},
['정기 흡수']={[0]=12.0,},
['정령 군주의 저주']={[0]=60.0,},
['정령 유인']={[0]=5.0,},
['정신 마비 독']={[0]=10.0,},
['정신 마비 독 II']={[0]=12.0,},
['정신 마비 독 III']={[0]=14.0,},
['정신 부패']={[0]=30.0,},
['정신 붕괴']={[0]=3.0,},
['정신 이상 유발']={[0]=6.0,},
['정신 지배']={[0]=60.0,},
['정신의 채찍']={[0]=3.0,},
['정의의 불꽃']={[0]=8.0,},
['정의의 심판']={[0]=10.0,},
['정화']={[0]=2.0,},
['제물']={[0]=15.0,},
['제물의 덫']={[0]=15.0,},
['제클릭의 위상']={[0]=5.0,},
['제프 허수아비 1']={[0]=30.0,},
['제프 허수아비 2']={[0]=30.0,},
['젤리에크의 징표']={[0]=75.0,},
['주문 15056']={[0]=7.0,},
['주문 2647']={[0]=5.0,},
['주문 4321']={[0]=5.0,},
['주문 잠금']={[1]=6.0,[2]=8.0,[0]=8.0,},
['주문 저항 약화']={[0]=5.0,},
['주술']={[0]=10.0,},
['죽음의 고리']={[0]=3.0,},
['죽음의 상처']={[0]=15.0,},
['죽음의 손짓']={[0]=60.0,},
['죽음의 일격']={[0]=10.0,},
['죽음의 통곡']={[0]=6.0,},
['죽음의 회전베기']={[0]=5.0,},
['죽음의 휴식']={[0]=10.0,},
['줄의 오라 생성']={[0]=30.0,},
['증기 분출']={[0]=10.0,},
['증오의 독침']={[0]=10.0,},
['지능 X']={[0]=3600.0,},
['지독한 냄새']={[0]=6.0,},
['지배']={[0]=15.0,},
['지옥불정령의 영혼 속박']={[0]=9.0,},
['지옥사냥개의 영혼 속박']={[0]=9.0,},
['지옥의 껍질']={[0]=10.0,},
['지옥의 발구름']={[0]=3.0,},
['지진']={[0]=2.0,},
['지표 붕괴']={[0]=3.0,},
['지혜의 심판']={[0]=10.0,},
['지휘의 오라']={[0]=30.0,},
['진도의 망상']={[0]=20.0,},
['진흙 곰팡이']={[0]=60.0,},
['진흙 던지기']={[0]=15.0,},
['진흙 폭발']={[0]=5.0,},
['진흙구더기']={[0]=1800.0,},
['진흙아가미 곰팡이']={[0]=8.0,},
['질병 강타']={[0]=20.0,},
['질식']={[0]=6.0,},
['집게 조이기']={[0]=4.0,},
['집게발 조이기']={[0]=15.0,},
['짓이기기']={[0]=2.0,},
['찢어발기기']={[0]=3.0,},
['차원의 등불']={[0]=60.0,},
['착취의 독']={[0]=40.0,},
['참회']={[0]=6.0,},
['채찍']={[0]=2.0,},
['채찍줄기 뿌리']={[0]=15.0,},
['채찍줄기 휘감기']={[0]=18.0,},
['천둥균열']={[0]=2.5,},
['천둥벼락']={[1]=10.0,[2]=14.0,[3]=18.0,[4]=22.0,[5]=26.0,[6]=30.0,[0]=30.0,},
['천둥충격']={[0]=5.0,},
['천상의 정신']={[0]=1800.0,},
['철퇴 기절 효과']={[0]=3.0,},
['청각 마비']={[0]=300.0,},
['초승달발톱의 영혼']={[0]=120.0,},
['추방']={[1]=20.0,[2]=30.0,[0]=30.0,},
['축복 흡수']={[0]=30.0,},
['축소']={[0]=120.0,},
['축제의 행운']={[0]=1800.0,},
['충격의 일격']={[0]=5.0,},
['충격파']={[0]=2.0,},
['충격포']={[0]=4.0,},
['충격포 연마']={[0]=3.0,},
['충돌']={[0]=2.0,},
['치명상']={[0]=10.0,},
['치명적인 독']={[0]=180.0,},
['치명적인 쐐기']={[0]=12.0,},
['치유의 저주']={[0]=180.0,},
['침몰']={[0]=60.0,},
['침묵']={[0]=5.0,},
['침투의 망치']={[0]=30.0,},
['카자크의 징표']={[0]=60.0,},
['켈투자드의 굴레']={[0]=20.0,},
['코도 발구르기']={[0]=3.0,},
['코스아즈의 징표']={[0]=75.0,},
['크기 시험용']={[0]=10.0,},
['큰 멧돼지 길들이기']={[0]=20.0,},
['타락의 오라']={[0]=5.0,},
['타락의 치유']={[0]=30.0,},
['타락의 토템']={[0]=30.0,},
['타락의 한기']={[0]=120.0,},
['타우릿산의 손길']={[0]=5.0,},
['태우기']={[0]=30.0,},
['탤런의 괴로움']={[0]=2.0,},
['토석인 수호자 깨우기']={[0]=5.0,},
['톱니 이빨']={[0]=30.0,},
['통 폭발']={[0]=3.0,},
['통 함정']={[0]=2.0,},
['투지의 전투장비']={[0]=6.0,},
['투탄카쉬의 저주']={[0]=900.0,},
['트렐레인의 얼어붙는 손길']={[0]=12.0,},
['특수 독액']={[0]=60.0,},
['티미의 저주']={[0]=60.0,},
['파괴의 타격']={[0]=5.0,},
['파도의 충돌']={[0]=10.0,},
['파멸']={[0]=10.0,},
['파멸의 고통']={[0]=180.0,},
['파멸의 독']={[0]=120.0,},
['파멸의 역병']={[0]=24.0,},
['파멸의 예언']={[0]=10.0,},
['파멸의 저주']={[0]=60.0,},
['파상풍']={[0]=1200.0,},
['파쇄의 도끼']={[0]=30.0,},
['파열']={[0]=6.0,},
['평온']={[0]=10.0,},
['평온의 독']={[0]=8.0,},
['평정']={[0]=15.0,},
['포악한 일격']={[0]=5.0,},
['포효']={[0]=3.0,},
['폭발의 덫']={[0]=20.0,},
['폭발의 문장']={[0]=30.0,},
['폭파']={[0]=2.5,},
['폭풍 화살']={[0]=8.0,},
['폭풍망치']={[0]=5.0,},
['폭풍의 일격']={[0]=12.0,},
['피로의 저주']={[0]=12.0,},
['피의 욕망']={[0]=15.0,},
['피의 울부짖음']={[0]=15.0,},
['피의 저주']={[0]=600.0,},
['피의 착취']={[0]=8.0,},
['피할 수 없는 파멸']={[0]=10.0,},
['피해 보호막']={[0]=10.0,},
['피해 증폭']={[0]=10.0,},
['핀클 생성기 소환']={[0]=5.0,},
['하이브자라 촉매']={[0]=30.0,},
['학카르의 결의']={[0]=20.0,},
['학카르의 산성 숨결']={[0]=60.0,},
['학카르의 심장 균열 생성']={[0]=30.0,},
['학카르의 심장 소환진 생성']={[0]=30.0,},
['학카르의 심장 폭발 생성']={[0]=30.0,},
['학카르의 저주']={[0]=120.0,},
['할로윈 축제 공포']={[0]=6.0,},
['함정']={[0]=10.0,},
['해골 깨기']={[0]=2.0,},
['해방된 영혼 소환']={[0]=60.0,},
['해일의 부적']={[0]=3.0,},
['허수아비 효과']={[0]=5.0,},
['현신의 주문서']={[0]=600.0,},
['현혹']={[0]=15.0,},
['혈군주의 오라']={[0]=5.0,},
['혈족의 고통: 녹']={[0]=600.0,},
['혈족의 고통: 적']={[0]=600.0,},
['혈족의 고통: 청']={[0]=600.0,},
['혈족의 고통: 청동']={[0]=600.0,},
['혈족의 고통: 흑']={[0]=600.0,},
['혈족의 힘: 녹']={[0]=6.0,},
['혈족의 힘: 적']={[0]=5.0,},
['혈족의 힘: 청']={[0]=6.0,},
['혈족의 힘: 청동']={[0]=5.0,},
['혹한의 발톱']={[0]=5.0,},
['혹한의 추위']={[0]=15.0,},
['혼란의 고통']={[0]=15.0,},
['혼란의 일격']={[0]=6.0,},
['화상']={[0]=4.0,},
['화염 강타']={[0]=45.0,},
['화염 보호']={[0]=3600.0,},
['화염 약점']={[0]=45.0,},
['화염 저항력 약화']={[0]=30.0,},
['화염 채찍']={[0]=45.0,},
['화염 촉발']={[0]=60.0,},
['화염 충격']={[0]=12.0,},
['화염 파열']={[0]=3.0,},
['화염 폭풍']={[0]=6.0,},
['화염계 증폭']={[0]=30.0,},
['화염구']={[1]=4.0,[2]=6.0,[3]=6.0,[4]=8.0,[5]=8.0,[6]=8.0,[7]=8.0,[8]=8.0,[9]=8.0,[10]=8.0,[11]=8.0,[12]=8.0,[0]=8.0,},
['화염의 징표']={[0]=120.0,},
['화학 알약']={[0]=10.0,},
['환영의 일격']={[0]=20.0,},
['황폐의 그림자']={[0]=60.0,},
['횃불 던지기']={[0]=30.0,},
['횃불 폭발']={[0]=30.0,},
['횃불의 저주']={[0]=300.0,},
['회복된 셀레브리안 덩굴나무 생성']={[0]=604800.0,},
['회오리 바람']={[0]=10.0,},
['회오리 일격']={[0]=2.0,},
['회전 가르기']={[0]=30.0,},
['후려치기']={[0]=4.0,},
['훈련병 소환']={[0]=230.0,},
['휘감기']={[0]=8.0,},
['휘감는 그물']={[0]=8.0,},
['휘감는 덩굴']={[0]=10.0,},
['휘감는 뿌리']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=21.0,[5]=24.0,[6]=27.0,[0]=27.0,},
['휘몰아치는 불길']={[0]=6.0,},
['휩쓸기']={[0]=12.0,},
['흑마법사의 공포']={[0]=2.0,},
['흑사병의 저주']={[0]=14.0,},
['흡수 맹독']={[0]=45.0,},
['흡수 오라']={[0]=15.0,},
['흡혈의 선물']={[0]=60.0,},
['희생']={[0]=8.0,},
['힘 쇠약']={[0]=300.0,},
['힘줄 가격']={[0]=8.0,},
['힘줄 베기']={[0]=8.0,},
}
-- custom entries not detected by DBC extractor
pfUI_locale["koKR"]["debuffs"]['냉기 돌']={[0]=8.0,} -- Cone of Cold
-950
View File
@@ -1,16 +1,5 @@
pfUI_locale["ruRU"] = {}
pfUI_locale["ruRU"]["class"] = {
["Чернокнижник"] = "WARLOCK",
["Воин"] = "WARRIOR",
["Охотник"] = "HUNTER",
["Маг"] = "MAGE",
["Жрец"] = "PRIEST",
["Друид"] = "DRUID",
["Паладин"] = "PALADIN",
["Шаман"] = "SHAMAN",
["Разбойник"] = "ROGUE",
}
pfUI_locale["ruRU"]["healduration"] = {
["Rejuvenation"] = "Увеличивает время действия \"Омоложения\" на 3 сек.",
@@ -23,15 +12,6 @@ pfUI_locale["ruRU"]["customcast"] = {
}
pfUI_locale["ruRU"]["dyndebuffs"] = {
["Rupture"] = "Рваная рана",
["Kidney Shot"] = "Удар по почкам",
["Rend"] = "Кровопускание",
["Shadow Word: Pain"] = "Слово Тьмы: Боль",
["Demoralizing Shout"] = "Деморализующий крик",
["Frostbolt"] = "Ледяная стрела",
["Gouge"] = "Парализующий удар",
}
pfUI_locale["ruRU"]["judgements"] = {
["Правосудие справедливости"] = true,
@@ -47,937 +27,7 @@ pfUI_locale["ruRU"]["resurrections"] = {
["Дух предков"] = true,
}
pfUI_locale["ruRU"]["debuffs"] = {
['"Дар Артаса"']={[0]=180.0,},
['Windsor Dismisses Horse DND']={[0]=55.0,},
['[PH] Хрустальное тело - таймер']={[0]=7200.0,},
['scaler test']={[0]=10.0,},
['Антимагия']={[0]=10.0,},
['Антимагия - немота']={[0]=4.0,},
['Антинаправлятор']={[0]=12.0,},
['Аспект Арлокк']={[0]=2.0,},
['Аспект Веноксиса']={[0]=10.0,},
['Аспект Джеклик']={[0]=5.0,},
['Аспект Мар\'ли']={[0]=6.0,},
['Атака вепря']={[0]=1.0,},
['Атака-оглушение']={[0]=1.0,},
['Атаковать Приказ']={[0]=10.0,},
['Аура Ануб\'Рукана']={[0]=5.0,},
['Аура Повелителя Крови']={[0]=5.0,},
['Аура Эмерисс']={[0]=10.0,},
['Аура агонии']={[0]=8.0,},
['Аура повиновения']={[0]=30.0,},
['Аура ритуальной свечи']={[0]=6.0,},
['Аура страха']={[0]=3.0,},
['Аура яда']={[0]=12.0,},
['БИИИП!']={[0]=11.0,},
['Безжалостно подрезать крылья']={[0]=5.0,},
['Безмолвие']={[0]=5.0,},
['Безрассудная атака']={[0]=30.0,},
['Берсерк']={[0]=30.0,},
['Беспощадная взбучка']={[0]=5.0,},
['Бич Злобы']={[0]=20.0,},
['Благословение Нордрассила']={[0]=10.0,},
['Благословение Черного Похода']={[0]=6.0,},
['Благословление вождя']={[0]=3600.0,},
['Блуждающие духи']={[0]=300.0,},
['Боевая аура']={[0]=10.0,},
['Боевая сеть']={[0]=10.0,},
['Боевой крик']={[0]=900.0,},
['Боевой приказ']={[0]=6.0,},
['Боевой штандарт']={[0]=3.0,},
['Божественный дух']={[0]=1800.0,},
['Болезненная усталость']={[0]=1800.0,},
['Болезненный удар']={[0]=5.0,},
['Болезнетворный плевок']={[0]=10.0,},
['Болезнетворный удар']={[0]=20.0,},
['Болотный яд']={[0]=45.0,},
['Бочка - ловушка']={[0]=2.0,},
['Бродячая чума']={[0]=300.0,},
['Броня IV']={[0]=3600.0,},
['Броня Мощи']={[0]=6.0,},
['Бросок грязью']={[0]=10.0,},
['Бросок топора']={[0]=2.0,},
['Бросок факела']={[0]=30.0,},
['Буйство']={[0]=2.5,},
['Валун']={[0]=10.0,},
['Варварский штурм']={[0]=30.0,},
['Варварский штурм II']={[0]=30.0,},
['Варварский штурм III']={[0]=30.0,},
['Варварский штурм IV']={[0]=30.0,},
['Варварский штурм V']={[0]=30.0,},
['Вбирание']={[0]=15.0,},
['Векнисский катализатор']={[0]=30.0,},
['Ветрожнец']={[0]=20.0,},
['Взорвать ману']={[0]=5.0,},
['Взрыв бочонка']={[0]=3.0,},
['Взрыв жука']={[0]=4.0,},
['Взрыв факела']={[0]=30.0,},
['Взрыв яйца']={[0]=3.0,},
['Взрывание']={[0]=2.5,},
['Взрывная волна']={[0]=6.0,},
['Визг']={[0]=4.0,},
['Визг банши']={[0]=5.0,},
['Вихрь']={[0]=10.0,},
['Власть']={[0]=15.0,},
['Внезапное оглушение']={[1]=5.0,[2]=8.0,[0]=8.0,},
['Водобоязнь']={[0]=600.0,},
['Водяные миазмы']={[0]=3600.0,},
['Возгорание']={[0]=20.0,},
['Воздушные пузыри']={[0]=10.0,},
['Возжигание пламени']={[0]=60.0,},
['Вой банши']={[0]=12.0,},
['Вой банши Плеть Ночи']={[0]=15.0,},
['Вой ужаса']={[1]=10.0,[2]=15.0,[0]=15.0,},
['Волшебный вихрь']={[0]=8.0,},
['Волшебный огонь']={[0]=40.0,},
['Волшебный огонь (зверь)']={[0]=40.0,},
['Воля Хаккара']={[0]=20.0,},
['Вопли прошлого']={[0]=5.0,},
['Воспламенение']={[0]=4.0,},
['Воспламенение маны']={[0]=300.0,},
['Воющий клинок']={[0]=30.0,},
['Всепожирающая чума']={[0]=24.0,},
['Всецветная мутация']={[0]=300.0,},
['Всплеск кислоты']={[0]=30.0,},
['Вспышка безумия']={[0]=3.0,},
['Вудуистский сглаз']={[0]=120.0,},
['Вурдалачий гной']={[0]=600.0,},
['Вурдалачий мор']={[0]=1800.0,},
['Выброс слизи']={[0]=5.0,},
['Вызов Джариен и Сотоса DND']={[0]=600.0,},
['Вызов Исалиена DND']={[0]=600.0,},
['Вызов Кормока DND']={[0]=600.0,},
['Вызов Лорда Вальтхалака DND']={[0]=600.0,},
['Вызов Мардука Черного']={[0]=300.0,},
['Вызов Мора Серое Копыто DND']={[0]=600.0,},
['Вызов Телрина DND']={[0]=600.0,},
['Вызов духа крикуна']={[0]=120.0,},
['Вызов различных DND']={[0]=600.0,},
['Вызывающий крик']={[0]=6.0,},
['Вызывающий рев']={[0]=6.0,},
['Выклевать глаз']={[0]=12.0,},
['Выпад тенеохотника']={[0]=5.0,},
['Выплеск магмы']={[0]=30.0,},
['Высасывание души']={[0]=12.0,},
['Вытягивание благословления']={[0]=30.0,},
['Вытягивание души']={[0]=10.0,},
['Вытягивание жизни']={[0]=30.0,},
['Вытягивание здоровья']={[0]=15.0,},
['Выявление слабости']={[0]=5.0,},
['Гаррота']={[0]=18.0,},
['Гейзер']={[0]=5.0,},
['Генератор призыва Айс Вентурона']={[0]=5.0,},
['Гибельный яд']={[0]=120.0,},
['Глубокая дремота']={[0]=15.0,},
['Глубокая рана']={[0]=9.0,},
['Глубокий сон']={[0]=10.0,},
['Гнев Чумного']={[0]=10.0,},
['Гнев деревьев']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=21.0,[5]=24.0,[6]=27.0,[0]=27.0,},
['Гниение плоти']={[0]=10.0,},
['Гниение разума']={[0]=30.0,},
['Гнилая желчь']={[0]=45.0,},
['Гнилостная вонь']={[0]=10.0,},
['Гнилостное дыхание']={[0]=30.0,},
['Гнилостный укус']={[0]=30.0,},
['Гнилостный фермент']={[0]=300.0,},
['Гниль']={[0]=60.0,},
['Гнойная сыпь']={[0]=1800.0,},
['Гнойный укус']={[0]=1800.0,},
['Гномская шапка контроля над разумом']={[0]=20.0,},
['Головокружение']={[0]=10.0,},
['Головокружительная боль']={[0]=10.0,},
['Горение души']={[0]=16.0,},
['Горящие ветра']={[0]=8.0,},
['Горящий адреналин']={[0]=20.0,},
['Господство над душой']={[0]=60.0,},
['Господство над разумом']={[0]=10.0,},
['Град']={[0]=3.0,},
['Град шипов']={[0]=2.0,},
['Гриб Болотного Плавника']={[0]=8.0,},
['Грозовой удар']={[0]=5.0,},
['Громовая поступь']={[0]=2.0,},
['Громовой грохот']={[0]=2.5,},
['Громовой удар']={[0]=5.0,},
['Грохот']={[0]=10.0,},
['Грохот земли']={[0]=3.0,},
['Гул земли']={[0]=5.0,},
['Гулкий рык']={[0]=20.0,},
['Дар Аругала']={[0]=300.0,},
['Дезориентирующий выстрел']={[0]=4.0,},
['Демоническая вилка']={[0]=25.0,},
['Деморализующий крик']={[0]=30.0,},
['Деморализующий рев']={[0]=30.0,},
['Дикая магия']={[0]=30.0,},
['Дисбалансирующий удар']={[0]=6.0,},
['Дистиллятор эктоплазмы']={[0]=3.0,},
['Доверие Големагга']={[0]=2.0,},
['Долгое оцепенение']={[0]=6.0,},
['Дразнящий удар']={[0]=6.0,},
['Древнее отчаяние']={[0]=5.0,},
['Древний ужас']={[0]=900.0,},
['Древняя истерия']={[0]=900.0,},
['Дрожь земли']={[0]=2.0,},
['Друидская дремота']={[0]=15.0,},
['Дурманящий яд']={[0]=10.0,},
['Дурманящий яд II']={[0]=12.0,},
['Дурманящий яд III']={[0]=14.0,},
['Дух Зандалара']={[0]=7200.0,},
['Дух Лунокогтя']={[0]=120.0,},
['Дымовая шашка']={[0]=4.0,},
['Дыхание Саргераса']={[0]=90.0,},
['Едкий яд']={[0]=30.0,},
['Едкий ядовитый плевок']={[0]=10.0,},
['Жажда крови']={[0]=15.0,},
['Жгучая вспышка']={[0]=30.0,},
['Жгучее пламя']={[0]=9.0,},
['Жертвенный огонь']={[0]=15.0,},
['Жертвоприношение']={[0]=8.0,},
['Жесткий щипок']={[0]=15.0,},
['Жестокий ветер']={[0]=1.0,},
['Жестокий рывок']={[0]=15.0,},
['Жестокий яд']={[0]=30.0,},
['Живая бомба']={[0]=8.0,},
['Жидкая руда']={[0]=20.0,},
['Жуки-трупоеды']={[0]=6.0,},
['Жуткокоготь']={[0]=60.0,},
['Завеса тьмы']={[0]=7.0,},
['Задержка сигнала']={[0]=10.0,},
['Заключение']={[0]=30.0,},
['Залп ледяных стрел']={[0]=8.0,},
['Замедление']={[1]=10.0,[2]=15.0,[0]=15.0,},
['Замедляющая жижа']={[0]=10.0,},
['Замедляющий яд']={[0]=25.0,},
['Замшелые ноги']={[0]=180.0,},
['Замшелые руки']={[0]=180.0,},
['Запрет чар']={[1]=6.0,[2]=8.0,[0]=8.0,},
['Запугивание']={[0]=4.0,},
['Запутывание']={[0]=8.0,},
['Запутывание хлыстня']={[0]=18.0,},
['Запятнанный разум']={[0]=600.0,},
['Зараженная рана']={[0]=300.0,},
['Зараза Желчной жабы']={[0]=180.0,},
['Заразная гниль']={[0]=240.0,},
['Заразная слизь']={[0]=120.0,},
['Заразный выстрел']={[0]=300.0,},
['Заразный укус']={[0]=180.0,},
['Заразный шип']={[0]=300.0,},
['Засасывающая жижа']={[0]=5.0,},
['Засуха']={[0]=21.0,},
['Затмение']={[0]=3.0,},
['Затмение зрения']={[0]=12.0,},
['Захват крылом']={[0]=10.0,},
['Защита от льда']={[0]=3600.0,},
['Защита от темной магии']={[0]=3600.0,},
['Звездные осколки']={[0]=6.0,},
['Звездный огонь - оглушение']={[0]=3.0,},
['Звериная атака - эффект']={[0]=4.0,},
['Здоровье II']={[0]=3600.0,},
['Земной шок']={[0]=2.0,},
['Зимняя стужа']={[0]=15.0,},
['Знак Бломе']={[0]=75.0,},
['Знак Зелиека']={[0]=75.0,},
['Знак Кортазза']={[0]=75.0,},
['Знак Льда']={[0]=12.0,},
['Знак Могрейна']={[0]=75.0,},
['Знак Пламени']={[0]=120.0,},
['Знак Природы']={[0]=12.0,},
['Знак Тьмы']={[0]=15.0,},
['Знак детонации']={[0]=30.0,},
['Знак дикой природы']={[0]=1800.0,},
['Зов могилы']={[0]=60.0,},
['Зуботычина']={[0]=4.0,},
['Извлечение сущности']={[0]=12.0,},
['Изгнание']={[1]=20.0,[2]=30.0,[0]=30.0,},
['Изгнание нежити']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Изнурение']={[0]=15.0,},
['Изнуряющая атака']={[0]=8.0,},
['Изнуряющее прикосновение']={[0]=120.0,},
['Илистая топь']={[0]=300.0,},
['Иллюзии Джин\'до']={[0]=20.0,},
['Инстинкт выживания']={[0]=2.0,},
['Интеллект IX']={[0]=3600.0,},
['Инфернальный снаряд']={[0]=10.0,},
['Искажение времени']={[0]=8.0,},
['Испепеление']={[0]=60.0,},
['Иссушающее прикосновение']={[0]=180.0,},
['Иссушающий жар']={[0]=900.0,},
['Иссушающий удар']={[0]=8.0,},
['Иссушающий яд']={[0]=180.0,},
['Истинное счастье']={[0]=20.0,},
['Истощение души']={[0]=10.0,},
['Истребление']={[0]=3.0,},
['Исчезновение']={[0]=20.0,},
['Калечащий яд']={[0]=12.0,},
['Калечение']={[0]=2.0,},
['Кара']={[0]=10.0,},
['Касание Огненного скелета']={[0]=3.0,},
['Касание увядания']={[0]=120.0,},
['Катализатор Улья Зара']={[0]=30.0,},
['Кипяток']={[0]=4.0,},
['Кислота Хаккара']={[0]=60.0,},
['Кислота землееда']={[0]=30.0,},
['Кислота проходчика']={[0]=30.0,},
['Кислотная слизь']={[0]=30.0,},
['Кислотные брызги']={[0]=10.0,},
['Кислотный град']={[0]=25.0,},
['Кислотный плевок']={[0]=30.0,},
['Клеймо Черепокованого']={[0]=30.0,},
['Клык Хрустального Паука']={[0]=10.0,},
['Кнут']={[0]=2.0,},
['Когти Эсхандара']={[0]=30.0,},
['Колдовство бронзовых драконов']={[0]=600.0,},
['Колдовство зеленых драконов']={[0]=600.0,},
['Колдовство красных драконов']={[0]=600.0,},
['Колдовство синих драконов']={[0]=600.0,},
['Колдовство черных драконов']={[0]=600.0,},
['Колодец Света']={[0]=180.0,},
['Кольцо льда']={[0]=8.0,},
['Кольцо мороза']={[0]=2.0,},
['Кольцо стужи']={[0]=10.0,},
['Колючее жало']={[0]=300.0,},
['Колючка девизавра']={[0]=10.0,},
['Ком грязи']={[0]=15.0,},
['Комок слизи']={[0]=6.0,},
['Контратака']={[0]=5.0,},
['Контроль над разумом']={[0]=60.0,},
['Контузящий выстрел']={[0]=4.0,},
['Корни хлыстня']={[0]=15.0,},
['Костяной расплав']={[0]=20.0,},
['Кошмар Наралекса']={[0]=15.0,},
['Кошмарное существо']={[0]=30.0,},
['Крепкий щипок']={[0]=5.0,},
['Кривое зеркало']={[0]=45.0,},
['Кровавый вой']={[0]=15.0,},
['Кровавый клык']={[0]=6.0,},
['Кровавый насос']={[0]=8.0,},
['Кровоизлияние']={[0]=15.0,},
['Кровопускание']={[1]=9.0,[2]=12.0,[3]=15.0,[4]=18.0,[5]=21.0,[6]=21.0,[7]=21.0,[0]=21.0,},
['Кровоточащая рана']={[0]=18.0,},
['Кровь']={[0]=15.0,},
['Кружение паутины']={[0]=7.0,},
['Крутящийся пробег']={[0]=2.0,},
['Крылья отчаяния']={[0]=6.0,},
['Крысизм']={[0]=10.0,},
['Кулак Рагнароса']={[0]=5.0,},
['Лед']={[0]=10.0,},
['Леденящее касание Трелана']={[0]=12.0,},
['Леденящее прикосновение']={[0]=8.0,},
['Леденящий коготь']={[0]=5.0,},
['Ледниковый рев']={[0]=3.0,},
['Ледяная аура']={[0]=5.0,},
['Ледяная могила']={[0]=10.0,},
['Ледяная стрела']={[1]=5.0,[2]=6.0,[3]=6.0,[4]=7.0,[5]=7.0,[6]=8.0,[7]=8.0,[8]=9.0,[9]=9.0,[10]=9.0,[11]=9.0,[0]=9.0,},
['Ледяная хватка']={[0]=5.0,},
['Ледяной взгляд']={[0]=15.0,},
['Ледяной взрыв']={[0]=10.0,},
['Ледяной выстрел']={[0]=10.0,},
['Ледяной коготь']={[0]=6.0,},
['Ледяной ожог']={[0]=15.0,},
['Ледяной шок']={[0]=8.0,},
['Ледяные оковы']={[1]=15.0,[2]=20.0,[0]=20.0,},
['Летучая зараза']={[0]=120.0,},
['Летящая паутина']={[0]=10.0,},
['Лик смерти']={[0]=3.0,},
['Липкая смола']={[0]=4.0,},
['Лихорадка дряхлости']={[0]=21.0,},
['Личиночный студень']={[0]=6.0,},
['Лишение сил']={[0]=10.0,},
['Ловкий пинок']={[0]=2.0,},
['Ловкость VIII']={[0]=3600.0,},
['Ловушка']={[0]=10.0,},
['Ловушка-вонючка']={[0]=120.0,},
['Ложная мишень Джеффа 1']={[0]=30.0,},
['Ложная мишень Джеффа 2']={[0]=30.0,},
['Лунатизм']={[0]=10.0,},
['Лунная удача']={[0]=1800.0,},
['Лунный огонь']={[1]=9.0,[2]=12.0,[3]=12.0,[4]=12.0,[5]=12.0,[6]=12.0,[7]=12.0,[8]=12.0,[9]=12.0,[10]=12.0,[0]=12.0,},
['Луч супер-уменьшения']={[0]=20.0,},
['Лютый рык']={[0]=15.0,},
['Массовая зуботычина']={[0]=5.0,},
['Массовое исцеление']={[0]=12.0,},
['Маяк Ущелья']={[0]=60.0,},
['Мгновенная заморозка']={[0]=5.0,},
['Медленный яд']={[0]=30.0,},
['Медленный яд II']={[0]=30.0,},
['Ментальная власть']={[0]=120.0,},
['Ментальный крик']={[0]=8.0,},
['Мертвенный вой']={[0]=6.0,},
['Месть Кривой Сосны']={[0]=6.0,},
['Месть Огненного скелета']={[0]=2.0,},
['Метание топора']={[0]=3.0,},
['Метка Арлокк']={[0]=120.0,},
['Метка Каззака']={[0]=60.0,},
['Метка охотника']={[0]=120.0,},
['Могущественное превращение']={[0]=20.0,},
['Мозгоруб']={[0]=30.0,},
['Молния Бездны']={[0]=10.0,},
['Молот бурь']={[0]=8.0,},
['Молот правосудия']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=6.0,[0]=6.0,},
['Молот рыцаря']={[0]=4.0,},
['Мор']={[0]=40.0,},
['Моровая лихорадка']={[0]=180.0,},
['Морозная слабость']={[0]=45.0,},
['Морозная стрела']={[0]=2.0,},
['Морозная стрела защита']={[0]=5.0,},
['Мощный удар']={[0]=2.0,},
['Мощный удар щитом']={[0]=2.0,},
['Мощь Шахрама']={[0]=5.0,},
['Мощь сока']={[0]=300.0,},
['Мрачноозерная поганка']={[0]=2700.0,},
['Мутагенный укол']={[0]=10.0,},
['Мутация жука']={[0]=240.0,},
['Мучительная боль']={[0]=15.0,},
['Мучительные припадки']={[0]=180.0,},
['Мысленная дрожь']={[0]=600.0,},
['Мысленная чума']={[0]=600.0,},
['Мясорубка']={[0]=6.0,},
['Надвигающийся рок']={[0]=10.0,},
['Накинуться']={[0]=2.0,},
['Наложение ледяного клейма']={[0]=8.0,},
['Нанесение увечья']={[0]=20.0,},
['Напор волн']={[0]=10.0,},
['Наскок']={[0]=2.0,},
['Насылание безумия']={[0]=6.0,},
['Невольная трансформация']={[0]=30.0,},
['Невосприимчивость']={[0]=1800.0,},
['Неисправность стремительного движения']={[0]=20.0,},
['Неистовство бури']={[0]=12.0,},
['Неистовый нырок']={[0]=2.0,},
['Нейтрализующий яд']={[0]=15.0,},
['Некротический яд']={[0]=30.0,},
['Неловкость']={[0]=30.0,},
['Неловкость II']={[0]=30.0,},
['Неловкость III']={[0]=30.0,},
['Немощь']={[0]=60.0,},
['Ненависть к нулю']={[0]=1.7,},
['Неожиданная атака']={[0]=2.5,},
['Неотвратимый рок']={[0]=10.0,},
['Неотвязные призраки']={[0]=300.0,},
['Непереносимый смрад']={[0]=6.0,},
['Нерешительность']={[0]=60.0,},
['Низкий выпад']={[0]=12.0,},
['Нити воздуха']={[0]=2.0,},
['Нокаут']={[0]=6.0,},
['Нокдаун']={[0]=2.0,},
['ОД оберег']={[0]=300.0,},
['Оберег лености - воздействие']={[0]=3.0,},
['Обессиливающий сглаз']={[0]=120.0,},
['Облако дыма']={[0]=3.0,},
['Облучение']={[0]=60.0,},
['Обморожение']={[0]=5.0,},
['Обнаружение большей невидимости']={[0]=600.0,},
['Ободряющий клич Драконоборца']={[0]=7200.0,},
['Обращение в камень']={[0]=8.0,},
['Общие узы']={[0]=4.0,},
['Объятие Вдовы']={[0]=30.0,},
['Объятия вампира']={[0]=60.0,},
['Оглушающий взрыв']={[1]=3.0,[2]=5.0,[0]=5.0,},
['Оглушающий удар']={[0]=5.0,},
['Оглушение']={[0]=2.0,},
['Оглушительный визг']={[0]=8.0,},
['Оглушить']={[1]=2.0,[2]=3.0,[3]=4.0,[0]=4.0,},
['Огненная глыба']={[0]=12.0,},
['Огненная защита']={[0]=3600.0,},
['Огненная слабость']={[0]=45.0,},
['Огненный шар']={[1]=4.0,[2]=6.0,[3]=6.0,[4]=8.0,[5]=8.0,[6]=8.0,[7]=8.0,[8]=8.0,[9]=8.0,[10]=8.0,[11]=8.0,[12]=8.0,[0]=8.0,},
['Огненный шок']={[0]=12.0,},
['Огнесдвиг']={[0]=3.0,},
['Одержимость']={[0]=120.0,},
['Одурманивание']={[0]=15.0,},
['Оживление души']={[0]=1800.0,},
['Ожог Тьмы']={[0]=5.0,},
['Ой!']={[0]=10.0,},
['Око Бессмер\'тера']={[0]=4.0,},
['Оковы земли']={[0]=5.0,},
['Оковы магмы']={[0]=15.0,},
['Окоченение']={[0]=1.5,},
['Оледенение']={[0]=10.0,},
['Оплетающие сети']={[0]=6.0,},
['Оплеуха']={[0]=2.0,},
['Оправдание']={[0]=10.0,},
['Опутывающая сеть']={[0]=8.0,},
['Опутывающие сети']={[0]=8.0,},
['Орлиный коготь']={[0]=15.0,},
['Осквернение']={[0]=10.0,},
['Оскверненные тотемы']={[0]=30.0,},
['Оскверняющая аура']={[0]=5.0,},
['Ослабление']={[0]=120.0,},
['Ослабление доспеха']={[0]=30.0,},
['Ослабление ловкости']={[0]=300.0,},
['Ослабление силы']={[0]=300.0,},
['Ослабляющая болезнь']={[0]=30.0,},
['Ослепление']={[0]=10.0,},
['Ответный удар']={[0]=6.0,},
['Отвлекающее движение']={[0]=7.0,},
['Отмщение']={[0]=600.0,},
['Отпугивание зверя']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Отравление грибом-малиновиком']={[0]=1200.0,},
['Отравление разума']={[0]=15.0,},
['Отравляющий град']={[0]=15.0,},
['Отравляющий плевок']={[0]=10.0,},
['Отражающее поле']={[0]=5.0,},
['Отражение магии']={[0]=10.0,},
['Отупляющая боль']={[0]=15.0,},
['Охотник']={[0]=60.0,},
['Ошеломление']={[1]=25.0,[2]=35.0,[3]=45.0,[0]=45.0,},
['Палка погонщика рабов']={[0]=30.0,},
['Паника']={[0]=8.0,},
['Паразит']={[0]=75.0,},
['Паразитирующий змей']={[0]=10.0,},
['Парализация']={[0]=30.0,},
['Парализующий крик']={[0]=60.0,},
['Парализующий удар']={[0]=4.0,},
['Парализующий яд']={[0]=8.0,},
['Паутина']={[0]=8.0,},
['Паутина II']={[0]=10.0,},
['Паутина III']={[0]=12.0,},
['Паутина Нараксиса']={[0]=30.0,},
['Паутинный взрыв']={[0]=10.0,},
['Паучий яд']={[0]=30.0,},
['Пелена Тени']={[0]=15.0,},
['Первородный огонь']={[0]=8.0,},
['Перемещение духа']={[0]=5.0,},
['Перехват - оглушение']={[0]=3.0,},
['Перехват оглушение.']={[0]=3.0,},
['Пинок']={[0]=5.0,},
['Пинок - немота']={[0]=2.0,},
['Пиявка ауры (PT)']={[0]=15.0,},
['Пламенный кнут']={[0]=45.0,},
['Пламень']={[0]=30.0,},
['Плевок мясника']={[0]=10.0,},
['Плевок разъедающей кислоты']={[0]=10.0,},
['Плевок рассеяния']={[0]=15.0,},
['Пленение древня']={[0]=5.0,},
['Пленение духа']={[0]=9.0,},
['Пленение духа гончей Скверны']={[0]=9.0,},
['Пленение духа огненного голема']={[0]=9.0,},
['Повреждение мозга']={[0]=30.0,},
['Повреждение сухожилий']={[0]=8.0,},
['Поганочный цвет']={[0]=90.0,},
['Поглощающее пламя']={[0]=6.0,},
['Поглощение']={[0]=15.0,},
['Погружение']={[0]=60.0,},
['Подводное дыхание']={[0]=600.0,},
['Подлый трюк']={[0]=4.0,},
['Подножка']={[0]=3.0,},
['Подрезать крылья']={[0]=10.0,},
['Подрезать сухожилия']={[0]=15.0,},
['Покаяние']={[0]=6.0,},
['Ползучая плесень']={[0]=60.0,},
['Ползучий мор']={[0]=20.0,},
['Полиморф: цыпленок']={[0]=10.0,},
['Полиморфный луч']={[0]=4.0,},
['Полная заморозка']={[0]=10.0,},
['Полоснуть']={[0]=12.0,},
['Помещено']={[0]=3.0,},
['Пониженная выносливость']={[0]=4.0,},
['Поощрение']={[0]=1800.0,},
['Порабощение']={[0]=15.0,},
['Порабощение демона']={[0]=300.0,},
['Порочное лечение']={[0]=30.0,},
['Порочный страх']={[0]=2.0,},
['Порча']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=18.0,[5]=18.0,[6]=18.0,[7]=18.0,[0]=18.0,},
['Порча души']={[0]=15.0,},
['Порча земли']={[0]=10.0,},
['Порыв ветра']={[0]=4.0,},
['Последствия']={[0]=5.0,},
['Поступь Азретока']={[0]=5.0,},
['Поступь Скверны']={[0]=3.0,},
['Поток слизи']={[0]=3.0,},
['Потрошитель Гутгора']={[0]=30.0,},
['Похищение души']={[0]=15.0,},
['Похищение жизни']={[0]=5.0,},
['Похищение маны']={[0]=5.0,},
['Поцелуй паука']={[0]=10.0,},
['Праведный огонь']={[0]=8.0,},
['Правосудие воина света']={[0]=10.0,},
['Правосудие мудрости']={[0]=10.0,},
['Правосудие света']={[0]=10.0,},
['Правосудие справедливости']={[0]=10.0,},
['Праздник Огня - неистовство']={[0]=3600.0,},
['Праздник Огня - стойкость']={[0]=3600.0,},
['Праздничная удача!']={[0]=1800.0,},
['Превращение']={[1]=20.0,[2]=30.0,[3]=40.0,[4]=50.0,[0]=50.0,},
['Превращение Балназзара - оглушение']={[0]=5.0,},
['Превращение в овцу']={[0]=10.0,},
['Превращение наоборот']={[0]=8.0,},
['Превращение: корова']={[0]=50.0,},
['Превращение: свинья']={[0]=50.0,},
['Превращение: черепаха']={[0]=50.0,},
['Предательская стужа']={[0]=120.0,},
['Прерывание завершения работы (PT)']={[0]=30.0,},
['Преследование']={[1]=10.0,[2]=20.0,[3]=30.0,[0]=30.0,},
['Привлечение яростня']={[0]=2.0,},
['Прием "Взрывное сердце пяти жирных пальцев"']={[0]=30.0,},
['Прижигание пламенем']={[0]=900.0,},
['Призрачный удар']={[0]=7.0,},
['Призыв Освобожденной души']={[0]=60.0,},
['Призыв духа Дарроушира']={[0]=60.0,},
['Призыв исцеляющей келебрийской лозы']={[0]=604800.0,},
['Призыв конного рыцаря']={[0]=120.0,},
['Призыв рыцаря']={[0]=180.0,},
['Призыв ученика']={[0]=230.0,},
['Приказ бешенства']={[0]=10.0,},
['Прикосновение Когтя Ворона']={[0]=5.0,},
['Прикосновение слабости']={[0]=120.0,},
['Приливная хватка']={[0]=4.0,},
['Приливное подчинение']={[0]=3.0,},
['Природная защита']={[0]=3600.0,},
['Природная слабость']={[0]=45.0,},
['Приручение большого скального вепря']={[0]=20.0,},
['Приручение бронескорпа']={[0]=900.0,},
['Приручение взрослого долгонога']={[0]=900.0,},
['Приручение волка прерий']={[0]=900.0,},
['Приручение зверя']={[0]=20.0,},
['Приручение лютого пятнистого вепря.']={[0]=900.0,},
['Приручение медведя-ледолапа']={[0]=20.0,},
['Приручение ночного саблезуба']={[0]=900.0,},
['Приручение перепелятника']={[0]=900.0,},
['Приручение приливного краба']={[0]=900.0,},
['Приручение снежного леопарда']={[0]=900.0,},
['Приручение совиного крикуна']={[0]=900.0,},
['Приручение чащобного тенетника']={[0]=900.0,},
['Пробуждение глиняных землестражей']={[0]=5.0,},
['Провокация']={[0]=3.0,},
['Прокалывание']={[0]=9.0,},
['Проклятая кровь']={[0]=600.0,},
['Проклятие Аругала']={[0]=10.0,},
['Проклятие Гееннаса']={[0]=300.0,},
['Проклятие Джаммал\'ана']={[0]=10.0,},
['Проклятие Люцифрона']={[0]=300.0,},
['Проклятие Мардука']={[0]=5.0,},
['Проклятие Мертвого Леса']={[0]=120.0,},
['Проклятие Молота Ужаса']={[0]=60.0,},
['Проклятие Огненного клейма']={[0]=300.0,},
['Проклятие Повелителя элементалей']={[0]=60.0,},
['Проклятие Сталвана']={[0]=600.0,},
['Проклятие Тенерога']={[0]=300.0,},
['Проклятие Тимми']={[0]=60.0,},
['Проклятие Тула']={[0]=240.0,},
['Проклятие Тутен\'каш']={[0]=900.0,},
['Проклятие Тьмы']={[0]=300.0,},
['Проклятие Холодного Сердца']={[0]=180.0,},
['Проклятие Чумного']={[0]=10.0,},
['Проклятие агонии']={[0]=24.0,},
['Проклятие банши']={[0]=12.0,},
['Проклятие безрассудства']={[0]=120.0,},
['Проклятие бессилия']={[0]=120.0,},
['Проклятие восстановления']={[0]=180.0,},
['Проклятие изнеможения']={[0]=12.0,},
['Проклятие косноязычия']={[0]=30.0,},
['Проклятие крови']={[0]=600.0,},
['Проклятие маразма']={[0]=120.0,},
['Проклятие мрачнодерева']={[0]=60.0,},
['Проклятие нежити']={[0]=12.0,},
['Проклятие ока']={[0]=120.0,},
['Проклятие отмщения']={[0]=900.0,},
['Проклятие рока']={[0]=60.0,},
['Проклятие слабости']={[0]=120.0,},
['Проклятие стихий']={[0]=300.0,},
['Проклятие темного наставника']={[0]=60.0,},
['Проклятие чумной крысы']={[0]=14.0,},
['Проклятие шипов']={[0]=180.0,},
['Проклятый клинок']={[0]=20.0,},
['Проклятье Хаккара']={[0]=120.0,},
['Проклятье Шаззраха']={[0]=300.0,},
['Проклятье павших Маграм']={[0]=900.0,},
['Проклятье племен']={[0]=1800.0,},
['Прокол']={[0]=10.0,},
['Проколотая броня']={[0]=20.0,},
['Прокусить лодыжку']={[0]=3.0,},
['Пронзание брони']={[0]=30.0,},
['Пронзающая тень']={[0]=1800.0,},
['Пронзающий выстрел']={[0]=15.0,},
['Пронзительный визг']={[0]=6.0,},
['Пронзительный вой']={[0]=6.0,},
['Проникающий молот из ивы']={[0]=30.0,},
['Прорубание брони']={[0]=15.0,},
['Пугающий визг']={[0]=6.0,},
['Пугающий вопль']={[0]=8.0,},
['Пугающий рык']={[0]=5.0,},
['Пыльное облако']={[0]=12.0,},
['Пытка разума']={[0]=3.0,},
['Пьяный яд']={[0]=120.0,},
['Радиационное заражение']={[0]=25.0,},
['Разбитые доспехи']={[0]=45.0,},
['Развеивание магии']={[0]=2.0,},
['Раздирание плоти']={[0]=12.0,},
['Размах']={[0]=2.0,},
['Разорвать']={[0]=12.0,},
['Разоружение']={[0]=10.0,},
['Разрушитель душ']={[0]=30.0,},
['Разрыв мышц']={[0]=5.0,},
['Разрыв сухожилий']={[0]=8.0,},
['Разъедающая кислота']={[0]=300.0,},
['Разъедающая слизь']={[0]=60.0,},
['Разъединение']={[0]=300.0,},
['Рана']={[0]=25.0,},
['Ранящий щит']={[0]=10.0,},
['Раскатистый рев']={[0]=3.0,},
['Раскол брони']={[0]=30.0,},
['Расплавленная броня']={[0]=60.0,},
['Расплавленный металл']={[0]=15.0,},
['Распознавание магии']={[0]=120.0,},
['Рассекающий колун']={[0]=30.0,},
['Расстройство ума']={[0]=3.0,},
['Растворение брони']={[0]=20.0,},
['Растерзать']={[0]=8.0,},
['Расчленение']={[0]=10.0,},
['Рваная рана']={[0]=6.0,},
['Рвотная чума']={[0]=300.0,},
['Реванш - оглушение']={[0]=3.0,},
['Регенерация IV']={[0]=3600.0,},
['Рой насекомых']={[0]=12.0,},
['Рука Рагнароса']={[0]=2.0,},
['Рука Тауриссана']={[0]=5.0,},
['Рывок']={[0]=4.0,},
['Рык']={[0]=3.0,},
['Свиток заклятия Проявления']={[0]=600.0,},
['Священная защита']={[0]=3600.0,},
['Священный взрыв']={[0]=4.0,},
['Священный огонь']={[0]=10.0,},
['Священный раскол']={[0]=60.0,},
['Сглаз']={[0]=10.0,},
['Сглаз Когтя Ворона']={[0]=30.0,},
['Сгусток магмы']={[0]=30.0,},
['Серьезная рана']={[0]=10.0,},
['Сетестрел']={[0]=10.0,},
['Сеть']={[0]=10.0,},
['Сеть с крючьями']={[0]=10.0,},
['Сила Племени: бронзовый']={[0]=5.0,},
['Сила Племени: зеленый']={[0]=6.0,},
['Сила Племени: красный']={[0]=5.0,},
['Сила Племени: синий']={[0]=6.0,},
['Силитидова чума']={[0]=1800.0,},
['Сильнейший страх']={[0]=5.0,},
['Сильный трепет']={[0]=2.0,},
['Сильный чародейский эликсир']={[0]=1800.0,},
['Скачок']={[0]=1.0,},
['Сковывание нежити']={[1]=30.0,[2]=40.0,[3]=50.0,[0]=50.0,},
['Слабоумие']={[0]=30.0,},
['Слабоумие II']={[0]=30.0,},
['Слабоумие III']={[0]=30.0,},
['Слабый яд']={[0]=12.0,},
['Слизентерия']={[0]=1800.0,},
['Слизистая лихорадка']={[0]=600.0,},
['Слизняк']={[0]=1800.0,},
['Слово Света: Стойкость духа']={[0]=1800.0,},
['Слово Тьмы: Боль']={[0]=18.0,},
['Случайное превращение']={[0]=20.0,},
['Смертельная отрава']={[0]=12.0,},
['Смертельная отрава II']={[0]=12.0,},
['Смертельная отрава III']={[0]=12.0,},
['Смертельная отрава IV']={[0]=12.0,},
['Смертельная рана']={[0]=8.0,},
['Смертельный раскол']={[0]=5.0,},
['Смертельный удар']={[0]=10.0,},
['Смертельный укус скорпида']={[0]=20.0,},
['Смертельный яд']={[0]=12.0,},
['Смертельный яд II']={[0]=12.0,},
['Смертельный яд III']={[0]=12.0,},
['Смертельный яд IV']={[0]=12.0,},
['Смертельный яд V']={[0]=12.0,},
['Смертное ложе']={[0]=10.0,},
['Смертоносная рана']={[0]=15.0,},
['Смертоносный луч гномов']={[0]=4.0,},
['Смерть надсмотрщика из клана Черного Железа']={[0]=6.0,},
['Смерть от утопления']={[0]=300.0,},
['Снятие всех кандалов']={[0]=1.0,},
['Соблазн']={[0]=15.0,},
['Сожжение маны']={[0]=8.0,},
['Сожжение плоти']={[0]=60.0,},
['Создание Взрыв сердца Хаккара']={[0]=30.0,},
['Создание ауры Зула']={[0]=30.0,},
['Создание сердца Хаккара - провал']={[0]=30.0,},
['Создание сердца Хаккара - создание круга']={[0]=30.0,},
['Сокрушение головы']={[0]=2.0,},
['Сокрушение демона']={[0]=5.0,},
['Сокрушение доспеха']={[0]=30.0,},
['Сокрушение духа']={[0]=1200.0,},
['Сокрушение черепа']={[0]=2.0,},
['Сол Л']={[0]=5.0,},
['Сон']={[1]=20.0,[2]=30.0,[0]=30.0,},
['Сосредоточение внимания']={[0]=10.0,},
['Сосредоточенный яд']={[0]=60.0,},
['Сосулька']={[0]=10.0,},
['Сотрясение']={[0]=2.0,},
['Спешивающий выстрел']={[0]=2.0,},
['Справедливость господина']={[0]=5.0,},
['Спячка']={[1]=20.0,[2]=30.0,[3]=40.0,[0]=40.0,},
['Статический контур']={[0]=15.0,},
['Стигийская хватка']={[0]=5.0,},
['Столбняк']={[0]=1200.0,},
['Страж сети']={[0]=20.0,},
['Страх']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Страх (NYI)']={[0]=15.0,},
['Страх чернокнижника']={[0]=2.0,},
['Стрела Тьмы']={[0]=6.0,},
['Струя пара']={[0]=10.0,},
['Студеное дыхание']={[0]=12.0,},
['Стужа']={[0]=30.0,},
['Судейский молоточек']={[0]=10.0,},
['Суль-траз']={[0]=15.0,},
['Сущность красных драконов']={[0]=180.0,},
['Схватить оружие']={[0]=15.0,},
['Темная жижа']={[0]=300.0,},
['Темная энергия']={[0]=300.0,},
['Теневая слабость']={[0]=45.0,},
['Теневое пламя']={[0]=10.0,},
['Теневой приказ']={[0]=15.0,},
['Тень Черноскала']={[0]=8.0,},
['Терзания']={[0]=60.0,},
['Тест стазиса']={[0]=5.0,},
['Тестовое проклятие агонии']={[0]=24.0,},
['Тестовый разрыв']={[0]=12.0,},
['Тестовый удар W35']={[0]=10.0,},
['Тестовый удар W50']={[0]=10.0,},
['Тина']={[0]=3.0,},
['Токсическая инфекция']={[0]=60.0,},
['Топот']={[0]=10.0,},
['Топот кодо']={[0]=3.0,},
['Торнадо']={[0]=4.0,},
['Трещина в черепе']={[0]=20.0,},
['Тыквовинская страшилка']={[0]=6.0,},
['Убийственное жало']={[0]=12.0,},
['Увечье']={[0]=20.0,},
['Угрожающее рычание']={[0]=30.0,},
['Угрожающий взгляд']={[0]=8.0,},
['Удар Рак-Зора']={[0]=3.0,},
['Удар ауры']={[0]=300.0,},
['Удар бури']={[0]=12.0,},
['Удар воина Света']={[0]=30.0,},
['Удар головой']={[0]=2.0,},
['Удар грома']={[1]=10.0,[2]=14.0,[3]=18.0,[4]=22.0,[5]=26.0,[6]=30.0,[0]=30.0,},
['Удар пламенем']={[0]=45.0,},
['Удар по почкам']={[1]=0,[2]=1.0,},
['Удар сплеча']={[0]=10.0,},
['Удар тенеохотника']={[0]=5.0,},
['Удар хвостом']={[0]=2.0,},
['Удар щитом']={[0]=6.0,},
['Удар щитом - немота']={[0]=3.0,},
['Ударная волна']={[0]=2.0,},
['Удержание']={[0]=5.0,},
['Удушение']={[0]=6.0,},
['Ужасающий визг']={[0]=4.0,},
['Ужасающий вой']={[0]=3.0,},
['Ужасающий рев']={[0]=5.0,},
['Ужасное кровопускание']={[0]=15.0,},
['Узы Чертополохха']={[0]=8.0,},
['Укус бешенства']={[0]=30.0,},
['Укус вдовы']={[0]=4.0,},
['Укус виверны']={[0]=12.0,},
['Укус гадюки']={[0]=8.0,},
['Укус змеи']={[0]=15.0,},
['Укус скорпида']={[0]=20.0,},
['Укус ярости']={[0]=6.0,},
['Улучшенное подрезание сухожилий']={[0]=5.0,},
['Улучшенный контузящий выстрел']={[0]=3.0,},
['Уменьшающий луч']={[0]=20.0,},
['Уменьшение']={[0]=120.0,},
['Умиротворение']={[0]=10.0,},
['Умиротворение животного']={[0]=15.0,},
['Умысел']={[0]=10.0,},
['Уничтожение']={[0]=8.0,},
['Управление техникой']={[0]=60.0,},
['Урожай душ']={[0]=60.0,},
['Урон интеллекта']={[0]=4.0,},
['Урон ловкости']={[0]=4.0,},
['Урон силы']={[0]=4.0,},
['Урон стойкости']={[0]=4.0,},
['Усиленное пламя']={[0]=30.0,},
['Усиленный урон']={[0]=10.0,},
['Усмирение']={[0]=15.0,},
['Усовершенствованный манекен-мишень - эффект возникновения']={[0]=10.0,},
['Успокоительный яд']={[0]=8.0,},
['Устрашающий крик']={[0]=8.0,},
['Устрашающий рев']={[0]=8.0,},
['Устрашающий рык']={[0]=5.0,},
['Устрашение']={[0]=3.0,},
['Утраченный навык']={[0]=300.0,},
['Уют очага']={[0]=60.0,},
['Уязвимость']={[0]=3.0,},
['Уязвимость к Тьме']={[0]=15.0,},
['Уязвимость к заклинаниям']={[0]=5.0,},
['Уязвимость к огню']={[0]=30.0,},
['Уязвимость к стихиям']={[0]=30.0,},
['Флакон яда']={[0]=30.0,},
['Хватка земли']={[0]=4.0,},
['Хватка командования']={[0]=10.0,},
['Хваткие когти']={[0]=4.0,},
['Хваткие лозы']={[0]=10.0,},
['Химический пилинг']={[0]=10.0,},
['Хлопушка Мэлоуна']={[0]=2.0,},
['Холод']={[0]=15.0,},
['Холод III PROC']={[0]=5.0,},
['Хрустальный взгляд']={[0]=6.0,},
['Хрустальный сон']={[0]=15.0,},
['Хрустальный удар']={[0]=120.0,},
['Цап за руку']={[0]=8.0,},
['Цепи Кел\'Тузада']={[0]=20.0,},
['Чародейская слабость']={[0]=45.0,},
['Чародейские стрелы']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=5.0,[5]=5.0,[6]=5.0,[7]=5.0,[8]=5.0,[0]=5.0,},
['Чародейский интеллект']={[0]=1800.0,},
['Чарующая колыбельная']={[0]=10.0,},
['Червестудень']={[0]=6.0,},
['Черви кадавра']={[0]=600.0,},
['Черная копоть']={[0]=10.0,},
['Черная слизь']={[0]=120.0,},
['Черная стрела']={[0]=30.0,},
['Чернильные брызги']={[0]=15.0,},
['Черный гной']={[0]=1800.0,},
['Черный мор']={[0]=90.0,},
['Чесотка']={[0]=8.0,},
['Чума']={[0]=40.0,},
['Чумное облако']={[0]=240.0,},
['Чумной туман']={[0]=8.0,},
['Шепот К\'Туна']={[0]=20.0,},
['Шипы']={[0]=600.0,},
['Шквал топора']={[0]=2.0,},
['Электрическая сеть']={[0]=10.0,},
['Эликсир великанов']={[0]=1200.0,},
['Эфект появления манекена цели']={[0]=5.0,},
['Эффект взрывной ловушки']={[0]=20.0,},
['Эффект замораживающей ловушки']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['Эффект инфернала']={[0]=2.0,},
['Эффект медлительности']={[0]=3.0,},
['Эффект младшего скорпионьего яда']={[0]=60.0,},
['Эффект надоедания']={[0]=3.0,},
['Эффект насмешки ложной мишени Гизлока']={[0]=5.0,},
['Эффект обжигающей ловушки']={[0]=15.0,},
['Эффект оглушения дробящего оружия']={[0]=3.0,},
['Эффект открытой раны']={[0]=8.0,},
['Эффект порченой крови']={[0]=10.0,},
['Эффект стазиса']={[0]=15.0,},
['Эффект страданий Таэлана']={[0]=2.0,},
['Яд']={[0]=30.0,},
['Яд Атал\'аи']={[0]=30.0,},
['Яд Наблюдателя']={[0]=60.0,},
['Яд воспоминаний Дирга']={[0]=30.0,},
['Яд кровоцвета']={[0]=30.0,},
['Яд паучьего монстра']={[0]=300.0,},
['Яд пиявки']={[0]=40.0,},
['Яд равазавра']={[0]=30.0,},
['Яд скорпида']={[0]=10.0,},
['Яд смертоносной пиявки']={[0]=45.0,},
['Ядовитая слюна']={[0]=120.0,},
['Ядовитое жало']={[0]=45.0,},
['Ядовитое облако']={[0]=45.0,},
['Ядовитый выстрел']={[0]=75.0,},
['Ядовитый гарпун']={[0]=60.0,},
['Ядовитый град']={[0]=10.0,},
['Ядовитый заряд']={[0]=9.0,},
['Ядовитый катализатор']={[0]=120.0,},
['Ядовитый плевок']={[0]=15.0,},
['Ядовитый тычок']={[0]=15.0,},
['Ядовитый удар']={[0]=10.0,},
['Ядовитый хвостокол']={[0]=10.0,},
['Яростный вой']={[0]=300.0,},
['Ярость Арантира']={[0]=6.0,},
['Ярость Тула']={[0]=120.0,},
}
-- custom entries not detected by DBC extractor
pfUI_locale["ruRU"]["debuffs"]['Конус холода']={[0]=8.0,} -- Cone of Cold
-972
View File
@@ -1,16 +1,5 @@
pfUI_locale["zhCN"] = {}
pfUI_locale["zhCN"]["class"] = {
["术士"] = "WARLOCK",
["战士"] = "WARRIOR",
["猎人"] = "HUNTER",
["法师"] = "MAGE",
["牧师"] = "PRIEST",
["德鲁伊"] = "DRUID",
["圣骑士"] = "PALADIN",
["萨满祭司"] = "SHAMAN",
["盗贼"] = "ROGUE",
}
pfUI_locale["zhCN"]["healduration"] = {
["Rejuvenation"] = "使你的回春术的持续时间延长3秒。",
@@ -23,15 +12,6 @@ pfUI_locale["zhCN"]["customcast"] = {
}
pfUI_locale["zhCN"]["dyndebuffs"] = {
["Rupture"] = "割裂",
["Kidney Shot"] = "肾击",
["Rend"] = "撕裂",
["Shadow Word: Pain"] = "暗言术:痛",
["Demoralizing Shout"] = "挫志怒吼",
["Frostbolt"] = "寒冰箭",
["Gouge"] = "凿击",
}
pfUI_locale["zhCN"]["judgements"] = {
["公正审判"] = true,
@@ -47,959 +27,7 @@ pfUI_locale["zhCN"]["resurrections"] = {
["先祖之魂"] = true,
}
pfUI_locale["zhCN"]["debuffs"] = {
['AE Charm']={[0]=300.0,},
['Alliance Flag Captured']={[0]=10.0,},
['Armor IV']={[0]=3600.0,},
['Aura Leech (PT)']={[0]=15.0,},
['Balnazzar Transform Stun']={[0]=5.0,},
['Clear All Shackels']={[0]=1.0,},
['Distract Move']={[0]=7.0,},
['Dull Lure Spawn Effect']={[0]=5.0,},
['Freeze III PROC']={[0]=5.0,},
['Hate to Zero']={[0]=1.7,},
['Hunter Epic Anti-Cheat DND']={[0]=60.0,},
['Ice Bolt Prot']={[0]=5.0,},
['Intellect IX']={[0]=3600.0,},
['Interrupt (PT)']={[0]=30.0,},
['Jeff Dummy 1']={[0]=30.0,},
['Jeff Dummy 2']={[0]=30.0,},
['Pester Effect']={[0]=3.0,},
['Regeneration IV']={[0]=3600.0,},
['Shiny Lure Spawn Effect']={[0]=10.0,},
['Sol L']={[0]=5.0,},
['Stasis Test']={[0]=5.0,},
['Summon Isalien DND']={[0]=600.0,},
['Summon Jarien and Sothos DND']={[0]=600.0,},
['Summon Kormok DND']={[0]=600.0,},
['Summon Lord Valthalak DND']={[0]=600.0,},
['Summon Mor Grayhoof DND']={[0]=600.0,},
['Summon Thelrin DND']={[0]=600.0,},
['Summon Various DND']={[0]=600.0,},
['TWEEP']={[0]=11.0,},
['Taelan\'s Suffering Effect']={[0]=2.0,},
['Test Curse of Agony']={[0]=24.0,},
['Test Rip']={[0]=12.0,},
['Test Strike W35']={[0]=10.0,},
['Test Strike W50']={[0]=10.0,},
['Windsor Dismisses Horse DND']={[0]=55.0,},
['[PH] Crystal Corpse Timer']={[0]=7200.0,},
['上古恐慌']={[0]=900.0,},
['上古狂乱']={[0]=900.0,},
['上古绝望']={[0]=5.0,},
['严重致伤']={[0]=10.0,},
['中毒']={[0]=30.0,},
['仪式蜡烛光环']={[0]=6.0,},
['伊森哈德扫击']={[0]=30.0,},
['伊莫塔尔之眼']={[0]=4.0,},
['休眠']={[1]=20.0,[2]=30.0,[3]=40.0,[0]=40.0,},
['伤害反射护盾']={[0]=10.0,},
['伤害增效']={[0]=10.0,},
['低吼']={[0]=3.0,},
['低沉咆哮']={[0]=3.0,},
['作呕瘟疫']={[0]=300.0,},
['侏儒死亡射线']={[0]=4.0,},
['侏儒洗脑帽']={[0]=20.0,},
['侏儒精神控制帽']={[0]=20.0,},
['侦测强效隐形']={[0]=600.0,},
['侦测魔法']={[0]=120.0,},
['侵扰']={[1]=10.0,[2]=20.0,[3]=30.0,[0]=30.0,},
['侵蚀力量']={[0]=300.0,},
['倒钩之刺']={[0]=300.0,},
['偷袭']={[0]=4.0,},
['催眠曲']={[0]=10.0,},
['催眠术']={[1]=20.0,[2]=30.0,[0]=30.0,},
['僵化']={[0]=8.0,},
['元素易伤']={[0]=30.0,},
['元素火焰']={[0]=8.0,},
['元素诅咒']={[0]=300.0,},
['元素领主的诅咒']={[0]=60.0,},
['充实']={[0]=20.0,},
['充电网']={[0]=10.0,},
['光明之泉']={[0]=180.0,},
['光辉']={[0]=30.0,},
['克尔苏加德锁链']={[0]=20.0,},
['克苏恩的低语']={[0]=20.0,},
['免疫']={[0]=1800.0,},
['公正审判']={[0]=10.0,},
['共同禁锢']={[0]=4.0,},
['兴奋毒剂']={[0]=120.0,},
['军旗']={[0]=3.0,},
['冥河之握']={[0]=5.0,},
['冰冻']={[0]=1.5,},
['冰冻之爪']={[0]=5.0,},
['冰冻之眼']={[0]=15.0,},
['冰冻新星']={[0]=10.0,},
['冰冻术']={[0]=15.0,},
['冰冻陷阱效果']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['冰封攻击']={[0]=8.0,},
['冰息术']={[0]=12.0,},
['冰柱']={[0]=10.0,},
['冰爆术']={[0]=10.0,},
['冰链术']={[1]=15.0,[2]=20.0,[0]=20.0,},
['冰雹']={[0]=3.0,},
['冰霜']={[0]=10.0,},
['冰霜光环']={[0]=5.0,},
['冰霜凝固']={[0]=10.0,},
['冰霜印记']={[0]=12.0,},
['冰霜射击']={[0]=10.0,},
['冰霜新星']={[0]=8.0,},
['冰霜灼烧']={[0]=15.0,},
['冰霜箭']={[0]=4.0,},
['冰霜虚弱']={[0]=45.0,},
['冰霜速冻']={[0]=5.0,},
['冰霜震击']={[0]=8.0,},
['冲击']={[0]=2.0,},
['冲击波']={[0]=6.0,},
['冲锋']={[0]=4.0,},
['冲锋击昏']={[0]=1.0,},
['冷心诅咒']={[0]=180.0,},
['冷木诅咒']={[0]=60.0,},
['净化']={[0]=2.0,},
['凋零之触']={[0]=120.0,},
['凋零打击']={[0]=8.0,},
['减速']={[0]=20.0,},
['减速术']={[1]=10.0,[2]=15.0,[0]=15.0,},
['减速毒药']={[0]=30.0,},
['减速毒药 II']={[0]=30.0,},
['减速软泥']={[0]=10.0,},
['凝视']={[0]=10.0,},
['出血']={[0]=15.0,},
['击倒']={[0]=2.0,},
['击倒射击']={[0]=2.0,},
['击昏']={[0]=6.0,},
['击碎护甲']={[0]=30.0,},
['凿击']={[0]=4.0,},
['分离']={[0]=300.0,},
['切割']={[0]=6.0,},
['初级蝎毒效果']={[0]=60.0,},
['利斧乱舞']={[0]=2.0,},
['利爪握取']={[0]=4.0,},
['制裁之锤']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=6.0,[0]=6.0,},
['制造哈卡之心召唤法阵']={[0]=30.0,},
['制造哈卡之心爆炸']={[0]=30.0,},
['制造哈卡之心裂隙']={[0]=30.0,},
['制造祖尔光环']={[0]=30.0,},
['刺破']={[0]=10.0,},
['刺破护甲']={[0]=30.0,},
['刺穿关节']={[0]=3.0,},
['刺穿护甲']={[0]=20.0,},
['刺耳尖啸']={[0]=6.0,},
['刺耳怒吼']={[0]=6.0,},
['刺骨暗影']={[0]=1800.0,},
['削弱']={[0]=120.0,},
['剧烈震颤']={[0]=2.0,},
['割伤']={[0]=8.0,},
['割碎']={[0]=2.0,},
['割裂']={[0]=6.0,},
['割裂伤口']={[0]=60.0,},
['力量']={[0]=6.0,},
['力量衰减']={[0]=300.0,},
['包围之网']={[0]=8.0,},
['包围之风']={[0]=10.0,},
['化学去皮']={[0]=10.0,},
['十字军之锤']={[0]=4.0,},
['十字军审判']={[0]=10.0,},
['十字军打击']={[0]=30.0,},
['占据']={[0]=120.0,},
['卡扎克的印记']={[0]=60.0,},
['厄运诅咒']={[0]=60.0,},
['反击']={[0]=5.0,},
['反射力场']={[0]=5.0,},
['反手一击']={[0]=2.0,},
['变异注射']={[0]=10.0,},
['变形包']={[0]=240.0,},
['变形回火']={[0]=8.0,},
['变形射线']={[0]=4.0,},
['变形术']={[1]=20.0,[2]=30.0,[3]=40.0,[4]=50.0,[0]=50.0,},
['变形术:奶牛']={[0]=50.0,},
['变形术:猪']={[0]=50.0,},
['变形术:龟']={[0]=50.0,},
['变羊术']={[0]=10.0,},
['变鸡术']={[0]=10.0,},
['古雷曼格的信任']={[0]=2.0,},
['召唤学徒']={[0]=230.0,},
['召唤尖啸者的灵魂']={[0]=120.0,},
['召唤治愈的塞雷布拉斯之藤']={[0]=604800.0,},
['召唤芬克发电器']={[0]=5.0,},
['召唤被解放的灵魂']={[0]=60.0,},
['召唤达隆郡居民的灵魂']={[0]=60.0,},
['召唤重装骑士']={[0]=120.0,},
['召唤骑士']={[0]=180.0,},
['召唤黑衣玛杜克']={[0]=300.0,},
['吉兹洛克的假人嘲讽效果']={[0]=5.0,},
['吞噬']={[0]=15.0,},
['吞噬之焰']={[0]=6.0,},
['含毒之刺']={[0]=15.0,},
['含毒喷溅']={[0]=15.0,},
['听觉震荡']={[0]=300.0,},
['吸取法力']={[0]=5.0,},
['吸取灵魂']={[0]=15.0,},
['吸取生命']={[0]=5.0,},
['吸引狂暴者']={[0]=2.0,},
['吸血毒药']={[0]=40.0,},
['吸血鬼的拥抱']={[0]=60.0,},
['咬手']={[0]=8.0,},
['哀嚎之刃']={[0]=30.0,},
['哀嚎死者']={[0]=6.0,},
['哈卡的意志']={[0]=20.0,},
['哈卡的诅咒']={[0]=120.0,},
['哈卡酸液']={[0]=60.0,},
['唤醒地灵守护者']={[0]=5.0,},
['啄眼']={[0]=12.0,},
['啊!']={[0]=10.0,},
['喷泉']={[0]=5.0,},
['嗜血']={[0]=15.0,},
['嘲讽']={[0]=3.0,},
['噬灵瘟疫']={[0]=24.0,},
['嚎叫之怒']={[0]=300.0,},
['回响咆哮']={[0]=20.0,},
['图勒之怒']={[0]=120.0,},
['图勒的诅咒']={[0]=240.0,},
['图特卡什的诅咒']={[0]=900.0,},
['圣光审判']={[0]=10.0,},
['圣言术:韧']={[0]=1800.0,},
['地狱火效果']={[0]=2.0,},
['地狱火罩']={[0]=10.0,},
['地缚术']={[0]=5.0,},
['地震']={[0]=4.0,},
['地震术']={[0]=2.0,},
['地面震击']={[0]=2.0,},
['坑道蝎毒']={[0]=30.0,},
['埃博诺克之影']={[0]=8.0,},
['基赫纳斯的诅咒']={[0]=300.0,},
['堕落图腾']={[0]=30.0,},
['堕落治疗']={[0]=30.0,},
['墨汁喷射']={[0]=15.0,},
['复仇']={[0]=600.0,},
['复仇昏迷']={[0]=3.0,},
['复仇诅咒']={[0]=900.0,},
['复活节惊骇']={[0]=6.0,},
['多彩变形']={[0]=300.0,},
['大地的堕落']={[0]=10.0,},
['大地粉碎']={[0]=3.0,},
['大地践踏']={[0]=5.0,},
['大地震击']={[0]=2.0,},
['大地震颤']={[0]=2.0,},
['失效']={[0]=8.0,},
['头重脚轻']={[0]=5.0,},
['夺魂怒吼']={[0]=60.0,},
['奈塔拉什的哀嚎']={[0]=15.0,},
['奥术智慧']={[0]=1800.0,},
['奥术爆裂']={[0]=8.0,},
['奥术虚弱']={[0]=45.0,},
['奥术飞弹']={[1]=3.0,[2]=4.0,[3]=5.0,[4]=5.0,[5]=5.0,[6]=5.0,[7]=5.0,[8]=5.0,[0]=5.0,},
['女妖之嚎']={[0]=12.0,},
['女妖尖叫']={[0]=5.0,},
['女妖诅咒']={[0]=12.0,},
['奴役']={[0]=15.0,},
['奴役恶魔']={[0]=300.0,},
['妖术']={[0]=10.0,},
['威吓低吼']={[0]=30.0,},
['威慑凝视']={[0]=6.0,},
['娅尔罗的印记']={[0]=120.0,},
['娅尔罗的守护']={[0]=2.0,},
['宁神毒药']={[0]=8.0,},
['安抚动物']={[0]=15.0,},
['安抚心灵']={[0]=15.0,},
['定罪之槌']={[0]=10.0,},
['寄生']={[0]=75.0,},
['寄生蛇']={[0]=10.0,},
['寒冬']={[0]=21.0,},
['寒冰之墓']={[0]=10.0,},
['寒冰之握']={[0]=10.0,},
['寒冰之浪']={[0]=10.0,},
['寒冰之触']={[0]=8.0,},
['寒冰咆哮']={[0]=3.0,},
['寒冰新星']={[0]=2.0,},
['寒冰爪']={[0]=6.0,},
['寒冰箭']={[1]=5.0,[2]=6.0,[3]=6.0,[4]=7.0,[5]=7.0,[6]=8.0,[7]=8.0,[8]=9.0,[9]=9.0,[10]=9.0,[11]=9.0,[0]=9.0,},
['寒冷抓握']={[0]=5.0,},
['导致疯狂']={[0]=6.0,},
['尖啸']={[0]=4.0,},
['尖牙撕咬']={[0]=30.0,},
['尘雾之云']={[0]=12.0,},
['局部毒药']={[0]=60.0,},
['屠龙者的咆哮']={[0]=7200.0,},
['岩浆喷溅']={[0]=30.0,},
['工头的毒药']={[0]=60.0,},
['巨人药剂']={[0]=1200.0,},
['巨槌诅咒']={[0]=60.0,},
['巫毒妖术']={[0]=120.0,},
['已种植']={[0]=3.0,},
['布劳缪克丝印记']={[0]=75.0,},
['希斯耐特吸血术']={[0]=8.0,},
['幼虫粘液']={[0]=6.0,},
['幽影之雾']={[0]=6.0,},
['幽影突袭']={[0]=20.0,},
['库尔塔兹印记']={[0]=75.0,},
['延迟']={[0]=10.0,},
['异种蝎群瘟疫']={[0]=1800.0,},
['弱化']={[0]=10.0,},
['弱效毒药']={[0]=12.0,},
['强力顺劈']={[0]=10.0,},
['强化摔绊']={[0]=5.0,},
['强化断筋']={[0]=5.0,},
['强化毒蝎钉刺']={[0]=20.0,},
['强化震荡射击']={[0]=3.0,},
['强效变形术']={[0]=20.0,},
['强效奥法药剂']={[0]=1800.0,},
['强风']={[0]=1.0,},
['往日的尖啸']={[0]=5.0,},
['德尔克的毒药']={[0]=30.0,},
['德鲁伊的睡眠']={[0]=15.0,},
['心智统御']={[0]=120.0,},
['心灵尖啸']={[0]=8.0,},
['心灵碎裂']={[0]=3.0,},
['心灵腐蚀']={[0]=30.0,},
['心灵震颤']={[0]=600.0,},
['心脏爆炸技术']={[0]=30.0,},
['必然的厄运']={[0]=10.0,},
['忏悔']={[0]=6.0,},
['快速传染']={[0]=120.0,},
['怠惰效果']={[0]=3.0,},
['恐吓']={[0]=4.0,},
['恐吓咆哮']={[0]=5.0,},
['恐吓嚎叫']={[0]=3.0,},
['恐吓尖啸']={[0]=4.0,},
['恐吓野兽']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['恐怖低吼']={[0]=15.0,},
['恐惧']={[0]=8.0,},
['恐惧光环']={[0]=3.0,},
['恐惧嚎叫']={[1]=10.0,[2]=15.0,[0]=15.0,},
['恐惧尖啸']={[0]=6.0,},
['恐惧怒吼']={[0]=5.0,},
['恐惧惊骇']={[0]=5.0,},
['恐惧术']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['恐慌']={[0]=8.0,},
['恶性毒药']={[0]=30.0,},
['恶毒撕裂']={[0]=15.0,},
['恶鞭']={[0]=20.0,},
['恶魔之叉']={[0]=25.0,},
['恶魔践踏']={[0]=3.0,},
['惊骇之爪']={[0]=60.0,},
['惩击恶魔']={[0]=5.0,},
['惩戒痛击']={[0]=6.0,},
['惬意小火']={[0]=60.0,},
['感染之伤']={[0]=300.0,},
['感染之刺']={[0]=300.0,},
['感染撕咬']={[0]=180.0,},
['慢性毒药']={[0]=300.0,},
['慢性毒菌']={[0]=60.0,},
['憎恨怒视']={[0]=8.0,},
['憎恶喷吐']={[0]=10.0,},
['懒惰结界效果']={[0]=3.0,},
['战争践踏']={[0]=2.0,},
['战斗光环']={[0]=10.0,},
['战斗命令']={[0]=6.0,},
['战斗怒吼']={[0]=900.0,},
['战网']={[0]=10.0,},
['扎拉虫巢催化']={[0]=30.0,},
['扫击']={[0]=9.0,},
['扫尾攻击']={[0]=2.0,},
['扫荡']={[0]=12.0,},
['扭曲反射']={[0]=45.0,},
['扰乱之痛']={[0]=15.0,},
['抓住武器']={[0]=15.0,},
['投掷泥土']={[0]=10.0,},
['投掷泥浆']={[0]=15.0,},
['投掷火炬']={[0]=30.0,},
['投石']={[0]=10.0,},
['投网']={[0]=10.0,},
['抚慰']={[0]=10.0,},
['护甲粉碎']={[0]=45.0,},
['抽取灵魂']={[0]=5.0,},
['拉克佐猛击']={[0]=3.0,},
['拉格纳罗斯之手']={[0]=2.0,},
['拉格纳罗斯之拳']={[0]=5.0,},
['拦截昏迷']={[0]=3.0,},
['拳击']={[0]=4.0,},
['挑战咆哮']={[0]=6.0,},
['挑战怒吼']={[0]=6.0,},
['挑筋']={[0]=8.0,},
['挫志咆哮']={[0]=30.0,},
['挫志怒吼']={[0]=30.0,},
['挫锐']={[0]=30.0,},
['捕捉地狱火之魂']={[0]=9.0,},
['捕捉地狱犬之魂']={[0]=9.0,},
['捕捉树人']={[0]=5.0,},
['捕捉灵魂']={[0]=9.0,},
['控制机械']={[0]=60.0,},
['掷斧']={[0]=2.0,},
['提炼精华']={[0]=12.0,},
['提米的诅咒']={[0]=60.0,},
['携网卫士']={[0]=20.0,},
['摇摆意志']={[0]=60.0,},
['摔投']={[0]=3.0,},
['摔绊']={[0]=10.0,},
['撒网器']={[0]=10.0,},
['撕扯']={[0]=12.0,},
['撕碎']={[0]=12.0,},
['撕裂']={[1]=9.0,[2]=12.0,[3]=15.0,[4]=18.0,[5]=21.0,[6]=21.0,[7]=21.0,[0]=21.0,},
['撕裂肉体']={[0]=12.0,},
['撕裂肌肉']={[0]=5.0,},
['撞头']={[0]=2.0,},
['支配']={[0]=15.0,},
['收割灵魂']={[0]=60.0,},
['攻击命令']={[0]=10.0,},
['放逐术']={[1]=20.0,[2]=30.0,[0]=30.0,},
['敏捷 VIII']={[0]=3600.0,},
['敏捷衰减']={[0]=300.0,},
['斧类武器投掷']={[0]=3.0,},
['断筋']={[0]=15.0,},
['断风者']={[0]=20.0,},
['斯卡尔德']={[0]=4.0,},
['斯塔文的诅咒']={[0]=600.0,},
['旋风斩']={[0]=2.0,},
['无力冲锋']={[0]=8.0,},
['无力诅咒']={[0]=120.0,},
['无比恶臭']={[0]=6.0,},
['无畏冲锋']={[0]=30.0,},
['时间流逝']={[0]=8.0,},
['昏迷']={[0]=2.0,},
['昏迷冲击']={[1]=3.0,[2]=5.0,[0]=5.0,},
['昏迷打击']={[0]=4.0,},
['昏迷猛击']={[1]=5.0,[2]=8.0,[0]=8.0,},
['昏阙']={[0]=3.0,},
['易伤']={[0]=3.0,},
['星火昏迷']={[0]=3.0,},
['星辰碎片']={[0]=6.0,},
['春节的财富!']={[0]=1800.0,},
['显形卷轴']={[0]=600.0,},
['智慧审判']={[0]=10.0,},
['暗影之雾']={[0]=10.0,},
['暗影刺击']={[0]=5.0,},
['暗影命令']={[0]=15.0,},
['暗影挥砍']={[0]=5.0,},
['暗影易伤']={[0]=15.0,},
['暗影灼烧']={[0]=5.0,},
['暗影烈焰']={[0]=10.0,},
['暗影箭']={[0]=6.0,},
['暗影虚弱']={[0]=45.0,},
['暗影诅咒']={[0]=300.0,},
['暗影迷雾']={[0]=15.0,},
['暗影遮罩']={[0]=15.0,},
['暗淡幻象']={[0]=12.0,},
['暗色湖蘑菇']={[0]=2700.0,},
['暗角诅咒']={[0]=300.0,},
['暗言术:痛']={[0]=18.0,},
['暴跳如雷']={[0]=2.5,},
['暴露伤口效果']={[0]=8.0,},
['月火术']={[1]=9.0,[2]=12.0,[3]=12.0,[4]=12.0,[5]=12.0,[6]=12.0,[7]=12.0,[8]=12.0,[9]=12.0,[10]=12.0,[0]=12.0,},
['月爪枭兽的灵魂']={[0]=120.0,},
['末日降临']={[0]=10.0,},
['术士恐惧']={[0]=2.0,},
['束缚亡灵']={[1]=30.0,[2]=40.0,[3]=50.0,[0]=50.0,},
['枯萎之触']={[0]=180.0,},
['枯萎毒药']={[0]=180.0,},
['枯萎热浪']={[0]=900.0,},
['梦游']={[0]=10.0,},
['梦魇生物']={[0]=30.0,},
['槌击']={[0]=2.0,},
['横扫摔绊']={[0]=2.0,},
['横扫重锤']={[0]=30.0,},
['正义之火']={[0]=8.0,},
['死亡之床']={[0]=10.0,},
['死亡缠绕']={[0]=3.0,},
['死尸虫']={[0]=600.0,},
['死木诅咒']={[0]=120.0,},
['死灵之毒']={[0]=30.0,},
['残废术']={[0]=20.0,},
['残杀']={[0]=3.0,},
['毁坏之痛']={[0]=180.0,},
['毁灭']={[0]=2.0,},
['毒云之箭']={[0]=10.0,},
['毒云术']={[0]=45.0,},
['毒害之灾']={[0]=120.0,},
['毒性之箭']={[0]=10.0,},
['毒性传染']={[0]=60.0,},
['毒性充能']={[0]=9.0,},
['毒性光环']={[0]=12.0,},
['毒性唾液']={[0]=120.0,},
['毒性射击']={[0]=75.0,},
['毒性箭雨']={[0]=15.0,},
['毒性钉刺']={[0]=45.0,},
['毒性鱼叉']={[0]=60.0,},
['毒液喷吐']={[0]=10.0,},
['毒液喷射']={[0]=30.0,},
['毒液箭']={[0]=10.0,},
['毒皮毒药']={[0]=30.0,},
['毒箭之雨']={[0]=10.0,},
['毒药']={[0]=30.0,},
['毒药瓶']={[0]=30.0,},
['毒蛇钉刺']={[0]=15.0,},
['毒蛛撕咬']={[0]=4.0,},
['毒蝎钉刺']={[0]=20.0,},
['毒蟾蜍感染']={[0]=180.0,},
['气泡']={[0]=10.0,},
['水下呼吸']={[0]=600.0,},
['水下毒气']={[0]=3600.0,},
['水晶凝视']={[0]=6.0,},
['水晶沉睡']={[0]=15.0,},
['水晶蜘蛛之牙']={[0]=10.0,},
['求生本能']={[0]=2.0,},
['污染']={[0]=10.0,},
['污染光环']={[0]=5.0,},
['污浊之魂']={[0]=600.0,},
['沉默']={[0]=5.0,},
['沙尘风暴']={[0]=1.0,},
['沙斯拉尔的诅咒']={[0]=300.0,},
['沙赫拉姆之力']={[0]=5.0,},
['治疗诅咒']={[0]=180.0,},
['法力燃烧']={[0]=8.0,},
['法术反制']={[0]=10.0,},
['法术反制 - 沉默']={[0]=4.0,},
['法术封锁']={[1]=6.0,[2]=8.0,[0]=8.0,},
['法术易伤']={[0]=5.0,},
['法术锁定']={[0]=3.0,},
['活动故障']={[0]=20.0,},
['活化炸弹']={[0]=8.0,},
['消失']={[0]=20.0,},
['涣散喷吐']={[0]=15.0,},
['淤泥']={[0]=3.0,},
['淤泥毒药']={[0]=45.0,},
['淤血']={[0]=15.0,},
['深冬之寒']={[0]=15.0,},
['深度沉睡']={[0]=15.0,},
['深度睡眠']={[0]=10.0,},
['淹没']={[0]=60.0,},
['清算']={[0]=5.0,},
['温诺希斯的守护']={[0]=10.0,},
['游荡瘟疫']={[0]=300.0,},
['溶解护甲']={[0]=20.0,},
['溺死']={[0]=300.0,},
['潮汐咒符']={[0]=3.0,},
['激励']={[0]=1800.0,},
['激流']={[0]=4.0,},
['火印诅咒']={[0]=300.0,},
['火炬爆裂']={[0]=30.0,},
['火焰冲撞']={[0]=3.0,},
['火焰增效']={[0]=30.0,},
['火焰的召唤']={[0]=60.0,},
['火焰节之怒']={[0]=3600.0,},
['火焰节之韧']={[0]=3600.0,},
['火焰虚弱']={[0]=45.0,},
['火球术']={[1]=4.0,[2]=6.0,[3]=6.0,[4]=8.0,[5]=8.0,[6]=8.0,[7]=8.0,[8]=8.0,[9]=8.0,[10]=8.0,[11]=8.0,[12]=8.0,[0]=8.0,},
['火药桶爆炸']={[0]=3.0,},
['灰尘之云']={[0]=12.0,},
['灵质提纯器']={[0]=3.0,},
['灵魂凋零']={[0]=1200.0,},
['灵魂击碎者']={[0]=30.0,},
['灵魂分流']={[0]=12.0,},
['灵魂复活']={[0]=1800.0,},
['灵魂支配']={[0]=60.0,},
['灵魂消耗']={[0]=10.0,},
['灵魂燃烧']={[0]=16.0,},
['灵魂腐蚀']={[0]=15.0,},
['灵魂虹吸']={[0]=10.0,},
['灼烧之焰']={[0]=900.0,},
['灼热冲击']={[0]=30.0,},
['灼热烈焰']={[0]=9.0,},
['炎爆术']={[0]=12.0,},
['点燃']={[0]=4.0,},
['点燃法力']={[0]=300.0,},
['点燃躯体']={[0]=60.0,},
['烈焰印记']={[0]=120.0,},
['烈焰打击']={[0]=45.0,},
['烈焰震击']={[0]=12.0,},
['烈焰震击者之触']={[0]=3.0,},
['烈焰震击者的复仇']={[0]=2.0,},
['烈焰鞭笞']={[0]=45.0,},
['烟云']={[0]=3.0,},
['烟雾弹']={[0]=4.0,},
['烟雾遮盖']={[0]=10.0,},
['烧尽']={[0]=60.0,},
['热疫']={[0]=180.0,},
['热疫疲倦']={[0]=1800.0,},
['煽动烈焰']={[0]=60.0,},
['熔化护甲']={[0]=60.0,},
['熔化矿石']={[0]=20.0,},
['熔岩喷吐']={[0]=30.0,},
['熔岩喷溅']={[0]=30.0,},
['熔岩镣铐']={[0]=15.0,},
['熔铁之水']={[0]=15.0,},
['燃烧']={[0]=10.0,},
['燃烧之风']={[0]=8.0,},
['燃烧刺激']={[0]=20.0,},
['爆炸']={[0]=2.5,},
['爆炸虫']={[0]=4.0,},
['爆炸陷阱效果']={[0]=20.0,},
['爆裂印记']={[0]=30.0,},
['特雷莱恩冰触术']={[0]=12.0,},
['牺牲']={[0]=8.0,},
['狂怒撕咬']={[0]=6.0,},
['狂暴']={[0]=30.0,},
['狂暴命令']={[0]=10.0,},
['狂犬之口']={[0]=30.0,},
['狂犬病']={[0]=600.0,},
['狂野变形']={[0]=20.0,},
['猎人印记']={[0]=120.0,},
['猛击']={[0]=2.0,},
['猛踢']={[0]=2.0,},
['献祭']={[0]=15.0,},
['献祭陷阱效果']={[0]=15.0,},
['玛尔里的守护']={[0]=6.0,},
['玛格拉姆灵魂诅咒']={[0]=900.0,},
['瑟里耶克印记']={[0]=75.0,},
['生命 II']={[0]=3600.0,},
['生命吸取']={[0]=12.0,},
['生命虹吸']={[0]=30.0,},
['畏缩咆哮']={[0]=5.0,},
['疯狂']={[0]=10.0,},
['疯狂之眼']={[0]=3.0,},
['疯狂突进']={[0]=2.0,},
['疲劳诅咒']={[0]=12.0,},
['疾病喷吐']={[0]=10.0,},
['疾病射击']={[0]=300.0,},
['疾病猛击']={[0]=20.0,},
['疾病软泥']={[0]=120.0,},
['疾痛术']={[0]=15.0,},
['病弱']={[0]=300.0,},
['痒']={[0]=8.0,},
['痛苦诅咒']={[1]=30.0,[2]=24.0,[3]=24.0,[4]=24.0,[5]=24.0,[6]=24.0,[0]=24.0,},
['痴呆诅咒']={[0]=120.0,},
['瘟疫']={[0]=40.0,},
['瘟疫之云']={[0]=240.0,},
['瘟疫使者之怒']={[0]=10.0,},
['瘟疫使者的诅咒']={[0]=10.0,},
['瘟疫心灵']={[0]=600.0,},
['瘟疫迷雾']={[0]=8.0,},
['瘟疫鼠诅咒']={[0]=14.0,},
['瘤背复仇']={[0]=6.0,},
['白骨熔化']={[0]=20.0,},
['皱缩']={[0]=120.0,},
['盾击']={[0]=6.0,},
['盾击 - 沉默']={[0]=3.0,},
['盾牌猛击']={[0]=2.0,},
['眩晕']={[0]=4.0,},
['眼之诅咒']={[0]=120.0,},
['睡眠']={[0]=6.0,},
['破伤风']={[0]=1200.0,},
['破甲']={[0]=30.0,},
['破甲攻击']={[0]=30.0,},
['破甲斩']={[0]=15.0,},
['破甲水晶']={[0]=120.0,},
['破甲虚弱']={[0]=5.0,},
['破甲顺劈']={[0]=30.0,},
['破碎一击']={[0]=5.0,},
['破胆低吼']={[0]=5.0,},
['破胆咆哮']={[0]=8.0,},
['破胆怒吼']={[0]=8.0,},
['碎灵']={[0]=30.0,},
['碎颅']={[0]=2.0,},
['神圣之火']={[0]=10.0,},
['神圣之灵']={[0]=1800.0,},
['神圣冲击']={[0]=4.0,},
['神圣破甲']={[0]=60.0,},
['祸害之毒']={[0]=120.0,},
['禁闭']={[0]=30.0,},
['科多兽践踏']={[0]=3.0,},
['空气之藤']={[0]=2.0,},
['穿刺']={[0]=9.0,},
['穿刺射击']={[0]=15.0,},
['突然攻击']={[0]=2.5,},
['突袭']={[0]=2.0,},
['窒息']={[0]=6.0,},
['笨拙术']={[0]=15.0,},
['粘液瘟疫']={[0]=600.0,},
['粘稠沥青']={[0]=4.0,},
['精灵之火']={[0]=40.0,},
['精灵之火(野性)']={[0]=40.0,},
['精神之毒']={[0]=15.0,},
['精神控制']={[0]=60.0,},
['精神衰弱']={[0]=30.0,},
['精神衰弱 II']={[0]=30.0,},
['精神衰弱 III']={[0]=30.0,},
['精神鞭笞']={[0]=3.0,},
['索瑞森之手']={[0]=5.0,},
['紧钳']={[0]=5.0,},
['紫色蘑菇疾病']={[0]=1200.0,},
['纠缠']={[0]=8.0,},
['纠缠根须']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=21.0,[5]=24.0,[6]=27.0,[0]=27.0,},
['红龙精华']={[0]=180.0,},
['纳拉克西斯之网']={[0]=30.0,},
['纳拉雷克斯的梦魇']={[0]=15.0,},
['织网']={[0]=7.0,},
['绝望之翼']={[0]=6.0,},
['绞喉']={[0]=18.0,},
['统御之握']={[0]=10.0,},
['统御光环']={[0]=30.0,},
['统御意志']={[0]=10.0,},
['维克尼斯催化']={[0]=30.0,},
['缠绕之藤']={[0]=10.0,},
['缩小']={[0]=120.0,},
['缩小射线']={[0]=20.0,},
['缴械']={[0]=10.0,},
['群体打击']={[0]=5.0,},
['群体治疗']={[0]=12.0,},
['翼龙钉刺']={[0]=12.0,},
['耶克里克的守护']={[0]=5.0,},
['肢解']={[0]=10.0,},
['肾击']={[1]=0,[2]=1.0,},
['胁迫']={[0]=3.0,},
['胁迫低吼']={[0]=30.0,},
['脆弱']={[0]=60.0,},
['脑部损伤']={[0]=30.0,},
['脓疮之疹']={[0]=1800.0,},
['脓疮撕咬']={[0]=1800.0,},
['脚踢']={[0]=5.0,},
['脚踢 - 沉默']={[0]=2.0,},
['腐化传染']={[0]=240.0,},
['腐化力量']={[0]=4.0,},
['腐化恐惧']={[0]=2.0,},
['腐化敏捷']={[0]=4.0,},
['腐化智力']={[0]=4.0,},
['腐化耐力']={[0]=4.0,},
['腐坏之血效果']={[0]=10.0,},
['腐烂恶臭']={[0]=10.0,},
['腐烂撕咬']={[0]=30.0,},
['腐烂气息']={[0]=30.0,},
['腐烂胆汁']={[0]=45.0,},
['腐烂蛋白']={[0]=300.0,},
['腐蚀之毒']={[0]=30.0,},
['腐蚀术']={[1]=12.0,[2]=15.0,[3]=18.0,[4]=18.0,[5]=18.0,[6]=18.0,[7]=18.0,[0]=18.0,},
['腐蚀毒药']={[0]=30.0,},
['腐蚀泥浆']={[0]=60.0,},
['腐蚀酸液']={[0]=300.0,},
['腐蚀酸液喷溅']={[0]=10.0,},
['自然印记']={[0]=12.0,},
['自然变形']={[0]=30.0,},
['自然虚弱']={[0]=45.0,},
['自爆法力']={[0]=5.0,},
['臭气陷阱']={[0]=120.0,},
['致伤']={[0]=25.0,},
['致伤毒药']={[0]=15.0,},
['致命创伤']={[0]=8.0,},
['致命吸血毒药']={[0]=45.0,},
['致命毒素']={[0]=12.0,},
['致命毒素 II']={[0]=12.0,},
['致命毒素 III']={[0]=12.0,},
['致命毒素 IV']={[0]=12.0,},
['致命毒药']={[0]=12.0,},
['致命毒药 II']={[0]=12.0,},
['致命毒药 III']={[0]=12.0,},
['致命毒药 IV']={[0]=12.0,},
['致命毒药 V']={[0]=12.0,},
['致命钉刺']={[0]=12.0,},
['致死打击']={[0]=10.0,},
['致死毒素']={[0]=180.0,},
['致死顺劈']={[0]=5.0,},
['致残毒药']={[0]=12.0,},
['致盲']={[0]=10.0,},
['艾莫莉丝光环']={[0]=10.0,},
['节日的财富!']={[0]=1800.0,},
['苏萨斯']={[0]=15.0,},
['苔藓覆盖的手']={[0]=180.0,},
['苔藓覆盖的脚']={[0]=180.0,},
['苦痛光环']={[0]=8.0,},
['荆棘术']={[0]=600.0,},
['荆棘箭雨']={[0]=2.0,},
['荆棘诅咒']={[0]=180.0,},
['草藤根须']={[0]=15.0,},
['草藤缠绕']={[0]=18.0,},
['荒芜']={[0]=60.0,},
['莫格莱尼印记']={[0]=75.0,},
['萨格拉斯之息']={[0]=90.0,},
['蒸汽喷射']={[0]=10.0,},
['蘑菇花']={[0]=90.0,},
['虚弱之触']={[0]=120.0,},
['虚弱妖术']={[0]=120.0,},
['虚弱疾病']={[0]=30.0,},
['虚弱诅咒']={[0]=120.0,},
['虚空箭']={[0]=10.0,},
['虫卵爆炸']={[0]=3.0,},
['虫群']={[0]=12.0,},
['虫群瘟疫']={[0]=20.0,},
['虫群风暴']={[0]=6.0,},
['虹吸生命']={[0]=15.0,},
['虹吸祝福']={[0]=30.0,},
['蛆虫粘液']={[0]=1800.0,},
['蛆虫腐液']={[0]=6.0,},
['蛛网']={[0]=8.0,},
['蛛网 II']={[0]=10.0,},
['蛛网 III']={[0]=12.0,},
['蛛网喷射']={[0]=10.0,},
['蛛网爆炸']={[0]=10.0,},
['蜘蛛之吻']={[0]=10.0,},
['蜘蛛毒']={[0]=30.0,},
['蜘蛛网']={[0]=1.0,},
['蝎毒']={[0]=10.0,},
['蝰蛇钉刺']={[0]=8.0,},
['蟹钳夹']={[0]=15.0,},
['血之诅咒']={[0]=600.0,},
['血性狂吼']={[0]=15.0,},
['血液虹吸']={[0]=8.0,},
['血牙']={[0]=6.0,},
['血瓣花毒药']={[0]=30.0,},
['血肉腐烂']={[0]=10.0,},
['血腥撕裂者']={[0]=30.0,},
['血袭']={[0]=18.0,},
['血领主光环']={[0]=5.0,},
['衰弱']={[0]=15.0,},
['衰弱之触']={[0]=120.0,},
['衰弱瘟疫']={[0]=21.0,},
['被辐射']={[0]=60.0,},
['裂筋']={[0]=8.0,},
['裂隙标记']={[0]=60.0,},
['裂颅']={[0]=20.0,},
['覆体之网']={[0]=6.0,},
['诅咒之刃']={[0]=20.0,},
['诅咒之血']={[0]=600.0,},
['语言诅咒']={[0]=30.0,},
['诱惑']={[0]=15.0,},
['诱捕']={[0]=5.0,},
['诺达希尔的祝福']={[0]=10.0,},
['赞达拉之魂']={[0]=7200.0,},
['超度亡灵']={[1]=10.0,[2]=15.0,[3]=20.0,[0]=20.0,},
['超级收缩射线']={[0]=20.0,},
['践踏']={[0]=10.0,},
['蹬踏']={[0]=2.0,},
['软泥溅射']={[0]=3.0,},
['软泥爆发']={[0]=5.0,},
['软泥痢疾']={[0]=1800.0,},
['辐射之毒']={[0]=25.0,},
['辩护']={[0]=10.0,},
['还击']={[0]=6.0,},
['连发寒冰箭']={[0]=8.0,},
['迟钝术']={[0]=30.0,},
['迟钝术 II']={[0]=30.0,},
['迟钝术 III']={[0]=30.0,},
['迟钝毒药']={[0]=12.0,},
['迦玛兰的妖术']={[0]=10.0,},
['退化']={[0]=12.0,},
['遗弃技能']={[0]=300.0,},
['邪恶之寒']={[0]=120.0,},
['邪恶诅咒']={[0]=12.0,},
['部族诅咒']={[0]=1800.0,},
['酋长的祝福']={[0]=3600.0,},
['酒桶陷阱']={[0]=2.0,},
['酸性喷射']={[0]=30.0,},
['酸性毒液喷溅']={[0]=10.0,},
['酸性箭雨']={[0]=25.0,},
['酸性软泥']={[0]=30.0,},
['酸液喷涌']={[0]=10.0,},
['酸液喷溅']={[0]=10.0,},
['酸液溅射']={[0]=30.0,},
['酸液箭']={[0]=6.0,},
['重伤']={[0]=12.0,},
['重击']={[1]=2.0,[2]=3.0,[3]=4.0,[0]=4.0,},
['重压打击']={[0]=6.0,},
['重拳先生践踏']={[0]=10.0,},
['重拳猛击']={[0]=3.0,},
['野性冲锋效果']={[0]=4.0,},
['野性印记']={[0]=1800.0,},
['野性魔法']={[0]=30.0,},
['野猪冲锋']={[0]=1.0,},
['野蛮击打']={[0]=5.0,},
['野蛮突袭']={[0]=30.0,},
['野蛮突袭 II']={[0]=30.0,},
['野蛮突袭 III']={[0]=30.0,},
['野蛮突袭 IV']={[0]=30.0,},
['野蛮突袭 V']={[0]=30.0,},
['金度的欺骗']={[0]=20.0,},
['钩网']={[0]=10.0,},
['钻土虫酸液']={[0]=30.0,},
['锤击昏迷效果']={[0]=3.0,},
['长时间眩晕']={[0]=6.0,},
['闪现术']={[0]=1.0,},
['闷棍']={[1]=25.0,[2]=35.0,[3]=45.0,[0]=45.0,},
['防护冰霜']={[0]=3600.0,},
['防护暗影']={[0]=3600.0,},
['防护火焰']={[0]=3600.0,},
['防护神圣']={[0]=3600.0,},
['防护自然']={[0]=3600.0,},
['阵风']={[0]=4.0,},
['阿兰提尔的狂暴']={[0]=6.0,},
['阿兹雷索克的践踏']={[0]=5.0,},
['阿努布雷坎光环']={[0]=5.0,},
['阿塔莱毒药']={[0]=30.0,},
['阿尔萨斯的礼物']={[0]=180.0,},
['阿鲁高的礼物']={[0]=300.0,},
['阿鲁高的诅咒']={[0]=10.0,},
['陷地']={[0]=4.0,},
['陷阱']={[0]=10.0,},
['雏龙之语:红色']={[0]=5.0,},
['雏龙之语:绿色']={[0]=6.0,},
['雏龙之语:蓝色']={[0]=6.0,},
['雏龙之语:青铜']={[0]=5.0,},
['雷霆一击']={[1]=10.0,[2]=14.0,[3]=18.0,[4]=22.0,[5]=26.0,[6]=30.0,[0]=30.0,},
['雷霆之怒']={[0]=12.0,},
['雷霆震荡']={[0]=5.0,},
['雷霆震裂']={[0]=2.5,},
['震耳尖啸']={[0]=8.0,},
['震荡射击']={[0]=4.0,},
['震荡波']={[0]=2.0,},
['震荡猛击']={[0]=5.0,},
['霜寒刺骨']={[0]=5.0,},
['静电喷射']={[0]=15.0,},
['静电效果']={[0]=15.0,},
['鞭笞']={[0]=2.0,},
['音爆']={[0]=10.0,},
['音素爆破']={[0]=10.0,},
['预谋']={[0]=10.0,},
['颅骨烙印']={[0]=30.0,},
['颅骨爆裂']={[0]=2.0,},
['领袖的裁决']={[0]=5.0,},
['风暴之锤']={[0]=5.0,},
['风暴打击']={[0]=12.0,},
['食尸鬼瘟疫']={[0]=1800.0,},
['食尸鬼腐气']={[0]=600.0,},
['马杜克的诅咒']={[0]=5.0,},
['马龙之肘']={[0]=2.0,},
['驯服冰爪熊']={[0]=20.0,},
['驯服可怕的杂斑野猪']={[0]=900.0,},
['驯服夜刃捕食者']={[0]=900.0,},
['驯服大型峭壁野猪']={[0]=20.0,},
['驯服巨翼恶枭']={[0]=900.0,},
['驯服成年陆行鸟']={[0]=900.0,},
['驯服树林潜伏者']={[0]=900.0,},
['驯服海浪蟹']={[0]=900.0,},
['驯服猛鹫']={[0]=900.0,},
['驯服硬甲蝎']={[0]=900.0,},
['驯服草原捕食者']={[0]=900.0,},
['驯服野兽']={[0]=20.0,},
['驯服雪豹']={[0]=900.0,},
['驱奴者之杖']={[0]=30.0,},
['驱散射击']={[0]=4.0,},
['鬼魅幻影']={[0]=300.0,},
['鬼魅攻击']={[0]=7.0,},
['鬼魅灵魂']={[0]=300.0,},
['魔暴龙之刺']={[0]=10.0,},
['魔法反射']={[0]=10.0,},
['鲁莽诅咒']={[0]=120.0,},
['鲁西弗隆的诅咒']={[0]=300.0,},
['鸦爪之触']={[0]=5.0,},
['鸦爪妖术']={[0]=30.0,},
['鹰爪']={[0]=15.0,},
['麻木之痛']={[0]=10.0,},
['麻痹']={[0]=30.0,},
['麻痹之毒']={[0]=8.0,},
['麻痹毒药']={[0]=10.0,},
['麻痹毒药 II']={[0]=12.0,},
['麻痹毒药 III']={[0]=14.0,},
['黑女巫的拥抱']={[0]=30.0,},
['黑暗主宰诅咒']={[0]=60.0,},
['黑暗之雾']={[0]=7.0,},
['黑暗战车祝福']={[0]=6.0,},
['黑暗污泥']={[0]=300.0,},
['黑暗泥浆']={[0]=5.0,},
['黑暗瘟疫']={[0]=90.0,},
['黑暗能量']={[0]=300.0,},
['黑泥术']={[0]=120.0,},
['黑箭']={[0]=30.0,},
['黑色腐烂']={[0]=1800.0,},
['黑铁工头死亡']={[0]=6.0,},
['黑鳍蘑菇']={[0]=8.0,},
['鼠之新星']={[0]=10.0,},
['龙卷风']={[0]=4.0,},
['龙血之痛:红']={[0]=600.0,},
['龙血之痛:绿']={[0]=600.0,},
['龙血之痛:蓝']={[0]=600.0,},
['龙血之痛:青铜']={[0]=600.0,},
['龙血之痛:黑']={[0]=600.0,},
}
-- custom entries not detected by DBC extractor
pfUI_locale["zhCN"]["debuffs"]['冰锥']={[0]=8.0,} -- Cone of Cold
+6
View File
@@ -63,6 +63,12 @@ for i=1,40 do
pfValidUnits["nameplate" .. i .. "target"] = true
end
if TURTLE_WOW_VERSION then -- We already know this table is going to be replaced by turtle-wow.lua, so there's no point in declaring it.
pfSellData = {} -- create empty just incase user has turtle-wow module disabled.
return
end
-- This table makes me sick.
-- itemid = buyPrice (copper). Sell price comes from C_Item.GetItemSellPriceByID;
-- this table only carries the curated vendor-buy price (which isn't a static
-- engine field — it's collected from real vendor encounters).
+1
View File
@@ -81,4 +81,5 @@
<Include file="..\modules\equipmentmanager.lua"/>
<Include file="..\modules\loothistory.lua"/>
<Include file="..\modules\newitem.lua"/>
<Include file="..\modules\friendnotes.lua"/>
</Ui>
-2
View File
@@ -41,8 +41,6 @@
<!-- Turtle WoW -->
<Include file="..\skins\blizzard\barbershop.lua"/>
<Include file="..\skins\blizzard\transmog.lua"/>
<Include file="..\skins\blizzard\custom_merchant.lua"/>
<Include file="..\skins\blizzard\arena_score.lua"/>
<Include file="..\skins\blizzard\ebc.lua"/>
</Ui>
+26 -67
View File
@@ -376,11 +376,9 @@ local function GetDebuffSlotMap(guid)
local texture = libdebuff:GetSpellIcon(spellId)
local stacks = (auraApps and auraApps[auraSlot] or 0) + 1
local dtype = nil
if GetSpellRecField then
local dispelId = GetSpellRecField(spellId, "dispel")
if dispelId and dispelId > 0 then
dtype = dispelTypeMap[dispelId]
end
local dispelId = C_Spell.GetSpellDispelType(spellId)
if dispelId and dispelId > 0 then
dtype = dispelTypeMap[dispelId]
end
map[displaySlot] = {
auraSlot = auraSlot,
@@ -593,37 +591,13 @@ end
-- DURATION FUNCTIONS
-- ============================================================================
-- Report the live, talent-accurate duration of a matching aura on the player.
-- ClassicAPI's C_UnitAuras carries the real (mod-folded) duration straight from
-- the engine, so there's no static duration table to maintain. Returns 0 when
-- the player has no such aura (e.g. a debuff that only ever lands on enemies).
function libdebuff:GetDuration(effect, rank)
if L["debuffs"][effect] then
local rank = rank and tonumber((string.gsub(rank, RANK, ""))) or 0
local rank = L["debuffs"][effect][rank] and rank or libdebuff:GetMaxRank(effect)
local duration = L["debuffs"][effect][rank]
if effect == L["dyndebuffs"]["Demoralizing Shout"] then
local _,_,_,_,count = GetTalentInfo(2,1)
if count and count > 0 then duration = duration + ( duration / 100 * (count*10)) end
elseif effect == L["dyndebuffs"]["Shadow Word: Pain"] then
local _,_,_,_,count = GetTalentInfo(3,4)
if count and count > 0 then duration = duration + count * 3 end
elseif effect == L["dyndebuffs"]["Frostbolt"] then
local _,_,_,_,count = GetTalentInfo(3,7)
if count and count > 0 then duration = duration + count end
elseif effect == L["dyndebuffs"]["Gouge"] then
local _,_,_,_,count = GetTalentInfo(3,3)
if count and count > 0 then duration = duration + (count*.5) end
end
return duration
else
return 0
end
end
function libdebuff:GetMaxRank(effect)
local max = 0
for id in pairs(L["debuffs"][effect]) do
if id > max then max = id end
end
return max
local aura = C_UnitAuras.GetAuraDataBySpellName("player", effect)
return aura and aura.duration or 0
end
function libdebuff:UpdateDuration(unit, unitlevel, effect, duration)
@@ -649,7 +623,6 @@ libdebuff.objects = {}
function libdebuff:AddPending(unit, unitlevel, effect, duration, caster, rank)
if not unit or duration <= 0 then return end
if not L["debuffs"][effect] then return end
if libdebuff.pending[3] then return end
libdebuff.pending[1] = unit
@@ -728,39 +701,25 @@ end
-- API: GetBestAuraCast (for libpredict HoT tracking)
-- ============================================================================
-- Report the active aura for spellName on `guid`, read straight from
-- C_UnitAuras. expirationTime is the true, caster-modified remaining time, so
-- no cast-event bookkeeping is needed -- and a unit only ever holds one instance
-- of a given spell, so this is inherently the "best" one.
-- Returns (startTime, duration, timeleft, rank, casterGuid) or nil.
function libdebuff:GetBestAuraCast(guid, spellName)
if not guid or not spellName then return nil end
-- Check ownDebuffs first (for our casts)
if ownDebuffs[guid] and ownDebuffs[guid][spellName] then
local data = ownDebuffs[guid][spellName]
local timeleft = (data.startTime + data.duration) - GetTime()
if timeleft > 0 then
return data.startTime, data.duration, timeleft, data.rank, GetPlayerGuid()
end
end
-- Check allAuraCasts (for any caster)
if allAuraCasts[guid] and allAuraCasts[guid][spellName] then
local bestData = nil
local bestCaster = nil
local bestTimeleft = 0
for casterGuid, data in pairs(allAuraCasts[guid][spellName]) do
local timeleft = (data.startTime + data.duration) - GetTime()
if timeleft > bestTimeleft then
bestTimeleft = timeleft
bestData = data
bestCaster = casterGuid
end
end
if bestData and bestTimeleft > 0 then
return bestData.startTime, bestData.duration, bestTimeleft, bestData.rank, bestCaster
end
end
return nil
local aura = C_UnitAuras.GetAuraDataBySpellName(guid, spellName)
if not aura or not aura.expirationTime or aura.expirationTime == 0 then return nil end
local timeleft = aura.expirationTime - GetTime()
if timeleft <= 0 then return nil end
local duration = (aura.duration and aura.duration > 0) and aura.duration or timeleft
local startTime = aura.expirationTime - duration
local rank = aura.spellId and tonumber((string.gsub(C_Spell.GetSpellSubtext(aura.spellId) or "", RANK, ""))) or nil
return startTime, duration, timeleft, rank, aura.sourceGUID
end
-- ============================================================================
+4 -1
View File
@@ -168,6 +168,9 @@ pfUI.libdebuff_spell_start_self_hooks["libpredict"] = function(spellId, casterGu
return
end
spell_queue[1] = spellName
spell_queue[2] = spellName .. (C_Spell.GetSpellSubtext(spellId) or "")
if spell_queue[1] == spellName and cache[spell_queue[2]] then
local amount = cache[spell_queue[2]][1]
local casttime = castTime
@@ -1222,7 +1225,7 @@ libpredict.sender:SetScript("OnEvent", function()
end)
function libpredict:GetHotDuration(unit, spell)
if unit == UNKNOWNOBJECT or unit == UNKOWNBEING then return end
if unit == UNKNOWNOBJECT or unit == UKNOWNBEING then return end
-- NEW: Try libdebuff first (Nampower AURA_CAST events)
if pfUI.api.libdebuff and pfUI.api.libdebuff.GetBestAuraCast then
+10 -11
View File
@@ -96,13 +96,12 @@ libunitscan:SetScript("OnEvent", function()
RememberByUnit("player", name, class)
elseif event == "FRIENDLIST_UPDATE" then
local name, class, level
for i = 1, GetNumFriends() do
name, level, class = GetFriendInfo(i)
class = L["class"][class] or nil
-- friendlist updates due to friend going off-line return level 0, let's not overwrite good older values
level = level > 0 and level or nil
AddData("players", name, class, level)
local info = C_FriendList.GetFriendInfoByIndex(i)
if info then
local level = info.level > 0 and info.level or nil
AddData("players", info.name, info.classFilename, level)
end
end
elseif event == "GUILD_ROSTER_UPDATE" then
@@ -137,11 +136,11 @@ libunitscan:SetScript("OnEvent", function()
end
elseif event == "WHO_LIST_UPDATE" or event == "CHAT_MSG_SYSTEM" then
local name, class, level, guild, _
for i = 1, GetNumWhoResults() do
name, guild, level, _, class, _ = GetWhoInfo(i)
class = L["class"][class] or nil
AddData("players", name, class, level, nil, guild)
for i = 1, C_FriendList.GetNumWhoResults() do
local info = C_FriendList.GetWhoInfo(i)
if info then
AddData("players", info.fullName, info.filename, info.level, nil, info.fullGuildName)
end
end
elseif event == "UPDATE_MOUSEOVER_UNIT" or event == "PLAYER_TARGET_CHANGED" or event == "NAME_PLATE_UNIT_ADDED" then
-15
View File
@@ -1085,21 +1085,6 @@ pfUI:RegisterModule("bags", function ()
frame.search.edit:ClearFocus()
end)
frame.search:SetScript("OnHide", function()
frame.search.edit:SetText(T["Search"])
for bag = -2, 11 do
if pfUI.bags[bag] then
local bagsize = GetContainerNumSlots(bag)
if bag == -2 and pfUI.bag.showKeyring == true then bagsize = GetKeyRingSize() end
for slot = 1, bagsize do
if pfUI.bags[bag] and pfUI.bags[bag].slots[slot] then
pfUI.bags[bag].slots[slot].frame:SetAlpha(1)
end
end
end
end
end)
frame.search.edit:SetScript("OnMouseUp", function()
if arg1 == "RightButton" then
this:ClearFocus()
+7 -7
View File
@@ -23,7 +23,7 @@ pfUI:RegisterModule("buff", function ()
CreateBackdropShadow(buff)
end
local aura = C_UnitAuras.GetAuraDataByIndex("player", buff.id, buff.btype)
local name, icon, count, dispelType, _, expirationTime, _, _, _, spellId = C_UnitAuras.UnitAura("player", buff.id, buff.btype)
--detect weapon buffs
if buff.btype == "HELPFUL" and ((C.buffs.separateweapons == "0" and buff.gid <= pfUI.buff.wepbuffs.count) or (pfUI.buff.wepbuffs.count > 0 and buff.weapon ~= nil)) then
@@ -55,16 +55,16 @@ pfUI:RegisterModule("buff", function ()
buff.texture:SetTexture(GetInventoryItemTexture("player", 17))
buff.backdrop:SetBackdropBorderColor(GetItemQualityColor(GetInventoryItemQuality("player", 17) or 1))
end
elseif aura and (( buff.btype == "HARMFUL" and C.buffs.debuffs == "1" ) or ( buff.btype == "HELPFUL" and C.buffs.buffs == "1" )) then
elseif name and (( buff.btype == "HARMFUL" and C.buffs.debuffs == "1" ) or ( buff.btype == "HELPFUL" and C.buffs.buffs == "1" )) then
-- Set Buff Texture and Border
buff.mode = buff.btype
buff.expirationTime = aura.expirationTime
buff.stackCount = aura.applications
buff.spellId = aura.spellId
buff.texture:SetTexture(aura.icon)
buff.expirationTime = expirationTime
buff.stackCount = count
buff.spellId = spellId
buff.texture:SetTexture(icon)
if buff.btype == "HARMFUL" then
local dispelColor = C_UnitAuras.GetAuraDispelTypeColor(aura.dispelName)
local dispelColor = C_UnitAuras.GetAuraDispelTypeColor(dispelType)
buff.backdrop:SetBackdropBorderColor(dispelColor:GetRGBA())
else
buff.backdrop:SetBackdropBorderColor(br,bg,bb,ba)
+12 -11
View File
@@ -75,10 +75,10 @@ pfUI:RegisterModule("buffwatch", function ()
local function GetBuffData(unit, id, type, selfdebuff)
local filter = (selfdebuff and type == "HARMFUL") and "HARMFUL|PLAYER" or type
local aura = C_UnitAuras.GetAuraDataByIndex(unit, id, filter)
if not aura then return end
local remaining = aura.expirationTime > 0 and (aura.expirationTime - GetTime()) or 0
return remaining, aura.icon, aura.name, aura.applications
local name, icon, count, dispelType, _, expirationTime = C_UnitAuras.UnitAura(unit, id, filter)
if not name then return end
local remaining = expirationTime > 0 and (expirationTime - GetTime()) or 0
return remaining, icon, name, count, dispelType
end
local function StatusBarOnClick()
@@ -90,12 +90,14 @@ pfUI:RegisterModule("buffwatch", function ()
if val == skill then return end
end
config.whitelist = config.whitelist .. "#" .. skill
fcache[tostring(config)] = nil -- invalidate so the new entry takes effect immediately
DEFAULT_CHAT_FRAME:AddMessage("|cff33ffcc" .. skill .. "|r" .. T["is now whitelisted."])
elseif IsShiftKeyDown() then
for _, val in pairs({strsplit("#", config.blacklist)}) do
if val == skill then return end
end
config.blacklist = config.blacklist .. "#" .. skill
fcache[tostring(config)] = nil -- invalidate so the new entry takes effect immediately
DEFAULT_CHAT_FRAME:AddMessage("|cff33ffcc" .. skill .. "|r" .. T["is now blacklisted."])
end
elseif this.parent.unit == "player" then
@@ -234,7 +236,7 @@ pfUI:RegisterModule("buffwatch", function ()
local selfdebuff = frame.config.selfdebuff == "1"
for i=1,32 do
local timeleft, texture, name, stacks = GetBuffData(frame.unit, i, frame.type, selfdebuff)
local timeleft, texture, name, stacks, dtype = GetBuffData(frame.unit, i, frame.type, selfdebuff)
timeleft = timeleft or 0
if texture and name and name ~= "" and BuffIsVisible(frame.config, name) then
@@ -243,12 +245,14 @@ pfUI:RegisterModule("buffwatch", function ()
frame.buffs[i][3] = name
frame.buffs[i][4] = texture
frame.buffs[i][5] = stacks
frame.buffs[i][6] = dtype
else
frame.buffs[i][1] = 0
frame.buffs[i][2] = nil
frame.buffs[i][3] = nil
frame.buffs[i][4] = nil
frame.buffs[i][5] = 0
frame.buffs[i][6] = nil
end
end
@@ -292,12 +296,9 @@ pfUI:RegisterModule("buffwatch", function ()
-- calculate dynamic auto color
local r, g, b
if frame.type == "HARMFUL" then
r, g, b = 1, .2, .2
local a = C_UnitAuras.GetDebuffDataByIndex(frame.unit, data[2])
local dtype = a and a.dispelName
if dtype and DebuffTypeColor[dtype] then
r,g,b = DebuffTypeColor[dtype].r,DebuffTypeColor[dtype].g,DebuffTypeColor[dtype].b
end
-- official Blizzard dispel-type colors (matches unitframes/buff);
-- nil/unknown type falls back to the DEBUFF_TYPE_NONE colour
r, g, b = C_UnitAuras.GetAuraDispelTypeColor(data[6] or ""):GetRGBA()
else
r,g,b = str2rgb(data[3])
end
+1 -1
View File
@@ -45,7 +45,7 @@ pfUI:RegisterModule("castbar", function ()
if not cb.tradeskillTotal or not cb.activeName or not cb.showname then return end
local remaining = cb.tradeskillTotal - (cb.tradeskillCompleted or 0)
if remaining > 1 then
cb.bar.left:SetText(string.format("%s (%d)", cb.activeName, remaining))
cb.bar.left:SetFormattedText("%s (%d)", cb.activeName, remaining)
else
cb.bar.left:SetText(cb.activeName)
end
+98 -26
View File
@@ -63,6 +63,23 @@ pfUI:RegisterModule("chat", function ()
return pfUI_cache["chathistory"][realm][player][id]
end
-- [ Chat Panel Colors ]
-- The panels normally inherit pfUI's global appearance theme; custom colors let chat
-- deviate from it. CreateBackdrop is re-run first to restore the theme, so toggling
-- custom colors back off doesn't leave the previous override behind.
local function ApplyPanelColors(panel)
if not panel then return end
CreateBackdrop(panel, default_border, nil, .8)
if C.chat.global.custombg ~= "1" then return end
local r, g, b, a = GetStringColor(C.chat.global.background)
panel.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
local r, g, b, a = GetStringColor(C.chat.global.border)
panel.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
end
pfUI.chat = CreateFrame("Frame",nil,UIParent)
pfUI.chat.left = CreateFrame("Frame", "pfChatLeft", UIParent)
@@ -76,19 +93,11 @@ pfUI:RegisterModule("chat", function ()
pfUI.chat.left:SetPoint("BOTTOMLEFT", 2*default_border,2*default_border)
pfUI.chat.left:SetScript("OnShow", function() pfUI.chat:RefreshChat() end)
UpdateMovable(pfUI.chat.left)
CreateBackdrop(pfUI.chat.left, default_border, nil, .8)
ApplyPanelColors(pfUI.chat.left)
if C.chat.global.frameshadow == "1" then
CreateBackdropShadow(pfUI.chat.left)
end
if C.chat.global.custombg == "1" then
local r, g, b, a = GetStringColor(C.chat.global.background)
pfUI.chat.left.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
local r, g, b, a = GetStringColor(C.chat.global.border)
pfUI.chat.left.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
end
pfUI.chat.left.panelTop = CreateFrame("Frame", "leftChatPanelTop", pfUI.chat.left)
pfUI.chat.left.panelTop:ClearAllPoints()
pfUI.chat.left.panelTop:SetHeight(C.global.font_size+default_border*2)
@@ -251,19 +260,11 @@ pfUI:RegisterModule("chat", function ()
pfUI.chat.right:SetPoint("BOTTOMRIGHT", -2*default_border,2*default_border)
pfUI.chat.right:SetScript("OnShow", function() pfUI.chat:RefreshChat() end)
UpdateMovable(pfUI.chat.right)
CreateBackdrop(pfUI.chat.right, default_border, nil, .8)
ApplyPanelColors(pfUI.chat.right)
if C.chat.global.frameshadow == "1" then
CreateBackdropShadow(pfUI.chat.right)
end
if C.chat.global.custombg == "1" then
local r, g, b, a = GetStringColor(C.chat.global.background)
pfUI.chat.right.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
local r, g, b, a = GetStringColor(C.chat.global.border)
pfUI.chat.right.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
end
pfUI.chat.right.panelTop = CreateFrame("Frame", "rightChatPanelTop", pfUI.chat.right)
pfUI.chat.right.panelTop:ClearAllPoints()
pfUI.chat.right.panelTop:SetHeight(C.global.font_size+default_border*2)
@@ -296,6 +297,68 @@ pfUI:RegisterModule("chat", function ()
end
end
-- [ Chat Background Alpha ]
-- Blizzard's per-window transparency slider drives FCF_SetWindowAlpha, which only
-- touches the ChatFrame*Background textures that pfUI hides on docked frames. Mirror
-- the window's stored alpha onto the visible pfUI backdrop so the native slider
-- controls it directly.
local function ApplyChatBackgroundAlpha(panel, frame)
if not (panel and panel.backdrop and frame) then return end
local _, _, _, _, _, alpha = GetChatWindowInfo(frame:GetID())
alpha = tonumber(alpha)
if not alpha then return end
local r, g, b = panel.backdrop:GetBackdropColor()
panel.backdrop:SetBackdropColor(r, g, b, alpha)
end
function pfUI.chat:RefreshBackgroundAlpha()
-- Custom colors own the alpha. C.chat.global.background carries its own alpha, is
-- set by profiles and is shared with the meter skins, so the native slider must not
-- overwrite it -- doing so reverted the configured opacity on every refresh. The
-- slider only drives the panel when the user hasn't opted into pfUI's chat colors.
if C.chat.global.custombg == "1" then return end
-- left panel follows the currently selected docked tab
local selected = SELECTED_CHAT_FRAME
if not (selected and selected:GetParent() == pfUI.chat.left) then
selected = ChatFrame1
end
ApplyChatBackgroundAlpha(pfUI.chat.left, selected)
if C.chat.right.enable == "1" then
ApplyChatBackgroundAlpha(pfUI.chat.right, ChatFrame3)
end
end
-- live config apply, resolved by the gui as U["chat"]. Lets the color pickers
-- take effect on the spot instead of waiting for a /reload.
function pfUI.chat:UpdateConfig()
ApplyPanelColors(pfUI.chat.left)
ApplyPanelColors(pfUI.chat.right)
pfUI.chat:RefreshBackgroundAlpha()
end
function pfUI.chat:MigrateBackgroundAlpha()
-- Runs once per character. The previous SetupPositions default stored a hard 0 window
-- alpha, which now renders the pfUI backdrop fully transparent. Restore the historical
-- 0.8 look for any pfUI-managed window still sitting at 0. Only existing installs that
-- already ran chat setup carry that legacy 0; fresh installs get 0.8 from SetupPositions.
if pfUI_init.chatbgalpha then return end
if not pfUI_init["chat_position"] then return end
pfUI_init.chatbgalpha = true
local frames = { ChatFrame1, ChatFrame2 }
if C.chat.right.enable == "1" then table.insert(frames, ChatFrame3) end
for _, frame in ipairs(frames) do
local _, _, _, _, _, alpha = GetChatWindowInfo(frame:GetID())
alpha = tonumber(alpha)
if alpha and alpha <= 0 then
FCF_SetWindowAlpha(frame, 0.8)
end
end
end
function pfUI.chat:RefreshChat()
local panelheight = C.global.font_size*1.5 + default_border*2 + 2
@@ -447,9 +510,13 @@ pfUI:RegisterModule("chat", function ()
for index, value in pairs(DOCKED_CHAT_FRAMES) do
FCF_UpdateButtonSide(value)
end
pfUI.chat:RefreshBackgroundAlpha()
end
hooksecurefunc("FCF_SaveDock", pfUI.chat.RefreshChat)
hooksecurefunc("FCF_SetWindowAlpha", function() pfUI.chat:RefreshBackgroundAlpha() end)
hooksecurefunc("FCF_SelectDockFrame", function() pfUI.chat:RefreshBackgroundAlpha() end)
if C.chat.global.tabmouse == "1" then
pfUI.chat.mouseovertab = CreateFrame("Frame")
@@ -500,7 +567,7 @@ pfUI:RegisterModule("chat", function ()
FCF_SetLocked(ChatFrame1, 1)
FCF_SetWindowName(ChatFrame1, GENERAL)
FCF_SetWindowColor(ChatFrame1, 0, 0, 0)
FCF_SetWindowAlpha(ChatFrame1, 0)
FCF_SetWindowAlpha(ChatFrame1, 0.8)
FCF_SetChatWindowFontSize(ChatFrame1, 12)
ChatFrame1:SetUserPlaced(1)
@@ -508,7 +575,7 @@ pfUI:RegisterModule("chat", function ()
FCF_SetLocked(ChatFrame2, 1)
FCF_SetWindowName(ChatFrame2, COMBAT_LOG)
FCF_SetWindowColor(ChatFrame2, 0, 0, 0)
FCF_SetWindowAlpha(ChatFrame2, 0)
FCF_SetWindowAlpha(ChatFrame2, 0.8)
FCF_SetChatWindowFontSize(ChatFrame2, 12)
ChatFrame2:SetUserPlaced(1)
@@ -518,7 +585,7 @@ pfUI:RegisterModule("chat", function ()
FCF_SetLocked(ChatFrame3, 1)
FCF_SetWindowName(ChatFrame3, T["Loot & Spam"])
FCF_SetWindowColor(ChatFrame3, 0, 0, 0)
FCF_SetWindowAlpha(ChatFrame3, 0)
FCF_SetWindowAlpha(ChatFrame3, 0.8)
FCF_SetChatWindowFontSize(ChatFrame3, 12)
FCF_UnDockFrame(ChatFrame3)
FCF_SetTabPosition(ChatFrame3, 0)
@@ -566,6 +633,9 @@ pfUI:RegisterModule("chat", function ()
end
pfUI.chat:SetScript("OnEvent", function()
-- restore legacy chat windows stuck at 0 alpha before anything reads it
pfUI.chat:MigrateBackgroundAlpha()
-- set the default chat
FCF_SelectDockFrame(SELECTED_CHAT_FRAME)
@@ -810,23 +880,25 @@ pfUI:RegisterModule("chat", function ()
end
end
-- detect the whisper prefix BEFORE prepending a timestamp; the timestamp
-- 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
-- show timestamp in chat
if C.chat.text.time == "1" then
text = timecolorhex .. tleft .. date(C.chat.text.timeformat) .. tright .. "|r " .. text
end
-- save chat history
if C.chat.global.whispermod == "1" and string.find(text, wcol, 1) == 1 then
if isWhisper then
SaveChatHistory(frame:GetID(), string.gsub(text, wcol, ""), cr, cg, cb)
else
SaveChatHistory(frame:GetID(), text, a1, a2, a3)
end
if C.chat.global.whispermod == "1" then
if isWhisper then
-- patch incoming whisper string to match the colors
if string.find(text, wcol, 1) == 1 then
text = string.gsub(text, "|r", "|r" .. wcol)
end
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)
+1 -1
View File
@@ -9,7 +9,7 @@ pfUI:RegisterModule("cooldown", function ()
local parent, parent_name
local function pfCooldownOnUpdate()
parent = this:GetParent()
if not parent then this:Hide() end
if not parent then this:Hide() return end
parent_name = parent:GetName()
-- avoid to set cooldowns on invalid frames
+9 -14
View File
@@ -127,7 +127,7 @@ pfUI:RegisterModule("firstrun", function ()
-- welcome dialog
pfUI.firstrun:AddStep("init", function()
local f = CreateFirstRunPage()
f.text:SetText(string.format(T["Welcome to |cff33ffccpf|cffffffffUI|r!\n\nI'm the first run wizard that will guide you through some basic configuration. If you're lazy, feel free to hit the \"Defaults\" button. If you wish to run this dialog again, go to the settings and hit the \"Reset Firstrun\" button.\n\nVisit |cff33ffcc%s|r to check for the latest version."], GetAddOnMetadata(pfUI.name, "X-Website")))
f.text:SetFormattedText(T["Welcome to |cff33ffccpf|cffffffffUI|r!\n\nI'm the first run wizard that will guide you through some basic configuration. If you're lazy, feel free to hit the \"Defaults\" button. If you wish to run this dialog again, go to the settings and hit the \"Reset Firstrun\" button.\n\nVisit |cff33ffcc%s|r to check for the latest version."], GetAddOnMetadata(pfUI.name, "X-Website"))
return f
end)
@@ -137,8 +137,7 @@ pfUI:RegisterModule("firstrun", function ()
f.text:SetText(T["A new installation of |cff33ffccpf|rUI ships with 4 prebuilt design profiles. Click below if you wish to load one of these profiles."])
f.Modern = CreateFrame("Button", nil, f, "UIPanelButtonTemplate")
f.Modern:SetWidth(120)
f.Modern:SetHeight(20)
f.Modern:SetSize(120, 20)
f.Modern:SetPoint("BOTTOM", -65, 100)
f.Modern:SetTextColor(1,1,1)
f.Modern:SetText("Modern")
@@ -151,8 +150,7 @@ pfUI:RegisterModule("firstrun", function ()
SkinButton(f.Modern)
f.Nostalgia = CreateFrame("Button", nil, f, "UIPanelButtonTemplate")
f.Nostalgia:SetWidth(120)
f.Nostalgia:SetHeight(20)
f.Nostalgia:SetSize(120, 20)
f.Nostalgia:SetPoint("BOTTOM", 65, 100)
f.Nostalgia:SetTextColor(1,1,1)
f.Nostalgia:SetText("Nostalgia")
@@ -165,8 +163,7 @@ pfUI:RegisterModule("firstrun", function ()
SkinButton(f.Nostalgia)
f.Legacy = CreateFrame("Button", nil, f, "UIPanelButtonTemplate")
f.Legacy:SetWidth(120)
f.Legacy:SetHeight(20)
f.Legacy:SetSize(120, 20)
f.Legacy:SetPoint("BOTTOM", 65, 75)
f.Legacy:SetTextColor(1,1,1)
f.Legacy:SetText("Legacy")
@@ -179,8 +176,7 @@ pfUI:RegisterModule("firstrun", function ()
SkinButton(f.Legacy)
f.Slim = CreateFrame("Button", nil, f, "UIPanelButtonTemplate")
f.Slim:SetWidth(120)
f.Slim:SetHeight(20)
f.Slim:SetSize(120, 20)
f.Slim:SetPoint("BOTTOM", -65, 75)
f.Slim:SetTextColor(1,1,1)
f.Slim:SetText("Slim")
@@ -197,8 +193,7 @@ pfUI:RegisterModule("firstrun", function ()
f.Slider.text:SetPoint("TOP", f.Slider, "BOTTOM", 0, 2)
f.Slider.text:SetText(T["Scale"])
f.Slider:SetWidth(240)
f.Slider:SetHeight(20)
f.Slider:SetSize(240, 20)
f.Slider:SetPoint("BOTTOM", 0, 50)
f.Slider:SetOrientation('HORIZONTAL')
f.Slider:SetMinMaxValues(0.5, 2.0)
@@ -263,7 +258,7 @@ pfUI:RegisterModule("firstrun", function ()
SkinCheckbox(f.checkbox, 18)
f.NextScript = function()
if not pfUI.chat then message("Couldn't apply settings. Chat module is disabled.") end
if not pfUI.chat then message("Couldn't apply settings. Chat module is disabled.") return end
pfUI.chat.SetupRightChat(f.checkbox:GetChecked())
end
@@ -283,7 +278,7 @@ pfUI:RegisterModule("firstrun", function ()
SkinCheckbox(f.checkbox, 18)
f.NextScript = function()
if not pfUI.chat then message("Couldn't apply settings. Chat module is disabled.") end
if not pfUI.chat then message("Couldn't apply settings. Chat module is disabled.") return end
if f.checkbox:GetChecked() then
pfUI.chat.SetupPositions()
end
@@ -305,7 +300,7 @@ pfUI:RegisterModule("firstrun", function ()
SkinCheckbox(f.checkbox, 18)
f.NextScript = function()
if not pfUI.chat then message("Couldn't apply settings. Chat module is disabled.") end
if not pfUI.chat then message("Couldn't apply settings. Chat module is disabled.") return end
if f.checkbox:GetChecked() then
pfUI.chat.SetupChannels()
end
+93
View File
@@ -0,0 +1,93 @@
-- Friend notes
-- Client-side notes for friends via ClassicAPI's C_FriendList note API
-- (SetFriendNotes / GetFriendInfo(.notes)). Adds an "Edit Note" entry to the
-- friend right-click menu (the "FRIEND" UnitPopup) and shows the note in a
-- tooltip when you hover a friend in the list.
pfUI:RegisterModule("friendnotes", function ()
local EDIT_TOKEN = "PFUI_FRIEND_NOTE"
-- Note editor. In 1.12 StaticPopup, OnAccept runs with `this` = the OK
-- button (the dialog is this:GetParent()); the friend name arrives as the
-- data argument passed to StaticPopup_Show.
StaticPopupDialogs["PFUI_FRIEND_NOTE_EDIT"] = {
text = SET_FRIENDNOTE_LABEL,
button1 = SAVE,
button2 = CANCEL,
hasEditBox = 1,
maxLetters = 128,
OnAccept = function(name)
C_FriendList.SetFriendNotes(name, _G[this:GetParent():GetName().."EditBox"]:GetText())
end,
EditBoxOnEnterPressed = function(name)
C_FriendList.SetFriendNotes(name, this:GetText())
this:GetParent():Hide()
end,
EditBoxOnEscapePressed = function() this:GetParent():Hide() end,
timeout = 0, whileDead = 1, hideOnEscape = 1,
}
local function OpenNoteEditor(name)
if not name or name == "" then return end
local info = C_FriendList.GetFriendInfo(name)
local dialog = StaticPopup_Show("PFUI_FRIEND_NOTE_EDIT", name, nil, name)
if not dialog then return end
local editbox = _G[dialog:GetName().."EditBox"]
editbox:SetText((info and info.notes) or "")
editbox:HighlightText()
editbox:SetFocus()
end
-- Add "Edit Note" to the friend right-click menu, just before Cancel.
UnitPopupButtons[EDIT_TOKEN] = { text = SET_NOTE, dist = 0 }
local friendMenu = UnitPopupMenus["FRIEND"]
table.insert(friendMenu, table.getn(friendMenu), EDIT_TOKEN)
UnitPopupMenus["PFUI_FRIENDNOTE"] = { EDIT_TOKEN, "CANCEL" }
local function OfflineNoteDropDown_Initialize()
UnitPopup_ShowMenu(_G[UIDROPDOWNMENU_OPEN_MENU], "PFUI_FRIENDNOTE", nil, FriendsDropDown.name)
end
local FriendsFrame_ShowDropdown_orig = FriendsFrame_ShowDropdown
_G.FriendsFrame_ShowDropdown = function(name, connected)
if connected then return FriendsFrame_ShowDropdown_orig(name, connected) end
HideDropDownMenu(1)
FriendsDropDown.initialize = OfflineNoteDropDown_Initialize
FriendsDropDown.displayMode = "MENU"
FriendsDropDown.name = name
ToggleDropDownMenu(1, nil, FriendsDropDown, "cursor")
end
-- Route our entry to the editor and close the menu; delegate the rest. A
-- bare assignment lands on pfUI.env, so set the global explicitly.
local UnitPopup_OnClick_orig = UnitPopup_OnClick
_G.UnitPopup_OnClick = function()
if this and this.value == EDIT_TOKEN then
local dropdown = _G[UIDROPDOWNMENU_INIT_MENU]
local name = dropdown and dropdown.name
CloseDropDownMenus()
OpenNoteEditor(name)
return
end
return UnitPopup_OnClick_orig()
end
-- Show the note in a tooltip while hovering a friend in the list. Friend
-- buttons carry their friend index via SetID (see FriendsFrame_Update).
local function FriendButton_OnEnter()
local index = this:GetID()
if not index or index < 1 then return end
local info = C_FriendList.GetFriendInfoByIndex(index)
if not info or not info.notes or info.notes == "" then return end
GameTooltip:SetOwner(this, "ANCHOR_RIGHT")
GameTooltip:SetText(info.name or "")
GameTooltip:AddLine(info.notes, 1, 1, 1, 1)
GameTooltip:Show()
end
for i = 1, FRIENDS_TO_DISPLAY do
local button = _G["FriendsFrameFriendButton"..i]
if button then
button:HookScript("OnEnter", FriendButton_OnEnter)
button:HookScript("OnLeave", GameTooltip_Hide)
end
end
end)
+19 -8
View File
@@ -2763,22 +2763,32 @@ pfUI:RegisterModule("gui", function ()
end)
CreateGUIEntry(T["Tooltip"], nil, function()
CreateConfig(nil, T["General"], nil, nil, "header")
CreateConfig(nil, T["Tooltip Position"], C.tooltip, "position", "dropdown", pfUI.gui.dropdowns.tooltip_position)
CreateConfig(nil, T["Tooltip Text Font"], C.tooltip, "font_tooltip", "dropdown", pfUI.gui.dropdowns.fonts)
CreateConfig(nil, T["Tooltip Text Font Size"], C.tooltip, "font_tooltip_size")
CreateConfig(nil, T["Cursor Tooltip Align"], C.tooltip, "cursoralign", "dropdown", pfUI.gui.dropdowns.tooltip_align)
CreateConfig(nil, T["Cursor Tooltip Offset"], C.tooltip, "cursoroffset")
CreateConfig(nil, T["Enable Extended Guild Information"], C.tooltip, "extguild", "checkbox")
CreateConfig(nil, T["Always Show Health In Percent"], C.tooltip, "alwaysperc", "checkbox")
CreateConfig(nil, T["Show Item IDs"], C.tooltip, "itemid", "checkbox")
CreateConfig(nil, T["Show Movement Speed"], C.tooltip, "movespeed", "checkbox")
CreateConfig(nil, T["Show Aura Caster"], C.tooltip, "aurasource", "checkbox")
CreateConfig(nil, T["Custom Transparency"], C.tooltip, "alpha")
CreateConfig(nil, T["Status Bar Texture"], C.tooltip.statusbar, "texture", "dropdown", pfUI.gui.dropdowns.uf_bartexture)
CreateConfig(nil, T["Items"], nil, nil, "header")
CreateConfig(nil, T["Always Show Item Comparison"], C.tooltip.compare, "showalways", "checkbox")
CreateConfig(nil, T["Always Show Extended Vendor Values"], C.tooltip.vendor, "showalways", "checkbox")
CreateConfig(U["questitem"], T["Show Related Quest On Questitems"], C.tooltip.questitem, "showquest", "checkbox")
CreateConfig(U["questitem"], T["Show Required Questitem Count"], C.tooltip.questitem, "showcount", "checkbox")
CreateConfig(nil, T["Show Item IDs"], C.tooltip, "itemid", "checkbox")
CreateConfig(nil, T["Spells"], nil, nil, "header")
CreateConfig(nil, T["Show Aura Caster"], C.tooltip, "aurasource", "checkbox")
CreateConfig(nil, T["Show Spell IDs"], C.tooltip, "spellid", "checkbox")
CreateConfig(nil, T["Units"], nil, nil, "header")
CreateConfig(nil, T["Enable Extended Guild Information"], C.tooltip, "extguild", "checkbox")
CreateConfig(nil, T["Always Show Health In Percent"], C.tooltip, "alwaysperc", "checkbox")
CreateConfig(nil, T["Show Movement Speed"], C.tooltip, "movespeed", "checkbox")
CreateConfig(nil, T["Show Unit Buffs"], C.tooltip, "showbuffs", "checkbox")
CreateConfig(nil, T["Show Unit IDs"], C.tooltip, "unitid", "checkbox")
end)
CreateGUIEntry(T["Castbar"], T["General"], function()
@@ -2870,9 +2880,9 @@ pfUI:RegisterModule("gui", function ()
CreateConfig(nil, T["Only Show Chat Dock On Mouseover"], C.chat.global, "tabmouse", "checkbox")
CreateConfig(nil, T["Enable Chat Tab Flashing"], C.chat.global, "chatflash", "checkbox")
CreateConfig(nil, T["Enable Frame Shadow"], C.chat.global, "frameshadow", "checkbox")
CreateConfig(nil, T["Enable Custom Colors"], C.chat.global, "custombg", "checkbox")
CreateConfig(nil, T["Chat Background Color"], C.chat.global, "background", "color")
CreateConfig(nil, T["Chat Border Color"], C.chat.global, "border", "color")
CreateConfig(U["chat"], T["Enable Custom Colors"], C.chat.global, "custombg", "checkbox")
CreateConfig(U["chat"], T["Chat Background Color"], C.chat.global, "background", "color")
CreateConfig(U["chat"], T["Chat Border Color"], C.chat.global, "border", "color")
CreateConfig(nil, T["Enable Custom Incoming Whispers Layout"], C.chat.global, "whispermod", "checkbox")
CreateConfig(nil, T["Incoming Whispers Color"], C.chat.global, "whisper", "color")
CreateConfig(nil, T["Enable Sticky Chat"], C.chat.global, "sticky", "checkbox")
@@ -2989,6 +2999,7 @@ pfUI:RegisterModule("gui", function ()
CreateConfig(nil, T["Use Chat Colors for Meters"], C.thirdparty, "chatbg", "checkbox")
CreateConfig(nil, "ShaguDPS (" .. T["Skin"] .. ")", C.thirdparty.shagudps, "skin", "checkbox")
CreateConfig(nil, "ShaguDPS (" .. T["Dock"] .. ")", C.thirdparty.shagudps, "dock", "checkbox")
CreateConfig(nil, "GreedMeter (" .. T["Dock"] .. ")", C.thirdparty.greedmeter, "dock", "checkbox")
CreateConfig(nil, "DPSMate (" .. T["Skin"] .. ")", C.thirdparty.dpsmate, "skin", "checkbox")
CreateConfig(nil, "DPSMate (" .. T["Dock"] .. ")", C.thirdparty.dpsmate, "dock", "checkbox")
CreateConfig(nil, "SWStats (" .. T["Skin"] .. ")", C.thirdparty.swstats, "skin", "checkbox")
+5 -15
View File
@@ -77,9 +77,7 @@ pfUI:RegisterModule("loot", function ()
if pfUI.loot.my_index or pfUI.loot.disenchanter_index or pfUI.loot.banker_index then
info = wipe(info)
info.text = T["Special Recipient"]
info.textR = NORMAL_FONT_COLOR.r
info.textG = NORMAL_FONT_COLOR.g
info.textB = NORMAL_FONT_COLOR.b
info.textR, info.textG, info.textB = NORMAL_FONT_COLOR:GetRGB()
info.textHeight = 12
info.hasArrow = 1
info.notCheckable = 1
@@ -158,9 +156,7 @@ pfUI:RegisterModule("loot", function ()
if level == 1 then
info = wipe(info)
info.text = T["Random"]
info.textR = NORMAL_FONT_COLOR.r
info.textG = NORMAL_FONT_COLOR.g
info.textB = NORMAL_FONT_COLOR.b
info.textR, info.textG, info.textB = NORMAL_FONT_COLOR:GetRGB()
info.value = "PFRANDOM"
info.textHeight = 12
info.notCheckable = 1
@@ -170,9 +166,7 @@ pfUI:RegisterModule("loot", function ()
info = wipe(info)
info.text = T["Request Rolls"]
info.textR = NORMAL_FONT_COLOR.r
info.textG = NORMAL_FONT_COLOR.g
info.textB = NORMAL_FONT_COLOR.b
info.textR, info.textG, info.textB = NORMAL_FONT_COLOR:GetRGB()
info.value = "PFROLLS"
info.textHeight = 12
info.hasArrow = 1
@@ -183,9 +177,7 @@ pfUI:RegisterModule("loot", function ()
if UIDROPDOWNMENU_MENU_VALUE == "PFROLLS" then
info = wipe(info)
info.text = T["Clear Rolls"]
info.textR = NORMAL_FONT_COLOR.r
info.textG = NORMAL_FONT_COLOR.g
info.textB = NORMAL_FONT_COLOR.b
info.textR, info.textG, info.textB = NORMAL_FONT_COLOR:GetRGB()
info.value = "PFCLEARROLLS"
info.notCheckable = 1
info.func = pfUI.loot.ClearRolls
@@ -193,9 +185,7 @@ pfUI:RegisterModule("loot", function ()
info = wipe(info)
info.text = T["Reroll Ties"]
info.textR = NORMAL_FONT_COLOR.r
info.textG = NORMAL_FONT_COLOR.g
info.textB = NORMAL_FONT_COLOR.b
info.textR, info.textG, info.textB = NORMAL_FONT_COLOR:GetRGB()
info.value = "PFTIEROLL"
info.notCheckable = 1
info.arg1 = pfUI.loot.rollers_sorted
+2 -8
View File
@@ -16,12 +16,6 @@ pfUI:RegisterModule("loothistory", function ()
local WINMARK = "Interface\\Buttons\\UI-CheckBox-Check"
local QUESTIONMARK = "Interface\\Icons\\INV_Misc_QuestionMark"
local function ClassColor(class)
local c = class and RAID_CLASS_COLORS[class]
if c then return c.r, c.g, c.b end
return 1, 1, 1
end
-- Paint an item row's icon/name/quality from a loaded Item mixin.
local function RenderItemVisual(f, item)
local r, g, b = 1, 1, 1
@@ -277,7 +271,7 @@ pfUI:RegisterModule("loothistory", function ()
if wroll and wroll > 0 then f.winroll:SetText(wroll) else f.winroll:SetText("") end
f.winroll:Show()
f.winname:SetText(wname or UNKNOWN)
f.winname:SetTextColor(ClassColor(wclass))
f.winname:SetTextColor(PFUI_CLASS_COLORS[wclass]:GetRGB())
f.winname:Show()
else
-- nobody won: everyone passed
@@ -298,7 +292,7 @@ pfUI:RegisterModule("loothistory", function ()
local function RenderPlayerFrame(pf, name, class, rollType, roll, isWinner)
pf.name:SetText(name or UNKNOWN)
pf.name:SetTextColor(ClassColor(class))
pf.name:SetTextColor(PFUI_CLASS_COLORS[class]:GetRGB())
pf.rollicon:SetTexture(ROLL_TEX[rollType] or ROLL_TEX[ROLL_PASS])
if roll and roll > 0 then pf.rolltext:SetText(roll) else pf.rolltext:SetText("") end
+1 -1
View File
@@ -72,7 +72,7 @@ pfUI:RegisterModule("macroicons", function ()
end
local function SaveMacroPopup()
local text = strtrim(picker.editbox:GetText())
local text = picker.editbox:GetText()
if text == "" then return end
local icon = iconPicker.GetIcon()
+2 -1
View File
@@ -13,7 +13,8 @@ pfUI:RegisterModule("macrotweak", function ()
end
-- do not write macro calls into chat input history
if ChatFrameEditBox._AddHistoryLine then
-- (install once: _AddHistoryLine is our backup slot and is nil until we set it)
if not ChatFrameEditBox._AddHistoryLine then
local userinput
ChatFrameEditBox._AddHistoryLine = ChatFrameEditBox.AddHistoryLine
ChatFrameEditBox.AddHistoryLine = function(self, text)
+8 -2
View File
@@ -77,7 +77,13 @@ pfUI:RegisterModule("map", function ()
if point == "TOPLEFT" and relpoint == "TOPLEFT" then
offx = offx*oldscale/scale
offy = offy*oldscale/scale
WorldMapFrame:SetPoint(point, rel, relpoint, offx, offy)
-- Anchor to the parent (3-arg SetPoint) rather than re-using the frame
-- GetPoint handed back. Re-anchoring to `rel` throws
-- "<unnamed> is dependent on this" as soon as anything else has anchored
-- itself to WorldMapFrame, which aborts the whole zoom handler. The
-- parent-relative form is also what LoadMovable/SaveMovable already
-- assume: SaveMovable stores only xpos/ypos, with no relative frame.
WorldMapFrame:SetPoint(point, offx, offy)
end
WorldMapFrame:SetScale(scale)
@@ -175,7 +181,7 @@ pfUI:RegisterModule("map", function ()
end
if mx and my and MouseIsOver(WorldMapButton) then
WorldMapButton.coords.text:SetText(string.format('%.1f / %.1f', mx, my))
WorldMapButton.coords.text:SetFormattedText('%.1f / %.1f', mx, my)
else
WorldMapButton.coords.text:SetText("")
end
+5 -4
View File
@@ -52,19 +52,19 @@ pfUI:RegisterModule("mapreveal", function ()
WorldMapTooltip:AddLine(this.name, 1, 1, 1)
WorldMapTooltip:Show()
if not explorecaches[this.name] then return end
if not explorecaches[this.area] then return end
if C.appearance.worldmap.mapreveal == "0" then return end
for texture in pairs(explorecaches[this.name]) do
for texture in pairs(explorecaches[this.area]) do
texture:SetVertexColor(1,1,1,1)
end
end
local exploreLeave = function()
WorldMapTooltip:Hide()
if not explorecaches[this.name] then return end
if not explorecaches[this.area] then return end
if C.appearance.worldmap.mapreveal == "0" then return end
local r,g,b,a = GetStringColor(C.appearance.worldmap.mapreveal_color)
for texture in pairs(explorecaches[this.name]) do
for texture in pairs(explorecaches[this.area]) do
texture:SetVertexColor(r,g,b,a)
end
end
@@ -120,6 +120,7 @@ pfUI:RegisterModule("mapreveal", function ()
explore:EnableMouse(true)
explore:SetFrameLevel(255)
explore.name = mapFileName .. " (" .. name .. ")"
explore.area = name -- cache key: explorecaches is keyed by the plain area name
explore.tex = explore.tex or explore:CreateTexture("", "OVERLAY")
explore.tex:SetBlendMode("ADD")
explore.tex:SetTexCoord(.08, .92, .08, .92)
+1 -1
View File
@@ -138,7 +138,7 @@ pfUI:RegisterModule("minimap", function ()
local coord = pfUI.minimapCoordinates
coord.posX, coord.posY = GetPlayerMapPosition("player")
if coord.posX ~= 0 and coord.posY ~= 0 then
coord.text:SetText(string.format("%.1f, %.1f", round(coord.posX * 100, 1), round(coord.posY * 100, 1)))
coord.text:SetFormattedText("%.1f, %.1f", round(coord.posX * 100, 1), round(coord.posY * 100, 1))
else
coord.text:SetText("|cffffaaaaN/A")
end
+108 -56
View File
@@ -1039,13 +1039,29 @@ nameplates:RegisterEvent("PLAYER_GUILD_UPDATE")
local mouseover = plate.cachedGuid and plate.cachedGuid == frameState.mouseoverGuid or nil
local unitstr = target and "target" or mouseover and "mouseover" or plate.cachedGuid or nil
-- target event sometimes fires too quickly, where nameplate identifiers are not
-- yet updated. So while being inside this event, we cannot trust the unitstr.
if event == "PLAYER_TARGET_CHANGED" then unitstr = nil end
-- remove unitstr when it doesn't resolve to this plate's unit (stale istarget,
-- stale mouseover guid or a despawned unit). Must run before the cache fills
-- below -- an unrelated unitstr would poison cache.player/minion with the
-- *other* unit's answer, and the nil-gate would then never recompute it.
if unitstr and UnitName(unitstr) ~= name then unitstr = nil end
-- resolve player vs npc from plate's own unit so libunitscan can't return
-- a player record for an NPC sharing the same name (e.g. Chromie). Stored
-- as true/false/nil so it doubles as the GetUnitInfo hint.
if plate.cache.player == nil and unitstr then
plate.cache.player = UnitIsPlayer(unitstr) and true or false
end
local class, ulevel, elite, player, guild = GetUnitInfo(name, true, plate.cache.player)
if plate.cache.minion == nil and unitstr then
plate.cache.minion = UnitIsMinion(unitstr) and true or false
end
local class, ulevel, elite, player, guild
if not plate.cache.minion then
class, ulevel, elite, player, guild = GetUnitInfo(name, true, plate.cache.player)
end
if plate.cache.player ~= nil then player = plate.cache.player or nil end
-- Use database level ONLY if current level is ?? (fixes ?? after reload, but doesn't override visible levels)
@@ -1065,18 +1081,11 @@ nameplates:RegisterEvent("PLAYER_GUILD_UPDATE")
if player and unittype == "ENEMY_NPC" then unittype = "ENEMY_PLAYER" end
if player and unittype == "FRIENDLY_NPC" then unittype = "FRIENDLY_PLAYER" end
elite = plate.original.levelicon:IsShown() and not player and "boss" or elite
if not class then plate.wait_for_scan = true end
if not class and not plate.cache.minion then plate.wait_for_scan = true end
-- skip data updates on invisible frames
if not visible then return end
-- target event sometimes fires too quickly, where nameplate identifiers are not
-- yet updated. So while being inside this event, we cannot trust the unitstr.
if event == "PLAYER_TARGET_CHANGED" then unitstr = nil end
-- remove unitstr on unit name mismatch
if unitstr and UnitName(unitstr) ~= name then unitstr = nil end
-- always make sure to keep plate visible
plate:Show()
@@ -1151,15 +1160,24 @@ nameplates:RegisterEvent("PLAYER_GUILD_UPDATE")
if plate.cache.level ~= level or plate.cache.elite ~= elite then
plate.cache.level = level
plate.cache.elite = elite
plate.level:SetText(string.format("%s%s", level, (elitestrings[elite] or "")))
plate.level:SetFormattedText("%s%s", level, (elitestrings[elite] or ""))
end
-- Set level color from GetDifficultyColor when using DB level
-- Set level color from GetDifficultyColor when using DB level.
-- No brightening here: adding a flat offset to all three channels
-- desaturates every tier toward white and collapses the boundaries
-- (orange reads as yellow, red reads as orange). Use Blizzard's values.
-- Clearing cache.levelcolor forces the sync block in OnUpdate to
-- re-colour once the ?? resolves and it takes ownership again.
if levelFromDB and type(level) == "number" then
local color = GetDifficultyColor(level)
plate.level:SetTextColor(color.r + 0.3, color.g + 0.3, color.b + 0.3, 1)
plate.level:SetTextColor(color.r, color.g, color.b, 1)
plate.cache.levelcolor = nil
end
-- remember who owns the level colour so the two writers cannot fight
plate.cache.levelfromdb = levelFromDB or nil
if guild and C.nameplates.showguildname == "1" then
plate.guild:SetText(guild)
if guild == myGuild then
@@ -1203,21 +1221,21 @@ nameplates:RegisterEvent("PLAYER_GUILD_UPDATE")
local hasdata = ( rhp and rhpmax ) or estimated or hpmax > 100 or (round(hpmax/100*hp) ~= hp)
if setting == "curperc" and hasdata and rhp then
plate.health.text:SetText(string.format("%s | %s%%", Abbreviate(rhp), ceil(hp/hpmax*100)))
plate.health.text:SetFormattedText("%s | %s%%", Abbreviate(rhp), ceil(hp/hpmax*100))
elseif setting == "cur" and hasdata and rhp then
plate.health.text:SetText(string.format("%s", Abbreviate(rhp)))
plate.health.text:SetFormattedText("%s", Abbreviate(rhp))
elseif setting == "curmax" and hasdata and rhp then
plate.health.text:SetText(string.format("%s - %s", Abbreviate(rhp), Abbreviate(rhpmax)))
plate.health.text:SetFormattedText("%s - %s", Abbreviate(rhp), Abbreviate(rhpmax))
elseif setting == "curmaxs" and hasdata and rhp then
plate.health.text:SetText(string.format("%s / %s", Abbreviate(rhp), Abbreviate(rhpmax)))
plate.health.text:SetFormattedText("%s / %s", Abbreviate(rhp), Abbreviate(rhpmax))
elseif setting == "curmaxperc" and hasdata and rhp then
plate.health.text:SetText(string.format("%s - %s | %s%%", Abbreviate(rhp), Abbreviate(rhpmax), ceil(hp/hpmax*100)))
plate.health.text:SetFormattedText("%s - %s | %s%%", Abbreviate(rhp), Abbreviate(rhpmax), ceil(hp/hpmax*100))
elseif setting == "curmaxpercs" and hasdata and rhp then
plate.health.text:SetText(string.format("%s / %s | %s%%", Abbreviate(rhp), Abbreviate(rhpmax), ceil(hp/hpmax*100)))
plate.health.text:SetFormattedText("%s / %s | %s%%", Abbreviate(rhp), Abbreviate(rhpmax), ceil(hp/hpmax*100))
elseif setting == "deficit" and rhp then
plate.health.text:SetText(string.format("-%s" .. (hasdata and "" or "%%"), Abbreviate(rhpmax - rhp)))
plate.health.text:SetFormattedText("-%s" .. (hasdata and "" or "%%"), Abbreviate(rhpmax - rhp))
else -- "percent" as fallback
plate.health.text:SetText(string.format("%s%%", ceil(hp/hpmax*100)))
plate.health.text:SetFormattedText("%s%%", ceil(hp/hpmax*100))
end
else
plate.health.text:SetText()
@@ -1251,9 +1269,32 @@ nameplates:RegisterEvent("PLAYER_GUILD_UPDATE")
plate.cache.r, plate.cache.g, plate.cache.b = r, g, b
end
if r + g + b ~= plate.cache.namecolor and unittype == "FRIENDLY_PLAYER" and C.nameplates["friendclassnamec"] == "1" and class and PFUI_CLASS_COLORS[class] then
plate.name:SetTextColor(r, g, b, a)
plate.cache.namecolor = r + g + b
-- Friendly player names take this colour when friendclassnamec is on.
-- Ownership is recorded so the OnUpdate sync below stands down rather than
-- racing us: both writers used to share cache.namecolor despite storing
-- unrelated quantities (this colour vs Blizzard's name FontString), so
-- either could suppress the other -- and since nameplate.cache survives
-- pool reuse, a recycled plate could keep the previous unit's name colour.
local ownname = unittype == "FRIENDLY_PLAYER" and C.nameplates["friendclassnamec"] == "1"
and class and true or nil
if plate.cache.ownname ~= ownname then
plate.cache.ownname = ownname
-- ownership flipped: whichever writer is now in charge must re-assert
plate.cache.namecolor = nil
plate.cache.ownnamecolor = nil
end
-- read the class colour directly rather than reusing the bar's r,g,b: the
-- bar only carries a class colour when friendclassc happens to be on, and
-- it also picks up the tapped-grey and barcombatstate overrides, neither of
-- which belongs on the name.
if ownname then
local cr, cg, cb, ca = PFUI_CLASS_COLORS[class]:GetRGBA()
if cr + cg + cb ~= plate.cache.ownnamecolor then
plate.cache.ownnamecolor = cr + cg + cb
plate.name:SetTextColor(cr, cg, cb, ca)
end
end
if target and C.nameplates.cpdisplay == "1" then
@@ -1281,19 +1322,22 @@ nameplates:RegisterEvent("PLAYER_GUILD_UPDATE")
for i = 1, 16 do debuffDisplayBuf[i].effect = nil end
if unitstr then
local filter = cfg.owndebuffs and "HARMFUL|PLAYER" or "HARMFUL"
local auras = C_UnitAuras.GetUnitAuras(unitstr, filter)
local now = GetTime()
for _, aura in ipairs(auras) do
if debuffCount >= 16 then break end
-- positional UnitAura writes straight into the reusable buffer, so the
-- per-plate scan allocates nothing (no per-aura table, no result array)
local i = 1
while debuffCount < 16 do
local aname, icon, count, dispelType, duration, expirationTime = C_UnitAuras.UnitAura(unitstr, i, filter)
if not aname then break end
debuffCount = debuffCount + 1
local timeleft = (aura.expirationTime and aura.expirationTime > 0) and (aura.expirationTime - now) or nil
local b = debuffDisplayBuf[debuffCount]
b.effect = aura.name
b.texture = aura.icon
b.stacks = aura.applications
b.dtype = aura.dispelName
b.duration = aura.duration
b.timeleft = timeleft
b.effect = aname
b.texture = icon
b.stacks = count
b.dtype = dispelType
b.duration = duration
b.timeleft = (expirationTime and expirationTime > 0) and (expirationTime - now) or nil
i = i + 1
end
end
for i = 1, 16 do
@@ -1516,38 +1560,46 @@ nameplates:RegisterEvent("PLAYER_GUILD_UPDATE")
-- otherwise an NPC sharing a name with a known player flips wait_for_scan
-- off here, then OnDataChanged re-sets it, every frame until the mob scan
-- lands.
if nameplate.wait_for_scan and GetUnitInfo(name, true, nameplate.cache.player) then
if nameplate.wait_for_scan and not nameplate.cache.minion and GetUnitInfo(name, true, nameplate.cache.player) then
nameplate.wait_for_scan = nil
update = true
end
-- trigger update when name color changed (includes combat state check)
local r, g, b = original.name:GetTextColor()
local inCombatWithPlayer = cfg.namefightcolor and UnitAffectingCombat(nameplate.unit) and UnitAffectingCombat("player")
if r + g + b ~= nameplate.cache.namecolor or (cfg.namefightcolor and nameplate.cache.inCombat ~= inCombatWithPlayer) then
nameplate.cache.namecolor = r + g + b
nameplate.cache.inCombat = inCombatWithPlayer
-- trigger update when name color changed (includes combat state check).
-- Skipped once OnDataChanged owns the name colour (class-coloured friendly
-- players), so the two writers cannot overwrite each other.
if not nameplate.cache.ownname then
local r, g, b = original.name:GetTextColor()
local inCombatWithPlayer = cfg.namefightcolor and UnitAffectingCombat(nameplate.unit) and UnitAffectingCombat("player")
if cfg.namefightcolor then
if (r > .9 and g < .2 and b < .2) or inCombatWithPlayer then
nameplate.name:SetTextColor(1,0.4,0.2,1)
if r + g + b ~= nameplate.cache.namecolor or (cfg.namefightcolor and nameplate.cache.inCombat ~= inCombatWithPlayer) then
nameplate.cache.namecolor = r + g + b
nameplate.cache.inCombat = inCombatWithPlayer
if cfg.namefightcolor then
if (r > .9 and g < .2 and b < .2) or inCombatWithPlayer then
nameplate.name:SetTextColor(1,0.4,0.2,1)
else
nameplate.name:SetTextColor(r,g,b,1)
end
else
nameplate.name:SetTextColor(r,g,b,1)
nameplate.name:SetTextColor(1,1,1,1)
end
else
nameplate.name:SetTextColor(1,1,1,1)
update = true
end
update = true
end
-- trigger update when level color changed
local r, g, b = original.level:GetTextColor()
r, g, b = r + .3, g + .3, b + .3
if r + g + b ~= nameplate.cache.levelcolor then
nameplate.cache.levelcolor = r + g + b
nameplate.level:SetTextColor(r,g,b,1)
update = true
-- trigger update when level color changed. Skipped while the level came
-- from the database (?? plates), where OnDataChanged owns the colour --
-- otherwise both writers race and cache.levelcolor goes stale, which
-- leaves a recycled plate wearing the previous unit's colour.
if not nameplate.cache.levelfromdb then
local r, g, b = original.level:GetTextColor()
if r + g + b ~= nameplate.cache.levelcolor then
nameplate.cache.levelcolor = r + g + b
nameplate.level:SetTextColor(r,g,b,1)
update = true
end
end
-- use timer based updates
@@ -1657,7 +1709,7 @@ nameplates:RegisterEvent("PLAYER_GUILD_UPDATE")
rounded = floor(remaining * 100)
if castbar.lastTextTick ~= rounded then
castbar.lastTextTick = rounded
castbar.text:SetText(string.format("%.2f", remaining))
castbar.text:SetFormattedText("%.2f", remaining)
end
end
end
+14 -18
View File
@@ -296,18 +296,18 @@ pfUI:RegisterModule("panel", function()
local playerzone = GetRealZoneText()
for friendIndex=1, all do
local friend_name, friend_level, friend_class, friend_area, friend_connected = GetFriendInfo(friendIndex)
if friend_connected and friend_class and friend_level then
local info = C_FriendList.GetFriendInfoByIndex(friendIndex)
if info and info.connected and info.classFilename and info.level then
if not init then
GameTooltip_SetDefaultAnchor(GameTooltip, this)
GameTooltip:ClearLines()
GameTooltip:AddLine("|cff555555" .. T["Friends Online"])
init = true
end
local ccolor = PFUI_CLASS_COLORS[L["class"][friend_class]] or { 1, 1, 1 }
local lcolor = GetDifficultyColor(tonumber(friend_level)) or { 1, 1, 1 }
local zcolor = friend_area == playerzone and "|cff33ffcc" or "|cffcccccc"
GameTooltip:AddDoubleLine(rgbhex(ccolor) .. friend_name .. rgbhex(lcolor) .. " [" .. friend_level .. "]", zcolor .. friend_area)
local ccolor = PFUI_CLASS_COLORS[info.classFilename]
local lcolor = GetDifficultyColor(tonumber(info.level)) or { 1, 1, 1 }
local zcolor = info.area == playerzone and "|cff33ffcc" or "|cffcccccc"
GameTooltip:AddDoubleLine(ccolor:WrapTextInColorCode(info.name) .. rgbhex(lcolor) .. " [" .. info.level .. "]", zcolor .. info.area)
end
end
@@ -315,15 +315,7 @@ pfUI:RegisterModule("panel", function()
end
widget.Click = function() ToggleFriendsFrame(1) end
widget:SetScript("OnEvent", function()
local online = 0
local all = GetNumFriends()
for friendIndex=1, all do
local friend_name, friend_level, friend_class, friend_area, friend_connected = GetFriendInfo(friendIndex)
if ( friend_connected ) then
online = online + 1
end
end
local online = C_FriendList.GetNumOnlineFriends()
pfUI.panel:OutputPanel("friends", FRIENDS .. ": " .. online, widget.Tooltip, widget.Click)
end)
end
@@ -426,8 +418,13 @@ pfUI:RegisterModule("panel", function()
local repPercent = floor(cur / max * 100)
if repPercent < 100 then
local _, _, _, hex = GetColorGradient(repPercent/100)
local link = GetInventoryItemLink("player", id)
local texture = GetInventoryItemTexture("player", id)
if texture then
link = CreateSimpleTextureMarkup(texture, 24) .. " " .. link
end
itemLines[table.getn(itemLines)+1] = {
GetInventoryItemLink("player", id),
link,
string.format("%s%s%%|r", hex, repPercent)
}
end
@@ -436,8 +433,7 @@ pfUI:RegisterModule("panel", function()
if totalRep > 0 then
GameTooltip:ClearLines()
GameTooltip_SetDefaultAnchor(GameTooltip, this)
GameTooltip:SetText("|cff555555"..(string.gsub(REPAIR_COST,":","")).."|r")
SetTooltipMoney(GameTooltip, totalRep)
GameTooltip:AddLine(REPAIR_COST.." " .. CreateGoldString(totalRep), 0.3333, 0.3333, 0.3333)
for _,line in ipairs(itemLines) do
GameTooltip:AddDoubleLine(line[1],line[2])
end
+27 -3
View File
@@ -4,7 +4,9 @@ pfUI:RegisterModule("raid", function ()
-- tell RaidFrame.lua pfUI replaces party frames
HookAddonOrVariable("Blizzard_RaidUI", function()
GROUP_REPLACE_PARTY = "1"
-- must reach _G: RaidFrame.lua reads this global, and pfUI.env has
-- __index but no __newindex, so a bare assignment stays in the sandbox
_G.GROUP_REPLACE_PARTY = "1"
end)
pfUI.uf.raid = CreateFrame("Frame", "pfRaidUpdater", UIParent)
@@ -123,6 +125,7 @@ pfUI:RegisterModule("raid", function ()
local grid = self.petgrid
local function place(pet, cell, id)
pet.label = "raidpet"
pet.id = id
local r, g = SlotToCoord(cell, grid.fill, grid.x, grid.y)
pet:ClearAllPoints()
@@ -138,6 +141,22 @@ pfUI:RegisterModule("raid", function ()
return
end
-- Party shown as a raid grid: mirror slots 1..5 (player + party members)
-- into fixed cells. UpdateVisibility maps each slot to pet / partypet<N>.
if not IsInRaid() and IsInGroup() and C.unitframes.raidforgroup == "1" then
for id = 1, maxraid do
if self.pets[id] then
if id <= 5 then
place(self.pets[id], id, id)
else
self.pets[id].id = 0
self.pets[id]:Hide()
end
end
end
return
end
if C.unitframes.raidpet.collapse == "1" then
-- Pack the pets that exist into the leading cells, no gaps.
local k = 0
@@ -211,8 +230,13 @@ pfUI:RegisterModule("raid", function ()
this.tick = GetTime() + 1.0
this.pendingUpdate = nil
-- don't proceed without raid
if not IsInRaid() then return end
-- Without a raid there is nothing to sort, but a party shown as a raid
-- grid still needs its pet frames placed and mapped to the party pets.
if not IsInRaid() then
this:LayoutPets()
this:Hide()
return
end
-- clear all existing frames
for i=1, maxraid do SetRaidIndex(pfUI.uf.raid[i], 0) end
+7 -2
View File
@@ -7,8 +7,12 @@ pfUI:RegisterModule("roll", function ()
local LOOT_ROLL_NEED = string.gsub(LOOT_ROLL_NEED, "%%s|Hitem:%%d:%%d:%%d:%%d|h%[%%s%]|h%%s", "%%s")
local LOOT_ROLL_PASSED = string.gsub(LOOT_ROLL_PASSED, "%%s|Hitem:%%d:%%d:%%d:%%d|h%[%%s%]|h%%s", "%%s")
-- try to detect the everyone string
local _, _, everyone, _ = strfind(LOOT_ROLL_ALL_PASSED, LOOT_ROLL_PASSED)
-- detect the "everyone passed" subject exactly as the loot scanner will capture
-- it: feed a dummy item into LOOT_ROLL_ALL_PASSED and run the same LOOT_ROLL_PASSED
-- match. (The old strfind had no captures, so `everyone` was always nil and
-- "Everyone has passed on: X" got counted as a fake roller.)
local everyoneSample = string.gsub(LOOT_ROLL_ALL_PASSED, "%%s", "x")
local everyone = cmatch(everyoneSample, LOOT_ROLL_PASSED)
pfUI.roll.blacklist = { YOU, everyone }
pfUI.roll.cache = {}
@@ -43,6 +47,7 @@ pfUI:RegisterModule("roll", function ()
local _, _, itemLink = string.find(hyperlink, "(item:%d+:%d+:%d+:%d+)")
local itemName = C_Item.GetItemInfo(itemLink)
if not itemName then return end -- uncached item: avoid cache[nil] "table index is nil"
-- delete obsolete tables
if pfUI.roll.cache[itemName] and pfUI.roll.cache[itemName]["TIMESTAMP"] < GetTime() - 60 then
+4 -4
View File
@@ -119,7 +119,7 @@ pfUI:RegisterModule("screenshot", function ()
end
function pfUI.screenshot:CHAT_MSG_SYSTEM()
local _,_, standing, rep = string.find(arg1, FACTION_STANDING_CHANGEDregex)
local standing, rep = string.match(arg1, FACTION_STANDING_CHANGEDregex)
if standing and rep then
local dt = date("%a, %b %d, %Y %X")
local loc = string.format("%s - %s",GetRealZoneText(),GetSubZoneText())
@@ -150,13 +150,13 @@ pfUI:RegisterModule("screenshot", function ()
end
function pfUI.screenshot:CHAT_MSG_LOOT()
local _,_, item, amount = string.find(arg1, LOOT_ITEM_SELF_MULTIPLEregex)
local item, amount = string.match(arg1, LOOT_ITEM_SELF_MULTIPLEregex)
if amount then -- ignore stacks
return
else
_,_, item = string.find(arg1, LOOT_ITEM_SELFregex)
item = string.match(arg1, LOOT_ITEM_SELFregex)
if item then
local _, _, itemColor, itemString, itemName = string.find(item, "^(|c%x+)|H(.+)|h(%[.+%])")
local itemColor, itemString, itemName = string.match(item, "^(|c%x+)|H(.+)|h(%[.+%])")
local quality = color2quality[itemColor]
if quality and quality >= tonumber(C.screenshot.loot) then
local dt = date("%a, %b %d, %Y %X")
+70 -72
View File
@@ -4,7 +4,7 @@ pfUI:RegisterModule("socialmod", function ()
pfUI.socialmod:RegisterEvent("CHAT_MSG_SYSTEM")
pfUI.socialmod:SetScript("OnEvent", function()
local name = cmatch(arg1, _G.ERR_FRIEND_ONLINE_SS)
name = cmatch(arg1, _G.ERR_FRIEND_OFFLINE_S)
name = name or cmatch(arg1, _G.ERR_FRIEND_OFFLINE_S)
if name and playerdb[name] and playerdb[name].cname then
playerdb[name].lastseen = date("%a %d-%b-%Y")
end
@@ -77,20 +77,19 @@ pfUI:RegisterModule("socialmod", function ()
local off = FauxScrollFrame_GetOffset(FriendsFrameFriendsScrollFrame)
for i=1, FRIENDS_TO_DISPLAY do
local name, level, class, zone, connected, status = GetFriendInfo(off + i)
if not name or name == _G.UNKNOWN then break end
local info = C_FriendList.GetFriendInfoByIndex(off + i)
if not info or not info.name or info.name == _G.UNKNOWN then break end
local name = info.name
local friendName = _G["FriendsFrameFriendButton"..i.."ButtonTextName"]
local friendLoc = _G["FriendsFrameFriendButton"..i..FRIENDS_NAME_LOCATION]
local friendInfo = _G["FriendsFrameFriendButton"..i.."ButtonTextInfo"]
local caption = friendName or friendLoc
if connected then
if not class or class == _G.UNKNOWN then break end
local ccolor = PFUI_CLASS_COLORS[L["class"][class]] or { 1, 1, 1 }
local lcolor = GetDifficultyColor(tonumber(level)) or { 1, 1, 1 }
zone = ( zone == playerzone and "|cffffffff" or "|cffcccccc" ) .. zone .. "|r"
local cname = rgbhex(ccolor) .. name .. "|r"
if info.connected then
local ccolor = PFUI_CLASS_COLORS[info.classFilename]
local status = info.afk and CHAT_FLAG_AFK or info.dnd and CHAT_FLAG_DND or ""
local zone = ( info.area == playerzone and "|cffffffff" or "|cffcccccc" ) .. info.area .. "|r"
local cname = ccolor:WrapTextInColorCode(name)
if playerdb[name] then
playerdb[name].lastseen = date("%a %d-%b-%Y")
playerdb[name].cname = cname
@@ -98,20 +97,20 @@ pfUI:RegisterModule("socialmod", function ()
if friendName then
friendName:SetText(cname)
friendLoc:SetText(format(TEXT(FRIENDS_LIST_TEMPLATE), zone, status))
friendLoc:SetFormattedText(TEXT(FRIENDS_LIST_TEMPLATE), zone, status)
else
friendLoc:SetText(format(TEXT(FRIENDS_LIST_TEMPLATE), cname, zone, status))
friendLoc:SetFormattedText(TEXT(FRIENDS_LIST_TEMPLATE), cname, zone, status)
end
friendInfo:SetText(format(TEXT(FRIENDS_LEVEL_TEMPLATE), level, class))
friendInfo:SetFormattedText(TEXT(FRIENDS_LEVEL_TEMPLATE), info.level, info.className)
caption:SetVertexColor(1,1,1,.9)
friendInfo:SetVertexColor(1,1,1,.9)
else
if playerdb[name] and playerdb[name].cname and playerdb[name].level and playerdb[name].lastseen then
caption:SetText(format(TEXT(FRIENDS_LIST_OFFLINE_TEMPLATE), playerdb[name].cname))
friendInfo:SetText(format(TEXT(FRIENDS_LEVEL_TEMPLATE), playerdb[name].level, playerdb[name].lastseen))
caption:SetFormattedText(TEXT(FRIENDS_LIST_OFFLINE_TEMPLATE), playerdb[name].cname)
friendInfo:SetFormattedText(TEXT(FRIENDS_LEVEL_TEMPLATE), playerdb[name].level, playerdb[name].lastseen)
else
caption:SetText(format(TEXT(FRIENDS_LIST_OFFLINE_TEMPLATE), name.."|r"))
caption:SetFormattedText(TEXT(FRIENDS_LIST_OFFLINE_TEMPLATE), name.."|r")
friendInfo:SetText(TEXT(UNKNOWN))
end
@@ -124,74 +123,73 @@ pfUI:RegisterModule("socialmod", function ()
do -- add colors to who list
hooksecurefunc("WhoList_Update", function()
local num, max = GetNumWhoResults()
local num, max = C_FriendList.GetNumWhoResults()
local off = FauxScrollFrame_GetOffset(WhoListScrollFrame)
local playerzone = GetRealZoneText()
local playerrace = UnitRace("player")
local playerguild = GetGuildInfo("player")
if num + 1 >= MAX_WHOS_FROM_SERVER then
WhoFrameTotals:SetFormattedText("|cffffffff" .. GetText("WHO_FRAME_TOTAL_TEMPLATE", nil, num) .. " |cffaaaaaa" .. WHO_FRAME_SHOWN_TEMPLATE, max, MAX_WHOS_FROM_SERVER)
else
WhoFrameTotals:SetFormattedText("|cffffffff" .. GetText("WHO_FRAME_TOTAL_TEMPLATE", nil, num) .. " |cffaaaaaa" .. WHO_FRAME_SHOWN_TEMPLATE, num, num)
end
for i=1, WHOS_TO_DISPLAY do
local name, guild, level, race, class, zone = GetWhoInfo(off + i)
local displayedText = ""
local info = C_FriendList.GetWhoInfo(off + i)
if info then
-- filename is the class token, so no L["class"] reversal is needed
local class = info.filename
if num + 1 >= MAX_WHOS_FROM_SERVER then
displayedText = format(WHO_FRAME_SHOWN_TEMPLATE, MAX_WHOS_FROM_SERVER)
WhoFrameTotals:SetText("|cffffffff" .. format(GetText("WHO_FRAME_TOTAL_TEMPLATE", nil, num), max).." |cffaaaaaa"..displayedText)
else
displayedText = format(WHO_FRAME_SHOWN_TEMPLATE, num)
WhoFrameTotals:SetText("|cffffffff" .. format(GetText("WHO_FRAME_TOTAL_TEMPLATE", nil, num), num).." |cffaaaaaa"..displayedText)
end
_G["WhoFrameButton"..i.."Name"]:SetTextColor(NORMAL_FONT_COLOR:GetRGB())
class = L["class"][class]
_G["WhoFrameButton"..i.."Name"]:SetTextColor(NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b)
if (UIDropDownMenu_GetSelectedID(WhoFrameDropDown) == 1) then
if (zone == playerzone) then
_G["WhoFrameButton"..i.."Variable"]:SetTextColor(.5, 1, 1)
else
_G["WhoFrameButton"..i.."Variable"]:SetTextColor(1, 1, 1)
end
elseif (UIDropDownMenu_GetSelectedID(WhoFrameDropDown) == 2) then
if (guild == playerguild) then
_G["WhoFrameButton"..i.."Variable"]:SetTextColor(.5, 1, 1)
else
_G["WhoFrameButton"..i.."Variable"]:SetTextColor(1, 1, 1)
end
elseif (UIDropDownMenu_GetSelectedID(WhoFrameDropDown) == 3) then
if (race == playerrace) then
_G["WhoFrameButton"..i.."Variable"]:SetTextColor(.5, 1, 1)
else
_G["WhoFrameButton"..i.."Variable"]:SetTextColor(1, 1, 1)
end
end
if class then
local classicon = _G["WhoFrameButton"..i].classicon
local coords = CLASS_ICON_TCOORDS[class]
local color = PFUI_CLASS_COLORS[class]
-- do we have classicons? (skin enabled?)
if classicon then
_G["WhoFrameButton"..i.."Class"]:SetTextColor(0,0,0,0)
_G["WhoFrameButton"..i.."Name"]:SetTextColor(color.r,color.g,color.b,1)
if coords then
classicon:Show()
classicon:SetTexCoord(unpack(coords))
if (UIDropDownMenu_GetSelectedID(WhoFrameDropDown) == 1) then
if (info.area == playerzone) then
_G["WhoFrameButton"..i.."Variable"]:SetTextColor(.5, 1, 1)
else
classicon:Hide()
_G["WhoFrameButton"..i.."Variable"]:SetTextColor(1, 1, 1)
end
else
_G["WhoFrameButton"..i.."Class"]:SetTextColor(color.r,color.g,color.b,1)
end
end
local color = GetDifficultyColor(level)
_G["WhoFrameButton"..i.."Level"]:SetTextColor(color.r, color.g, color.b)
elseif (UIDropDownMenu_GetSelectedID(WhoFrameDropDown) == 2) then
if (info.fullGuildName == playerguild) then
_G["WhoFrameButton"..i.."Variable"]:SetTextColor(.5, 1, 1)
else
_G["WhoFrameButton"..i.."Variable"]:SetTextColor(1, 1, 1)
end
elseif (UIDropDownMenu_GetSelectedID(WhoFrameDropDown) == 3) then
if (info.raceStr == playerrace) then
_G["WhoFrameButton"..i.."Variable"]:SetTextColor(.5, 1, 1)
else
_G["WhoFrameButton"..i.."Variable"]:SetTextColor(1, 1, 1)
end
end
if class then
local classicon = _G["WhoFrameButton"..i].classicon
local coords = CLASS_ICON_TCOORDS[class]
local color = PFUI_CLASS_COLORS[class]
-- do we have classicons? (skin enabled?)
if classicon then
_G["WhoFrameButton"..i.."Class"]:SetTextColor(0,0,0,0)
_G["WhoFrameButton"..i.."Name"]:SetTextColor(color.r,color.g,color.b,1)
if coords then
classicon:Show()
classicon:SetTexCoord(unpack(coords))
else
classicon:Hide()
end
else
_G["WhoFrameButton"..i.."Class"]:SetTextColor(color.r,color.g,color.b,1)
end
end
local color = GetDifficultyColor(info.level)
_G["WhoFrameButton"..i.."Level"]:SetTextColor(color.r, color.g, color.b)
end
end
end)
end
+4 -1
View File
@@ -75,7 +75,10 @@ pfUI:RegisterModule("superwow", function ()
DEFAULT_CHAT_FRAME:AddMessage("-> https://github.com/balakethelock/SuperWoW/releases/")
end
if SUPERWOW_VERSION == "1.5" then
-- compare numerically: an exact string match silently drops this on any
-- SuperWoW release past 1.5
local swVersion = tonumber(SUPERWOW_VERSION)
if swVersion and swVersion >= 1.5 then
QueueFunction(function()
local pfCombatText_AddMessage = _G.CombatText_AddMessage
_G.CombatText_AddMessage = function(message, a, b, c, d, e, f)
+25 -34
View File
@@ -9,11 +9,6 @@ pfUI:RegisterModule("swingtimer", function ()
local ON_SWING_QUEUED = 0
local ON_SWING_QUEUE_POPPED = 1
-- Spell.dbc bits used to mirror server-side swing-reset rules.
local FLAG_AUTOATTACK = tonumber("0x08", 16) -- SPELL_INTERRUPT_FLAG_AUTOATTACK
local ATTR_KEEP_SWINGS = tonumber("0x20000", 16) -- SPELL_ATTR_EX2_NOT_RESET_AUTO_ACTIONS
local ATTR_ON_NEXT_SWING = tonumber("0x04", 16) -- SPELL_ATTR_ON_NEXT_SWING
-- Consolidate state into a table to avoid Lua 5.0 upvalue limit (32 max)
local S = {
mhTimer = 0, mhTimerMax = 1,
@@ -43,12 +38,11 @@ pfUI:RegisterModule("swingtimer", function ()
local WAND_SHOOT_SPELLID = 5019
local THROW_SPELLID = 2764 -- one-shot ranged, not auto-repeat
-- ATTR_ON_NEXT_SWING: spell replaces next auto-attack swing.
-- On-next-swing spells replace the next auto-attack swing.
-- Covers Raptor Strike, Maul, Mongoose Bite, Holy Strike, etc. automatically.
local function IsOnSwingSpell(spellId)
if S.onSwingCache[spellId] ~= nil then return S.onSwingCache[spellId] end
local attr = GetSpellRecField(spellId, "attributes") or 0
local result = bit.band(attr, ATTR_ON_NEXT_SWING) ~= 0
local result = C_Spell.IsNextMeleeSpell(spellId)
S.onSwingCache[spellId] = result
return result
end
@@ -290,7 +284,9 @@ pfUI:RegisterModule("swingtimer", function ()
UpdateMovable(pfUI.swingtimer.ranged)
-- OH weapon detection
local OH_WEAPON_TYPES = { [13]=true, [21]=true }
-- OH weapon detection: slot 17 (off hand) accepts one-hand (13) and off-hand
-- weapons (22); main-hand-only (21) can never sit there.
local OH_WEAPON_TYPES = { [13]=true, [22]=true }
local function HasOffhandWeapon()
local l = GetInventoryItemLink("player", 17)
if not l then return false end
@@ -596,10 +592,10 @@ pfUI:RegisterModule("swingtimer", function ()
end
pfUI.swingtimer.mainhand:SetStatusBarColor(curR, curG, curB, mhA)
if sw_showtext then
pfUI.swingtimer.mainhand.text:SetText(string.format("%.1f", math.floor(S.mhTimer * 10) / 10))
pfUI.swingtimer.mainhand.text:SetFormattedText("%.1f", math.floor(S.mhTimer * 10) / 10)
end
if sw_showspeed and S.mhSpeed > 0 then
pfUI.swingtimer.mainhand.speed:SetText(string.format("%.2f", S.mhSpeed))
pfUI.swingtimer.mainhand.speed:SetFormattedText("%.2f", S.mhSpeed)
end
anyActive = true
end
@@ -630,10 +626,10 @@ pfUI:RegisterModule("swingtimer", function ()
end
end
if sw_showtext then
pfUI.swingtimer.offhand.text:SetText(string.format("%.1f", math.floor(S.ohTimer * 10) / 10))
pfUI.swingtimer.offhand.text:SetFormattedText("%.1f", math.floor(S.ohTimer * 10) / 10)
end
if sw_showspeed and S.ohSpeed > 0 then
pfUI.swingtimer.offhand.speed:SetText(string.format("%.2f", S.ohSpeed))
pfUI.swingtimer.offhand.speed:SetFormattedText("%.2f", S.ohSpeed)
end
anyActive = true
elseif not sw_showoh then
@@ -672,9 +668,9 @@ pfUI:RegisterModule("swingtimer", function ()
end
if sw_showtext then
if remaining <= 0.5 then
pfUI.swingtimer.ranged.text:SetText(string.format("%.1f", math.floor(remaining * 10) / 10))
pfUI.swingtimer.ranged.text:SetFormattedText("%.1f", math.floor(remaining * 10) / 10)
else
pfUI.swingtimer.ranged.text:SetText(string.format("%.1f", math.floor((remaining - 0.5) * 10) / 10))
pfUI.swingtimer.ranged.text:SetFormattedText("%.1f", math.floor((remaining - 0.5) * 10) / 10)
end
end
else
@@ -687,11 +683,11 @@ pfUI:RegisterModule("swingtimer", function ()
pfUI.swingtimer.ranged.right:Hide()
pfUI.swingtimer.ranged.warn:Hide()
if sw_showtext then
pfUI.swingtimer.ranged.text:SetText(string.format("%.1f", math.floor(remaining * 10) / 10))
pfUI.swingtimer.ranged.text:SetFormattedText("%.1f", math.floor(remaining * 10) / 10)
end
end
if sw_showspeed and S.raSpeed > 0 then
pfUI.swingtimer.ranged.speed:SetText(string.format("%.2f", S.raSpeed))
pfUI.swingtimer.ranged.speed:SetFormattedText("%.2f", S.raSpeed)
end
local raProgress = 1 - (S.raTimer / S.raTimerMax)
local raMarkerX = raProgress * sw_width
@@ -734,13 +730,12 @@ pfUI:RegisterModule("swingtimer", function ()
S.pendingCastSpellId = arg1
-- Freeze the swing timer for cast-time spells that DON'T reset auto-
-- attack on completion (Slam, Hammer of Wrath on Turtle, etc.) — those
-- let the swing resume from where it paused. Detect dynamically via the
-- absent AUTOATTACK interrupt flag (8); spells with that bit reset on
-- SPELL_GO_SELF so freezing isn't necessary. Subsumes the old hardcoded
-- swingDelaySpells list (no list maintenance for new Slam-style spells).
-- let the swing resume from where it paused. C_Spell.ResetsMeleeSwing
-- mirrors the server rule; spells that reset don't need freezing (they
-- reset on SPELL_GO_SELF). Subsumes the old hardcoded swingDelaySpells
-- list (no list maintenance for new Slam-style spells).
if S.mhActive then
local iflags = GetSpellRecField(arg1, "interruptFlags") or 0
if bit.band(iflags, FLAG_AUTOATTACK) == 0 then
if not C_Spell.ResetsMeleeSwing(arg1) then
S.mhFrozenAt = GetTime()
end
end
@@ -777,17 +772,13 @@ pfUI:RegisterModule("swingtimer", function ()
S.hsQueued = false; S.cleaveQueued = false; S.maulQueued = false
ResetMH()
else
-- Mirror the server rule for "does this spell reset the auto-attack
-- swing" (Spell::IsMeleeAttackResetSpell in Turtle's core):
-- InterruptFlags has SPELL_INTERRUPT_FLAG_AUTOATTACK (0x08)
-- AND AttributesEx2 lacks NOT_RESET_AUTO_ACTIONS (0x20000).
-- If neither path resets and we're holding a frozen-swing-during-cast
-- (mhFrozenAt set by SPELL_START_SELF for non-AUTOATTACK spells), this
-- is a Slam-style cast — push the timer forward by the cast duration
-- so the bar resumes from where it paused.
local iflags = GetSpellRecField(spellId, "interruptFlags") or 0
if bit.band(iflags, FLAG_AUTOATTACK) ~= 0
and bit.band(GetSpellRecField(spellId, "attributesEx2") or 0, ATTR_KEEP_SWINGS) == 0 then
-- C_Spell.ResetsMeleeSwing mirrors the server rule (Turtle's
-- Spell::IsMeleeAttackResetSpell): InterruptFlags has AUTOATTACK and
-- AttributesEx2 lacks NOT_RESET_AUTO_ACTIONS. When the spell resets the
-- swing, snap the timers to full. Otherwise (elseif) a frozen-swing-
-- during-cast is a Slam-style cast — push the timer forward by the cast
-- duration so the bar resumes from where it paused.
if C_Spell.ResetsMeleeSwing(spellId) then
if S.mhActive and S.mhSpeed > 0 then
UpdateWeaponSpeeds()
S.mhTimerMax = S.mhSpeed
+97
View File
@@ -277,6 +277,103 @@ pfUI:RegisterModule("thirdparty", function()
end
end)
-- GreedMeter Damage Meter
-- Vanilla: https://github.com/iGreed/GreedMeter
-- GreedMeter builds its windows lazily and supports several of them, so the
-- frames are resolved at call time. The primary window takes the "damage"
-- dock slot; a second window (GreedMeter.UI.frames[2]) takes the "threat"
-- slot so the two tile the panel side-by-side. Docking triggers a
-- LayoutBars/RefreshFrame so the bars refit the new width.
HookAddonOrVariable("GreedMeter", function()
local UI = GreedMeter.UI
local function frameAt(i)
return UI and UI.frames and UI.frames[i]
end
local function primary()
return (UI and UI.mainFrame) or getglobal("GreedMeterFrame1")
end
local function relayout(frame)
if not UI then return end
if UI.LayoutBars then UI:LayoutBars(frame) end
if UI.RefreshFrame then UI:RefreshFrame(frame) end
end
-- Builds a docktable for a window resolved through getframe(). left picks
-- the left half in split mode; the primary window uses the right half.
local function BuildDock(name, getframe, left)
return { "greedmeter", "GreedMeter", name,
function() -- single: fill the panel
local frame = getframe()
if not frame then return end
frame:ClearAllPoints()
frame:SetAllPoints(pfUI.chat.right)
frame:SetWidth(pfUI.chat.right:GetWidth())
relayout(frame)
end,
function() -- dual: take one half
local frame = getframe()
if not frame then return end
frame:ClearAllPoints()
if left then
frame:SetPoint("TOPLEFT", pfUI.chat.right, "TOPLEFT", 0, 0)
frame:SetPoint("BOTTOMRIGHT", pfUI.chat.right, "BOTTOM", 0, 0)
else
frame:SetPoint("TOPLEFT", pfUI.chat.right, "TOP", 0, 0)
frame:SetPoint("BOTTOMRIGHT", pfUI.chat.right, "BOTTOMRIGHT", 0, 0)
end
frame:SetWidth(pfUI.chat.right:GetWidth() / 2)
relayout(frame)
end,
function() -- show
local frame = getframe()
if frame then frame:Show() relayout(frame) end
end,
function() -- hide
local frame = getframe()
if frame then frame:Hide() end
end
}
end
local threatdock = BuildDock("GreedMeterFrame2", function() return frameAt(2) end, true)
pfUI.thirdparty.meters:RegisterMeter("damage", BuildDock("GreedMeterFrame1", primary, false))
-- pfUI's dock decides fill-vs-split by whether the threat slot is filled,
-- not by counting windows, so reconcile that slot whenever GreedMeter adds
-- or removes one. Only the first two windows fit; any beyond that float.
local function SyncSecond()
if not pfUI.thirdparty.meters.damage then return end -- dock disabled
local has2 = frameAt(2) ~= nil
if has2 and not pfUI.thirdparty.meters.threat then
pfUI.thirdparty.meters.threat = threatdock
elseif not has2 and pfUI.thirdparty.meters.threat == threatdock then
pfUI.thirdparty.meters.threat = nil
end
pfUI.thirdparty.meters:Resize()
-- match the second window's visibility to the panel (the primary tracks it)
local f1, f2 = primary(), frameAt(2)
if f2 then
if f1 and f1:IsShown() then f2:Show() relayout(f2) else f2:Hide() end
end
end
-- AddFrame and the login-time layout restore both go through
-- CreateMeterFrame; RemoveFrame handles closing a window.
local origCreate = UI.CreateMeterFrame
UI.CreateMeterFrame = function(self, isPrimary, copyFrom)
local frame = origCreate(self, isPrimary, copyFrom)
SyncSecond()
return frame
end
local origRemove = UI.RemoveFrame
UI.RemoveFrame = function(self, frame)
origRemove(self, frame)
SyncSecond()
end
end)
-- DPSMate Damage Meter
-- Vanilla: https://github.com/Geigerkind/DPSMate
-- TBC: https://github.com/Geigerkind/DPSMateTBC
+119 -9
View File
@@ -166,9 +166,9 @@ pfUI:RegisterModule("tooltip", function ()
end
if C.tooltip.alwaysperc == "0" and ( estimated or hpmax > 100 or round(hpmax/100*hp) ~= hp ) then
pfUI.tooltipStatusBar.HP:SetText(string.format("%s / %s", Abbreviate(rhp), Abbreviate(rhpmax)))
pfUI.tooltipStatusBar.HP:SetFormattedText("%s / %s", Abbreviate(rhp), Abbreviate(rhpmax))
elseif hpmax > 0 then
pfUI.tooltipStatusBar.HP:SetText(string.format("%s%%", ceil(hp/hpmax*100)))
pfUI.tooltipStatusBar.HP:SetFormattedText("%s%%", ceil(hp/hpmax*100))
else
pfUI.tooltipStatusBar.HP:SetText("")
end
@@ -185,14 +185,102 @@ pfUI:RegisterModule("tooltip", function ()
GameTooltipStatusBar.SetStatusBarColor_orig = GameTooltipStatusBar.SetStatusBarColor
GameTooltipStatusBar.SetStatusBarColor = function() return end
-- A row of buff icons anchored above the tooltip for mouseover units.
-- Icons come from a ClassicAPI object pool: ReleaseAll hides the whole
-- set each refresh, then we Acquire and re-anchor left-to-right.
local BUFF_SIZE, BUFF_SPACING, BUFF_MAX = 20, 2, 32
pfUI.tooltip.buffs = CreateFrame("Frame", "pfTooltipBuffs", GameTooltip)
pfUI.tooltip.buffs:SetPoint("BOTTOMLEFT", GameTooltipStatusBar, "TOPLEFT", 0, default_border + 2)
pfUI.tooltip.buffs:SetHeight(BUFF_SIZE)
local function CreateBuffIcon()
local icon = CreateFrame("Frame", nil, pfUI.tooltip.buffs)
icon:SetSize(BUFF_SIZE, BUFF_SIZE)
icon.texture = icon:CreateTexture(nil, "BACKGROUND")
icon.texture:SetTexCoord(.07, .93, .07, .93)
icon.texture:SetAllPoints(icon)
CreateBackdrop(icon)
icon.stacks = icon:CreateFontString(nil, "OVERLAY", "GameFontNormal")
icon.stacks:SetPoint("BOTTOMRIGHT", icon, "BOTTOMRIGHT", 1, 0)
icon.stacks:SetFont(C.tooltip.font_tooltip, C.tooltip.font_tooltip_size, "OUTLINE")
icon.stacks:SetTextColor(1, 1, 1, 1)
icon.timer = icon:CreateFontString(nil, "OVERLAY", "GameFontNormal")
icon.timer:SetPoint("CENTER", icon, "CENTER", 0, 0)
icon.timer:SetFont(C.tooltip.font_tooltip, C.tooltip.font_tooltip_size, "OUTLINE")
icon.timer:SetTextColor(1, 1, 1, 1)
return icon
end
pfUI.tooltip.buffpool = CreateObjectPool(CreateBuffIcon, function(_, icon)
icon:Hide()
icon:ClearAllPoints()
end)
-- Tick the remaining-time text on the visible icons. OnUpdate only fires
-- while the row is shown, so it stops as soon as the tooltip hides.
pfUI.tooltip.buffs:SetScript("OnUpdate", function()
local now = GetTime()
if (this.tick or 0) > now then return end
this.tick = now + 0.1
for icon in pfUI.tooltip.buffpool:EnumerateActive() do
local timeleft = icon.expirationTime and icon.expirationTime > 0 and (icon.expirationTime - now) or 0
icon.timer:SetText(timeleft > 0 and GetColoredTimeString(timeleft) or "")
end
end)
function pfUI.tooltip:UpdateBuffs(unit)
pfUI.tooltip.buffpool:ReleaseAll()
if C.tooltip.showbuffs ~= "1" or not unit or unit == "none" then
pfUI.tooltip.buffs:Hide()
return
end
local prev, count = nil, 0
for i = 1, BUFF_MAX do
local aura = C_UnitAuras.GetBuffDataByIndex(unit, i)
if not aura then break end
count = count + 1
local icon = pfUI.tooltip.buffpool:Acquire()
icon.texture:SetTexture(aura.icon)
icon.stacks:SetText(aura.applications and aura.applications > 1 and aura.applications or "")
icon.expirationTime = aura.expirationTime
local timeleft = aura.expirationTime and aura.expirationTime > 0 and (aura.expirationTime - GetTime()) or 0
icon.timer:SetText(timeleft > 0 and GetColoredTimeString(timeleft) or "")
if prev then
icon:SetPoint("LEFT", prev, "RIGHT", BUFF_SPACING, 0)
else
icon:SetPoint("BOTTOMLEFT", pfUI.tooltip.buffs, "BOTTOMLEFT", 0, 0)
end
icon:Show()
prev = icon
end
if count > 0 then
pfUI.tooltip.buffs:SetWidth(count * BUFF_SIZE + (count - 1) * BUFF_SPACING)
pfUI.tooltip.buffs:Show()
else
pfUI.tooltip.buffs:Hide()
end
end
function pfUI.tooltip:Update()
local unit = pfUI.tooltip:GetUnit()
pfUI.tooltip:UpdateBuffs(unit)
if unit == "none" then
-- process item tooltips
if C.tooltip.itemid == "1" and GameTooltip:HasItem() then
local _, _, itemID = GameTooltip:GetItem()
GameTooltip:AddLine(T["ItemID"] .. ": " .. itemID, .25,.5,1)
GameTooltip:Show()
elseif C.tooltip.spellid == "1" and GameTooltip:HasSpell() then
local _, _, spellID = GameTooltip:GetSpell()
GameTooltip:AddLine(T["SpellID"] .. ": " .. spellID, .25,.5,1)
GameTooltip:Show()
end
return
@@ -259,6 +347,13 @@ pfUI:RegisterModule("tooltip", function ()
end
end
if C.tooltip.unitid == "1" and not UnitIsPlayer(unit) then
local npcID = C_CreatureInfo.GetCreatureID(UnitGUID(unit))
if npcID then
GameTooltip:AddLine(T["UnitID"] .. ": " .. npcID, .25,.5,1)
end
end
if hp and hpm then
if hp >= 1000 then hp = round(hp / 1000, 1) .. "k" end
if hpm >= 1000 then hpm = round(hpm / 1000, 1) .. "k" end
@@ -267,16 +362,31 @@ pfUI:RegisterModule("tooltip", function ()
GameTooltip:Show()
end
if C.tooltip.aurasource == "1" then
if C.tooltip.aurasource == "1" or C.tooltip.spellid == "1" then
hooksecurefunc(GameTooltip, "SetUnitAura", function(self, ...)
local aura = C_UnitAuras.GetAuraDataByIndex(unpack(arg))
if not aura then return end
local caster = aura.sourceUnit and UnitName(aura.sourceUnit)
if not caster and aura.sourceGUID then
caster = UnitNameFromGUID(aura.sourceGUID)
if C.tooltip.aurasource == "1" then
local caster = aura.sourceUnit and UnitName(aura.sourceUnit)
if not caster and aura.sourceGUID then
caster = UnitNameFromGUID(aura.sourceGUID)
end
if caster and caster ~= "" then
local classToken
if aura.sourceUnit and UnitIsPlayer(aura.sourceUnit) then
classToken = UnitClassBase(aura.sourceUnit)
elseif aura.sourceGUID then
classToken = select(2, GetPlayerInfoByGUID(aura.sourceGUID))
end
if classToken then
caster = PFUI_CLASS_COLORS[classToken]:WrapTextInColorCode(caster)
end
self:AddLine(T["Cast by"] .. ": " .. caster, .25,.5,1)
end
end
if C.tooltip.spellid == "1" then
self:AddLine(T["SpellID"] .. ": " .. aura.spellId, .25,.5,1)
end
if not caster or caster == "" then return end
self:AddLine(T["Cast by"] .. ": " .. caster, .7, .7, 1)
self:Show()
end)
end
+23 -90
View File
@@ -3,56 +3,15 @@ pfUI:RegisterModule("tracking", function ()
MINIMAP_TRACKING_FRAME:UnregisterAllEvents()
MINIMAP_TRACKING_FRAME:Hide()
local function HasEntries(tbl)
for _ in pairs(tbl) do
return true
end
return nil
end
local rawborder, border = GetBorderSize()
local size = tonumber(C.appearance.minimap.tracking_size)
local pulse = C.appearance.minimap.tracking_pulse == "1"
-- Tracking spells identified by SpellID + expected icon path.
-- SpellID is the primary identifier (stable, locale-independent).
-- Icon path is used as secondary confirmation when scanning the spellbook.
local knownTrackingSpells = {
any = {
{ id = 2481, icon = "Racial_Dwarf_FindTreasure" }, -- Find Treasure
{ id = 2580, icon = "Spell_Nature_Earthquake" }, -- Find Minerals
{ id = 2383, icon = "INV_Misc_Flower_02" }, -- Find Herbs (Rank 1)
{ id = 8387, icon = "INV_Misc_Flower_02" }, -- Find Herbs (Rank 2)
{ id = 52917, icon = "INV_TradeSkillItem_03" }, -- Find Trees (TurtleWow)
},
HUNTER = {
{ id = 1494, icon = "Ability_Tracking" }, -- Track Beasts
{ id = 19883, icon = "Spell_Holy_PrayerOfHealing" }, -- Track Humanoids
{ id = 19884, icon = "Spell_Shadow_DarkSummoning" }, -- Track Undead
{ id = 19885, icon = "Ability_Stealth" }, -- Track Hidden
{ id = 19880, icon = "Spell_Frost_SummonWaterElemental" }, -- Track Elementals
{ id = 19878, icon = "Spell_Shadow_SummonFelHunter" }, -- Track Demons
{ id = 19882, icon = "Ability_Racial_Avatar" }, -- Track Giants
{ id = 19879, icon = "INV_Misc_Head_Dragon_01" }, -- Track Dragonkin
},
PALADIN = {
{ id = 5502, icon = "Spell_Holy_SenseUndead" }, -- Sense Undead
},
WARLOCK = {
{ id = 5500, icon = "Spell_Shadow_Metamorphosis" }, -- Sense Demons
},
DRUID = {
{ id = 5225, icon = "Ability_Tracking" }, -- Track Humanoids (Cat Form only)
},
}
-- Build a flat lookup: spellId -> entry, for fast spellbook matching
local spellIdLookup = {}
for _, entries in pairs(knownTrackingSpells) do
for _, entry in ipairs(entries) do
spellIdLookup[entry.id] = entry
end
end
-- Tracking spells come from ClassicAPI's native GetNumTrackingTypes /
-- GetTrackingInfo (see the DLL's docs/API.md "Tracking"). The DLL
-- enumerates them straight from the spellbook by tracking-aura effect,
-- so there is no spell table to maintain here and server-custom trackers
-- (e.g. Turtle's Find Trees) are picked up automatically.
local state = {
texture = nil,
@@ -128,50 +87,24 @@ pfUI:RegisterModule("tracking", function ()
end)
function pfUI.tracking:RefreshSpells()
local playerClass = UnitClassBase("player")
local isCatForm = pfUI.tracking:PlayerIsDruidInCatForm(playerClass)
state.spells = {}
if not GetNumTrackingTypes then return end
-- Build set of valid SpellIDs for this class
local validIds = {}
for _, entry in ipairs(knownTrackingSpells.any) do
validIds[entry.id] = true
end
if knownTrackingSpells[playerClass] then
for _, entry in ipairs(knownTrackingSpells[playerClass]) do
validIds[entry.id] = true
end
end
-- Druid Track Humanoids (5225) only casts in Cat Form. Hide it out of
-- form so the menu never offers a tracker that would fail to cast.
local isCatForm = pfUI.tracking:PlayerIsDruidInCatForm(UnitClassBase("player"))
-- Druids only get Track Humanoids in Cat Form
if playerClass == "DRUID" and not isCatForm then
validIds[5225] = nil
end
-- Scan spellbook: match by icon path, confirm SpellID is valid for this class
for tabIndex = 1, GetNumSpellTabs() do
local _, _, offset, numSpells = GetSpellTabInfo(tabIndex)
for spellIndex = offset + 1, offset + numSpells do
local spellTexture = GetSpellTexture(spellIndex, BOOKTYPE_SPELL)
local spellName = GetSpellName(spellIndex, BOOKTYPE_SPELL)
if pfUI.tracking.invalidSpells[spellName] then
spellTexture = nil
end
if spellTexture then
local lowerTexture = string.lower(spellTexture)
for spellId, entry in pairs(spellIdLookup) do
if validIds[spellId] and not state.spells[spellId]
and strfind(lowerTexture, string.lower(entry.icon)) then
state.spells[spellId] = {
index = spellIndex,
name = spellName,
texture = spellTexture,
spellId = spellId,
}
end
end
end
for i = 1, GetNumTrackingTypes() do
local name, texture, _, _, spellId = GetTrackingInfo(i)
local castable = not (spellId == 5225 and not isCatForm)
if name and texture and castable
and not pfUI.tracking.invalidSpells[name] then
state.spells[i] = {
index = i, -- tracking index, passed to SetTracking()
name = name,
texture = texture,
spellId = spellId,
}
end
end
end
@@ -187,7 +120,7 @@ pfUI:RegisterModule("tracking", function ()
elseif not texture then
state.texture = nil
if pulse and HasEntries(state.spells) then
if pulse and next(state.spells) ~= nil then
pfUI.tracking.pulse = true
pfUI.tracking.icon:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark")
pfUI.tracking.icon:SetVertexColor(1,1,1,1)
@@ -217,7 +150,7 @@ pfUI:RegisterModule("tracking", function ()
checked = spell.texture == state.texture,
arg1 = spell,
func = function (arg1)
CastSpell(arg1.index, BOOKTYPE_SPELL)
SetTracking(arg1.index)
CloseDropDownMenus()
end
})
+12 -3
View File
@@ -134,7 +134,7 @@ pfUI:RegisterModule("unitxp", function ()
end
this.text:SetTextColor(r, g, b, 1)
this.text:SetText(string.format("%.1f%s", distance, suffix))
this.text:SetFormattedText("%.1f%s", distance, suffix)
this.text:Show()
end)
@@ -169,6 +169,9 @@ pfUI:RegisterModule("unitxp", function ()
local throttle = 0
local scanner = CreateFrame("Frame")
-- expose the poller frame so PLAYER_LOGOUT can stop its UnitXP OnUpdate
-- (it lives on this separate frame, not on distanceIndicator) -> crash 132
pfUI.uf.target.distanceScanner = scanner
scanner:SetScript("OnUpdate", function()
throttle = throttle + arg1
if throttle < 0.05 then return end
@@ -203,7 +206,7 @@ pfUI:RegisterModule("unitxp", function ()
end
f.text:SetTextColor(r, g, b, 1)
f.text:SetText(string.format("%.1f%s", distance, suffix))
f.text:SetFormattedText("%.1f%s", distance, suffix)
end)
end
pfUI.uf.target.distanceIndicator = pfRangeDisplay
@@ -236,6 +239,10 @@ pfUI:RegisterModule("unitxp", function ()
if pfUI.uf.target.distanceIndicator then
pfUI.uf.target.distanceIndicator:SetScript("OnUpdate", nil)
end
-- free-frame mode polls from its own scanner frame, not the indicator
if pfUI.uf.target.distanceScanner then
pfUI.uf.target.distanceScanner:SetScript("OnUpdate", nil)
end
end
return
end
@@ -268,7 +275,9 @@ pfUI:RegisterModule("unitxp", function ()
-- Also notify on BG queue pop
local origBattlefieldPortShow = BattlefieldFrame_Show
if origBattlefieldPortShow then
BattlefieldFrame_Show = function()
-- pfUI.env has __index but no __newindex, so a bare global assignment
-- inside a RegisterModule closure never leaves the sandbox
_G.BattlefieldFrame_Show = function()
pcall(UnitXP, "notify", "taskbarIcon")
pcall(UnitXP, "notify", "systemSound")
return origBattlefieldPortShow()
+3 -3
View File
@@ -236,7 +236,7 @@ end
local xpperc = round(xp / xpmax * 100)
local experc = ex and round(ex / xpmax * 100) or 0
if ex then text = "%s: %s%% (%s%% %s)" end
self.bar.text:SetText(string.format(text, T["Experience"], xpperc, experc, T["Rested"]))
self.bar.text:SetFormattedText(text, T["Experience"], xpperc, experc, T["Rested"])
self.tick = GetTime() + self.timeout
if event == "UPDATE_EXHAUSTION" and GameTooltip:IsOwned(self) then
@@ -254,7 +254,7 @@ end
local text = "%s: %s%%"
local xpperc = nextXP and nextXP ~= 0 and round(currXP / nextXP * 100) or 0
self.bar.text:SetText(string.format(text, T["Pet Experience"], xpperc))
self.bar.text:SetFormattedText(text, T["Pet Experience"], xpperc)
self.tick = GetTime() + self.timeout
return
@@ -282,7 +282,7 @@ end
local text = "%s: %s%% (%s)"
local perc = round(barValue / barMax * 100)
local standing = GetText("FACTION_STANDING_LABEL"..standingID, gender)
self.bar.text:SetText(string.format(text, name, perc, standing))
self.bar.text:SetFormattedText(text, name, perc, standing)
self.tick = GetTime() + self.timeout
return
+32 -10
View File
@@ -23,7 +23,7 @@ do
-- ClassicAPI dependency check.
-- pfUI relies pervasively on the modern C_* / SuperWoW / nameplate / focus
-- API surface that ClassicAPI polyfills, so presence is required.
local PFUI_CLASSIC_API_MIN = 10903 -- (X*10000 + Y*100 + Z)
local PFUI_CLASSIC_API_MIN = 11204 -- (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"
@@ -86,14 +86,13 @@ do
end
end
-- initialize saved variables
pfUI_playerDB = {}
pfUI_config = {}
pfUI_init = {}
pfUI_profiles = {}
pfUI_addon_profiles = {}
pfUI_cache = {}
pfUI_throttle = {}
pfUI_playerDB = pfUI_playerDB or {}
pfUI_config = pfUI_config or {}
pfUI_init = pfUI_init or {}
pfUI_profiles = pfUI_profiles or {}
pfUI_addon_profiles = pfUI_addon_profiles or {}
pfUI_cache = pfUI_cache or {}
pfUI_throttle = pfUI_throttle or {}
-- localization
pfUI_locale = {}
@@ -110,6 +109,14 @@ pfUI.movables = {}
pfUI.version = {}
pfUI.env = {}
-- Capability flag: this fork's pfActionBar buttons correctly handle the modern
-- HookScript widget method, so ClassicAPI's AddOnCompat shim must NOT shadow
-- HookScript during actionbar load (older forks branch on `if button.HookScript`
-- and take a modern path they were never written for). This describes behavior,
-- not identity: a fork that keeps the HookScript-correct actionbar code keeps
-- the flag; one that lacks it should drop the flag and get the safe fallback.
pfUI.handlesHookScript = true
if not pfUI.disabled then
pfUI.events = Mixin({}, CallbackRegistryMixin)
pfUI.events:OnLoad()
@@ -292,6 +299,21 @@ function pfUI:GetEnvironment()
pfUI.env.C = pfUI_config
pfUI.env.pfUI_throttle = _G.pfUI_throttle
pfUI.env.L = (pfUI_locale[GetLocale()] or pfUI_locale["enUS"])
pfUI.env.L["class"] = pfUI.env.L["class"] or tInvert(LOCALIZED_CLASS_NAMES_MALE)
if not pfUI.env.L["race"] then
pfUI.env.L["race"] = {}
local i = 1
local raceInfo = C_CreatureInfo.GetRaceInfo(i)
while raceInfo ~= nil do
pfUI.env.L["race"][raceInfo.clientFileString] = {
raceName = raceInfo.raceName,
raceID = raceInfo.raceID,
faction = C_CreatureInfo.GetFactionInfo(i).groupTag,
}
i = i + 1
raceInfo = C_CreatureInfo.GetRaceInfo(i)
end
end
return pfUI.env
end
@@ -554,4 +576,4 @@ function pfUI.SetupCVars()
COMBAT_TEXT_SHOW_HONOR_GAINED = "1"
end
UIParentLoadAddOn("Blizzard_CombatText")
end
end
-1
View File
@@ -6,7 +6,6 @@
## Version: @project-version@
## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache, pfUI_throttle
## SavedVariablesPerCharacter: pfUI_config, pfUI_init, pfUI_playerDB
## Dependencies: !!!ClassicAPI
## X-Website: https://github.com/brues-code/pfUI
pfUI.lua
+2 -3
View File
@@ -295,9 +295,8 @@ pfUI:RegisterSkin("Character", function ()
if faction and faction.reaction and faction.reaction < 8 then
local repLeft = faction.nextReactionThreshold - faction.currentStanding
if repLeft > 1 then
local text = standing:GetText() .. string.format(" (%d)", repLeft)
standing:SetText(text)
standing:GetParent().standingText = text
standing:SetFormattedText("%s (%d)", standing:GetText(), repLeft)
standing:GetParent().standingText = standing:GetText()
end
end
end
+1 -1
View File
@@ -125,7 +125,7 @@ pfUI:RegisterSkin("Inspect", function ()
local guild, title = GetGuildInfo(InspectFrame.unit)
if guild then
InspectGuildText:SetPoint("TOP", InspectLevelText, "BOTTOM", 0, -1)
InspectGuildText:SetText(format(TEXT(GUILD_TITLE_TEMPLATE), title, guild))
InspectGuildText:SetFormattedText(TEXT(GUILD_TITLE_TEMPLATE), title, guild)
InspectGuildText:Show()
else
InspectGuildText:SetText("")