MoveAltPower

MoveAltPower hides Blizzard's fixed Alternate Power Bar (PlayerPowerBarAlt) and replaces it with a clean, lightweight StatusBar that you can move, resize, and style freely. Includes smooth animations and profiles!

File Details

MoveAltPower.zip

  • R
  • Jun 22, 2026
  • 6.87 KB
  • 6
  • 5.5.4
  • MoP Classic

File Name

MoveAltPower.zip

Supported Versions

  • 5.5.4

# Changelog

Todas as mudanças relevantes deste addon são documentadas aqui.
O formato segue o [Keep a Changelog](https://keepachangelog.com/pt-BR/1.1.0/)
e o projeto usa [Versionamento Semântico](https://semver.org/lang/pt-BR/).

## [3.2.0] - 2026-06-21

### Adicionado
- **Suporte a múltiplos idiomas.** O addon agora exibe os textos em **inglês por
  padrão** e em **português (ptBR)** quando o cliente está nesse idioma
  (`GetLocale() == "ptBR"`). Cobre todo o painel de configuração (separadores,
  checkboxes, notas, botões, labels dos sliders) e todas as mensagens dos slash
  commands.
- Tabela de localização `L` no topo do `MoveAltPower.lua`, com fallback via
  `__index`: as chaves são o próprio texto em inglês, então se faltar alguma
  tradução o addon volta para o inglês sem quebrar.

### Mantido
- Strings que não dependem de idioma permanecem como estão: o nome do addon
  (`MoveAltPower`), os labels `X:`/`Y:`, os números dos sliders e o texto da
  própria barra (nome do poder + porcentagem, vindo do jogo).

## [3.1.0] - 2026-06-20

### Adicionado
- **Preenchimento suave** (estilo ElvUI): em vez de saltar para o novo valor, a
  barra interpola até ele a cada frame (`OnUpdate`), parando ao chegar perto do
  alvo. O modo de teste continua aplicando o valor de exemplo instantaneamente.
- **Realce no modo de teste:** a borda da barra fica **dourada** enquanto o modo
  de teste está ligado (destravada) e volta a **preta** ao sair (travada),
  indicando visualmente quando o arraste está liberado.

### Alterado
- **Barra travada por padrão.** O arraste agora só é liberado no **modo de
  teste** (`/mpa test` ou botão no painel). Fora dele, a posição muda apenas
  pelas coordenadas (campos do painel ou `/mpa size`/comandos). Implementado com
  `SetMovable(false)` por padrão e `SetMovable(true)` ao entrar no modo de teste;
  o `OnMouseDown` já respeitava `IsMovable()`.
- Textos do painel atualizados (subtítulo e nota do modo de teste) para refletir
  que o arraste depende do modo de teste.

### Mantido
- Opção de **artwork do botão de ação extra** (`ExtraActionButton1`) permanece no
  painel e via `eabArtwork`.

## [3.0.0] - 2026-06-20

Reescrita da abordagem da barra, inspirada no ElvUI
(`Blizzard/AltPower.lua`): em vez de mover/redimensionar a barra nativa da
Blizzard, o addon agora esconde a barra original e desenha a sua própria.

### Corrigido
- **Preenchimento só aparecia em 100% ao redimensionar.** Causa: a
  `PlayerPowerBarAlt` da Blizzard calcula a largura do `fill` como
  `GetWidth() * fillAmount`, mas a artwork tem tamanho fixo em pixels e não
  acompanha `SetSize`, descasando o preenchimento da moldura. Resolvido ao
  parar de redimensionar a barra nativa e usar uma `StatusBar` própria
  (`SetMinMaxValues` + `SetValue`), que escala corretamente em qualquer valor.

### Adicionado
- **Barra própria** (`MoveAltPowerBar` dentro de `MoveAltPowerHolder`): moldura
  com borda/fundo e textura de cor, totalmente controlada pelo addon.
- **Texto na barra** com nome do poder + porcentagem (ex.: `Influência
  Celestial  70%`), sempre visível, centralizado horizontal e verticalmente e
  limitado à largura da barra (sem quebra de linha, trunca se não couber).
  Toggle no painel ("Mostrar texto na barra") e via `/mpa value`.
- **Tooltip** ao passar o mouse, com nome e descrição do poder
  (`GetUnitPowerBarStrings`), como na barra nativa.
- **Modo de teste** (`/mpa test` e botão no painel): mostra a barra com um valor
  de exemplo para posicionar/dimensionar mesmo sem poder alternativo ativo.
- Comando `/mpa value` (aliases `percent`/`text`) para mostrar/ocultar o texto.

### Alterado
- A barra agora é **sempre movível** (arraste com o botão esquerdo a qualquer
  momento, inclusive em combate). *(Trava opcional planejada para versão
  futura: mover apenas no modo de teste ou via coordenadas.)*
- Leitura do poder via eventos `UNIT_POWER_UPDATE`, `UNIT_MAXPOWER`,
  `UNIT_POWER_BAR_SHOW/HIDE` e `PLAYER_ENTERING_WORLD`, lendo
  `UnitPower`/`UnitPowerMax` com `ALTERNATE_POWER_INDEX`.
- A barra nativa `PlayerPowerBarAlt` é mantida escondida
  (`UnregisterAllEvents` + `Hide`, com hook em `UnitPowerBarAlt_SetUp`).
- O antigo frame de "preview" azul foi substituído pelo modo de teste, que
  arrasta a própria barra.
- `.toc`: versão `2.0` → `3.0`; notas atualizadas para refletir a barra própria
  (mover, redimensionar, porcentagem).

### Removido
- Toggle de "artwork da Blizzard" (bordas/decorações) — não se aplica mais, já
  que a barra nativa não é mais usada. Substituído pelo toggle de texto.
- Comando `/mpa artwork`.
- Captura/persistência do tamanho original da barra nativa (`realW`/`realH`) e o
  frame de preview separado.

### Limpeza interna
- Removida inicialização redundante da `StatusBar`, a função `ApplyValue`
  (wrapper de `UpdateBar`) e uma guarda desnecessária em `SavePosition`.
- Corrigidos textos do painel que ficaram desatualizados após a barra virar
  sempre-movível.

## [2.0.0]

- Versão anterior: reposicionava e redimensionava a barra nativa
  `PlayerPowerBarAlt` (Influência Celestial), com perfis global/por personagem,
  painel de configuração, posição manual e toggles de artwork.