PepeBuddy

Adds a customizable Pepe to your UI who can perch on your meters or chat window while you play.

File Details

release-12.0.1-rc1

  • R
  • Feb 24, 2026
  • 155.88 KB
  • 103
  • 12.0.1+1
  • Retail

File Name

PepeBuddy-release-12.0.1-rc1.zip

Supported Versions

  • 12.0.1
  • 12.0.0
Refactor addon into modules and stabilize perch rendering/settings flow

- Split addon into focused modules and keep bootstrap minimal:
  - `PepeBuddy.lua` now handles core metadata + lifecycle/init only
  - Added `Config/Database.lua` for saved variables defaults/setup
  - Added `Config/Options.lua` for AceConfig + minimap/settings wiring
  - Added `Data/Pepes.lua` for Pepe data definitions
  - Moved perch UI/model logic into `Frames/Perch.lua`
- Updated `PepeBuddy.toc` load order to reflect modular structure
- Renamed `Frames/perch.lua` -> `Frames/Perch.lua`

Settings / minimap fixes:
- Fixed minimap click handler to open addon settings via `OpenSettings()`
- Fixed Retail settings open flow by storing AceConfig category ID:
  - capture both return values from `AddToBlizOptions`
  - use `Settings.OpenToCategory(optionsCategoryID)` with fallback support

Perch behavior + persistence:
- Added persistent selected Pepe setting (`profile.selectedPepe`)
- Added public perch API:
  - `SetPerchPepe(index)`
  - `GetSelectedPepe()`
- Added options dropdown (`Perch Pepe`) bound to saved selection
- Ensure saved selection is applied on initialization and when frame is shown
- Show perch in `OnEnable`, hide perch in `OnDisable`
- Added reload-safe refresh logic for model/kit application:
  - event-driven refresh cycle using valid events
  - removed invalid `PLAYER_MODEL_CHANGED` registration
  - retained bounded retry behavior for early model-load timing edge cases

Data model updates:
- Kept `pb.feathers` as separate data entry
- Removed `pb.GetPerchVariants` helper
- Ensured settings dropdown and perch selection target only `pb.pepes`
  (Feathers excluded from dropdown as requested)