8 Commits
2.0.0 ... 2.0

Author SHA1 Message Date
faa156e527 Use LFS idiot 2024-12-27 16:18:43 +01:00
cab0a68cc1 Release 2024-12-27 15:52:15 +01:00
3227ed2d61 Update deploy script 2024-12-27 15:52:13 +01:00
62ba56419d Update readme with download link 2024-12-27 15:50:51 +01:00
acbbe1637d Translate into russian as well 2024-12-27 15:42:44 +01:00
0659493aad Add README 2024-12-27 15:39:39 +01:00
85cb445e8e Add 1s timer to remove buffs 2024-12-22 14:24:15 +01:00
c75700cb76 Code polish 2024-12-21 11:09:12 +01:00
5 changed files with 123 additions and 7 deletions

1
.gitattributes vendored
View File

@@ -1 +1,2 @@
.zip filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text

View File

@@ -1,6 +1,10 @@
local addonname, shared = ...
---@cast addonname string
---@class shared
---@field timer number?
shared = { timer = nil }
---@class DechickenatorData
---@field alerts table<string, Alert>
@@ -8,11 +12,11 @@ local addonname, shared = ...
---| 'BUFF'
---| 'DEBUFF'
--/dechicken a:Greater Blessing of Kings;B;R;e:spit;m:cuntfucker;c:SAY
--/dechicken a:Greater Blessing of Kings;B;R;e:spit;m:cuntfucker
--/dechicken a:Greater Blessing of Kings;R;e:spit;m:cuntfucker %s;c:SAY
--/dechicken a:Greater Blessing of Kings;R;e:spit;m:cuntfucker
--/dechicken a:Greater Blessing of Kings;B;R;m:cuntfucker
--/dechicken a:Greater Blessing of Kings;R
--/dechicken a:Greater Blessing of Kings;R;e:spit;m:cuntfucker
--/dechicken a:Greater Blessing of Kings;R;m:cuntfucker
--/dechicken a:Turkey Feathers;R;e:laugh
---@class Alert
---@field message string?
---@field channel string?
@@ -21,10 +25,28 @@ local addonname, shared = ...
---@field spellName string
---@field remove boolean?
--/run Dechickenator_Data = nil
--/run Dechickenator_Data = {alerts={}}
if not Dechickenator_Data then Dechickenator_Data = {} end
if not Dechickenator_Data.alerts then Dechickenator_Data.alerts = {} end
local function init()
local function RemoveBuff(buff)
if UnitAffectingCombat("player") then return end
CancelUnitBuff("player", buff)
end
local function RemoveBuffs()
if UnitAffectingCombat("player") then return end
for buff, enabled in pairs(Dechickenator_Data.alerts) do
if enabled then
RemoveBuff(buff)
end
end
end
if not shared.timer then
shared.timer = C_Timer.NewTicker(1, function()
RemoveBuffs()
end)
end
local cleuFrame = CreateFrame("Frame")
cleuFrame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
cleuFrame:SetScript("OnEvent", function(self, event, ...)
@@ -50,7 +72,7 @@ local function init()
DoEmote(Dechickenator_Data.alerts[spellName].emote, source)
end
if Dechickenator_Data.alerts[spellName].remove then
CancelUnitBuff("player", spellName)
RemoveBuff(spellName)
end
end
end)

Binary file not shown.

89
README.md Normal file
View File

@@ -0,0 +1,89 @@
# Dechickenator
## Overview
Dechickenator is a World of Warcraft addon that provides flexible buff and aura management with custom alerts and actions.
## Versions
- **v1 (Master)**: Simple buff removal with predefined actions
- **v2.0**: More complex alert system with customizable actions
## Features
- Automatically remove unwanted buffs
- Create custom alerts for specific spell auras
- Send personalized chat messages when buffs are applied
- Perform custom emotes triggered by specific buffs
## Installation
1. Download the [addon](https://git.site.quack-lab.dev/dave/wow_dechickenator/raw/branch/2.0/Dechickenator.zip)
2. Extract the addon to your World of Warcraft `Interface/AddOns` directory
3. Ensure the addon is enabled in the character selection screen
## Usage
Use the `/dechicken` slash command to configure alerts with the following syntax:
### Command Structure
`/dechicken a:SpellName;[options]`
### Options
- `a:` - Spell/Aura name (required)
- `e:` - Emote to perform
- `m:` - Custom message to send (supports `%s` for source name)
- `c:` - Chat channel (default: SAY)
- `R` - Automatically remove the buff
### Examples
```
# Remove "Greater Blessing of Kings" and send a message
/dechicken a:Greater Blessing of Kings;R;m:No buffs please!
# Perform a laugh emote when "Turkey Feathers" is applied
/dechicken a:Turkey Feathers;e:laugh
# Send a custom message in YELL channel
/dechicken a:Some Buff;m:Hey %s, nice buff!;c:YELL
```
# Dechickenator; Ruski
## Обзор
Dechickenator - это аддон для World of Warcraft, обеспечивающий гибкое управление баффами и аурами с настраиваемыми оповещениями и действиями.
## Версии
- **v1 (Master)**: Простое удаление баффов с предустановленными действиями
- **v2.0**: Более сложная система оповещений с настраиваемыми действиями
## Возможности
- Автоматическое удаление нежелательных баффов
- Создание пользовательских оповещений для определённых аур заклинаний
- Отправка персонализированных сообщений в чат при получении баффов
- Выполнение пользовательских эмоций при срабатывании определённых баффов
## Установка
1. Скачайте [аддон](https://git.site.quack-lab.dev/dave/wow_dechickenator/raw/branch/2.0/Dechickenator.zip)
2. Распакуйте аддон в директорию World of Warcraft `Interface/AddOns`
3. Убедитесь, что аддон включен на экране выбора персонажа
## Использование
Используйте команду `/dechicken` для настройки оповещений со следующим синтаксисом:
### Структура команды
`/dechicken a:НазваниеЗаклинания;[опции]`
### Опции
- `a:` - Название заклинания/ауры (обязательно)
- `e:` - Эмоция для выполнения
- `m:` - Пользовательское сообщение (`%s` для имени источника)
- `c:` - Канал чата (по умолчанию: SAY)
- `R` - Автоматически удалять бафф
### Примеры
```
# Удалить "Великое благословение королей" и отправить сообщение
/dechicken a:Великое благословение королей;R;m:Не нужны баффы!
# Выполнить эмоцию смеха при получении "Индюшачьих перьев"
/dechicken a:Индюшачьи перья;e:laugh
# Отправить пользовательское сообщение в канал YELL
/dechicken a:Какой-то бафф;m:Эй %s, классный бафф!;c:YELL
```

View File

@@ -1 +1,5 @@
7z a Dechickenator.zip Dechickenator.toc Dechickenator.lua CLEUParser.lua
rm Dechickenator.zip
mkdir Dechickenator
cp *.lua *.toc Dechickenator
7z a Dechickenator.zip Dechickenator
rm -rf Dechickenator