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
*.zip filter=lfs diff=lfs merge=lfs -text

View File

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