Commit Graph
48 Commits
Author SHA1 Message Date
Brues 5224d02572 Drive the loss of control alert by events alone
The 0.1s rescan only caught timers that change without a loss of control
event: a refreshed debuff fires UNIT_AURA, and a second kick on a locked
school fires SPELL_UPDATE_COOLDOWN, after ClassicAPI has read the lockout
from the packet. The alert listens to both while it shows. pfUI's
cooldown text prints the time left on the icon, so the alert's own
countdown and LOSS_OF_CONTROL_SECONDS go.
2026-10-30 23:23:17 -05:00
Brues f56720dccc Add a loss of control alert
A movable alert in the middle of the screen for the strongest active
effect from C_LossOfControl: icon, cooldown sweep, the effect's name and
the seconds left. A school lockout reads "<School> Locked". It opens on
LOSS_OF_CONTROL_ADDED / _UPDATE and rescans every 0.1s while shown,
because a refreshed debuff or a second kick changes the timer without an
event.

The labels are Classic Era's LOSS_OF_CONTROL_DISPLAY_* GlobalStrings,
added to each locale file. The README lists the alert and the dressing
room controls.
2026-10-30 23:16:20 -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
Brues 25ef02705c Remove dead totems and critters locale tables
Nameplate totem/critter detection now uses UnitCreatureTypeID instead of
name-matching, so the L["totems"] and L["critters"] tables have no remaining
readers. Drop them from every locale file.
2026-08-09 03:17:00 -05:00
Brues 439d5a397a eqcompare: numeric InventoryType lookup, drop bagtypes/itemtypes locales
Both sub-tables carried per-locale strings only so pfUI's own code could
match against localized text. ClassicAPI's numeric item APIs replace
both:

- GetBagFamily now reads classID/subClassID from C_Item.GetItemInfoInstant
  and switches on the numbers (class 1 = Container, class 11 = Quiver).
- eqcompare pulls the itemID from GameTooltip:GetItem(), fetches the
  numeric invType via C_Item.GetItemInventoryTypeByID, and looks up the
  destination slot(s) in a numeric slotTable keyed by Enum.InventoryType.
  Pair-slot invtypes (finger / trinket / one-hand weapon) list both
  destinations directly, so the "_other" string-concat hack is gone.

Removes the setglobal INVTYPE_* injection, the tooltip text scan, and
the itemtypes + bagtypes locale sub-tables across all 7 files.
2026-07-01 15:43:03 -05:00
Brues 5524ad3b91 locales: strip 4 dead sub-tables (hunterpaging, interrupts, spells, icons)
Audited every consumer of pfUI_locale[*][key] across the codebase. Four
sub-tables have no non-locale-file readers left:

  - hunterpaging  — old auto-page trigger removed
  - interrupts    — replaced by Nampower SPELL_INTERRUPTED events
  - spells        — replaced by ClassicAPI Spell.dbc lookups
  - icons         — replaced by ClassicAPI C_Spell.GetSpellName / icon path

