7 Commits

Author SHA1 Message Date
5d3d77a397 Use LFS idiot 2024-12-27 16:18:31 +01:00
f0dcde4b23 Release 2024-12-27 15:52:44 +01:00
4d90fdb229 Update deploy script 2024-12-27 15:52:32 +01:00
30281c7e73 Add download link to readme 2024-12-27 15:50:26 +01:00
720a772dd1 Translate into russian too 2024-12-27 15:43:47 +01:00
9925be5e0b Add README 2024-12-27 15:39:18 +01:00
b1dd53d6d9 Add 1s timer to remove buffs 2024-12-22 14:20:18 +01:00
5 changed files with 111 additions and 2 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 blacklistedBuffs table<string, boolean>
@@ -8,6 +12,25 @@ if not Dechickenator_Data then Dechickenator_Data = {} end
if not Dechickenator_Data.blacklistedBuffs then Dechickenator_Data.blacklistedBuffs = {} end
if not Dechickenator_Data.message then Dechickenator_Data.message = "Индивидуум %s хочет поделиться своим истинным обликом" 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.blacklistedBuffs) 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, ...)
@@ -19,7 +42,7 @@ local function init()
if not Dechickenator_Data.blacklistedBuffs[spellName] then return end
local source = CLEUParser.GetSourceName(...)
local msg = string.format(Dechickenator_Data.message, tostring(source))
CancelUnitBuff("player", spellName)
RemoveBuff(spellName)
SendChatMessage(msg, "EMOTE")
DoEmote("spit", source)
end

Binary file not shown.

81
README.md Normal file
View File

@@ -0,0 +1,81 @@
# Dechickenator
## Overview
Dechickenator is a World of Warcraft addon that automatically manages unwanted buffs with custom messaging.
## Versions
- **v1 (Master)**: Simple buff removal with predefined actions
- **v2.0**: More complex alert system with customizable actions
## Features
- Automatically remove unwanted buffs
- Send custom emote messages when buffs are applied
- Perform "spit" emote on buff source
## Installation
1. Download the [addon](https://git.site.quack-lab.dev/dave/wow_dechickenator/raw/branch/master/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
### Toggling Blacklisted Buffs
Use `/dechicken BuffName` to add or remove a buff from the blacklist.
### Customizing Message
Use `/dechicken_message Your custom message with %s for source name`
### Examples
```
# Toggle "Greater Blessing of Kings" blacklist
/dechicken Greater Blessing of Kings
# Set a custom message
/dechicken_message %s thinks they're special!
```
## Default Behavior
- When a blacklisted buff is applied, it will be automatically removed
- An emote message will be sent (default: "Индивидуум %s хочет поделиться своим истинным обликом")
- A "spit" emote will be performed towards the buff source
# Dechickenator; Ruski
## Обзор
Dechickenator - это аддон для World of Warcraft, который автоматически управляет нежелательными баффами с настраиваемыми сообщениями.
## Версии
- **v1 (Master)**: Простое удаление баффов с предустановленными действиями
- **v2.0**: Более сложная система оповещений с настраиваемыми действиями
## Возможности
- Автоматическое удаление нежелательных баффов
- Отправка пользовательских эмоций при получении баффов
- Выполнение эмоции "плевок" в сторону источника баффа
## Установка
1. Скачайте [аддон](https://git.site.quack-lab.dev/dave/wow_dechickenator/raw/branch/master/Dechickenator.zip)
2. Распакуйте аддон в директорию World of Warcraft `Interface/AddOns`
3. Убедитесь, что аддон включен на экране выбора персонажа
## Использование
### Управление черным списком баффов
Используйте `/dechicken НазваниеБаффа` для добавления или удаления баффа из черного списка.
### Настройка сообщения
Используйте `/dechicken_message Ваше сообщение с %s для имени источника`
### Примеры
```
# Переключить "Великое благословение королей" в черном списке
/dechicken Великое благословение королей
# Установить пользовательское сообщение
/dechicken_message %s считает себя особенным!
```
## Поведение по умолчанию
- При получении баффа из черного списка он будет автоматически удален
- Будет отправлено сообщение с эмоцией (по умолчанию: "Индивидуум %s хочет поделиться своим истинным обликом")
- В сторону источника баффа будет выполнена эмоция "плевок"

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