Compare commits
7 Commits
62ba56419d
...
master
Author | SHA1 | Date | |
---|---|---|---|
5d3d77a397 | |||
f0dcde4b23 | |||
4d90fdb229 | |||
30281c7e73 | |||
720a772dd1 | |||
9925be5e0b | |||
b1dd53d6d9 |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -1 +1,2 @@
|
||||
.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
|
@@ -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
81
README.md
Normal 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 хочет поделиться своим истинным обликом")
|
||||
- В сторону источника баффа будет выполнена эмоция "плевок"
|
Reference in New Issue
Block a user