Removed the entries from all 7 locale files. ~18k dead lines gone,
~70% shrink per file.
2026-07-01 12:13:25 -05:00
shagu 0e81de4dc2 locales: escape quotes in ruRU locale 2024-11-04 13:17:45 +01:00
shagu 5f62acacb1 libpredict: convert strings into locale tables 2024-11-04 12:25:03 +01:00
shagu 0f8ad4c75f env: add spell icon database to locales 2023-01-27 20:08:33 +01:00
@_@ 31be3ded16 libdebuff: add rank based kidney shot duration 2022-11-27 16:55:43 +01:00
shagu d2b0409616 env: add cone of cold debuff durations 2021-10-07 15:36:25 +02:00
shagu 9e0e1c5076 env: add icon names to totem lists 2020-10-17 12:30:02 +02:00
shagu 96ad072478 libdebuff: add hit handler for paladin judgements 2019-05-12 22:22:18 +02:00
shagu fdce950e99 libdebuff: add support for improved gouge 2018-10-29 12:48:25 +01:00
shagu e8538b3b77 prediction: send healcomm compatible predictions 2018-08-25 16:52:57 +02:00
shagu f39d84a9b8 locales: fix missing localized strings 2018-04-09 19:28:18 +02:00
shagu af8fc72819 locales: add maxrank debuff shortcuts 2018-04-08 20:53:03 +02:00
shagu ea17079ad2 locales: update debuff tables 2018-04-08 19:04:24 +02:00
shagu c9658cdc27 debuffs: add support for dynamic debuff durations 2018-04-05 18:36:13 +02:00
shagu e83e1948ce debuffs: add new debuff detection 2018-04-05 14:32:43 +02:00
shagu 7e8f2fbb4c rangecheck: rewrite of the 40y range check
* remove the bad notice in GUI
* set default interval to "2"
* prevent all frames of being updated at once
* refresh one unit after the other
* use textures insted of spellnames
* change interval settings to dropdown
* remove no longer required locales
2017-12-31 17:41:18 +01:00
shagu 8e04724e72 locales: update ruRU
updated to version 2017-11-23: https://wowruru.github.io/changelog/2017-11-23.html
2017-11-24 21:47:48 +01:00
shagu 39db877d9e locales: add totem names 2017-11-18 01:39:58 +01:00
Artur91425 4c280fe136 translations: update ruRU 2017-10-12 20:06:04 +02:00
shagu 0526bf9e33 eqcompare: simplify projectile slot 2017-09-24 18:26:24 +02:00
shagu 09bbfa93a3 locales: switch to fully autogenerated files 2017-09-24 18:10:05 +02:00
Artur91425 70c3ce12e8 translations: update ruRU 2017-08-20 16:12:47 +02:00
shagu 2666799ad8 debuffs: add initial timers 2017-07-17 12:45:26 +02:00
shagu b39337c61e castbar: add new interrupt spells 2017-07-16 15:03:14 +02:00
shagu 3b6d4b910f nameplates: rewrite 2017-07-02 22:39:06 +02:00
shagu 0b3e9df0d9 unitframes: add 40y-rangecheck 2017-06-02 18:01:50 +02:00
shagu d631626662 autoshift: use locale independent checks 2017-04-23 14:06:11 +02:00
shagu 6e26336d36 api: rework of locale system 2017-02-26 21:29:27 +01:00
shagu 51974f23c0 castbar: add support for aimed- and multishot 2017-02-26 17:18:17 +01:00
shagu 4b5926d9b8 castbar: use locale independent combat log parsing 2017-02-05 00:11:53 +01:00
shagu a78e508262 hunterbar: use wingclip instead of raptorstrike 2016-12-30 13:31:48 +01:00
shagu dc3c89b3ad hunterbar: add range based auto paging 2016-12-30 05:36:40 +01:00
shagu c1e1ac4f72 env: update ruRU translations 2016-12-27 13:24:38 +01:00
KasVital 2b2cf6f58b env: update ruRU translations 2016-12-26 21:30:14 +01:00
KasVital fc2a0fe001 env: update ruRU translations 2016-12-24 11:44:16 +01:00
KasVital 9a6096089d env: add ruRU translations 2016-12-21 22:26:46 +01:00
shagu 79e771c79d eqcompare: add equip compare tooltips 2016-12-21 14:07:34 +01:00
shagu 476ef1b013 show colors for quivers, profession-, and soulbags 2016-10-22 15:03:26 +02:00
shagu f55eb8b9be multi-locale support for autoshift 2016-08-15 20:41:24 +02:00
shagu cc641e1239 fix missing commas in lists 2016-08-08 00:04:23 +02:00
shagu 479c4ed924 add initial version of target castbar 2016-08-07 23:58:28 +02:00
shagu 815a210ad9 add several class and spell locales
locales for: enUS, frFR, deDE, zhCN, ruRU
2016-08-07 01:55:10 +02:00