Prat 3.0
In loving memory of Jon Akthar (Sylvanaar)
Hello WoW community, I'm LuciferCatnip, Sylvanaar was my coworker and my mentor. It goes without saying that Jon was an amazingly talented individual. He always seemed to know everything... but he once said to me "It's not about knowing the answers, it's about asking the right questions", he always challenged me to ask me the right questions until I would arrive at the answer on my own terms. Jon was also a champion of the open source movement, and so with special thanks to Gil from Curseforge as well as Sylvanaar's family, there's no better way to honor Sylvanaar's legacy than to keep his project going strong in the community.
If you'd like to help maintain Prat, please reach out to MysticalOS or LuciferCatnip directly. Thank you so much.
About
Prat-3.0 is a chat enhancement addon for World of Warcraft.
It is made up of 30+ smaller "modules" which each provide additional functionality, and can be enabled or disabled individually.
In game, type /prat for a menu. Or use the icon on one of the many data broker hosts.
Prat has just about every feature you can think of, and then some. Really. When I get some more time, I'll try and put together a full list (Even I have lost count)
(Thanks to Dreamsight for this partial list)
- Sync your chat settings across your account (Beta)
- AI powered spam filter (Beta)
- Change arrows, buttons, mouse scroll for chat scroll, scroll speed
- you can add player color per channel, color per level, color per class
- timestamps (styled)
- whether to show timestamp (what format the timestamp should be in)
- whether to show players level
- you can select the option for channel "stickys" (last channel you used you auto use when hitting enter, that sort of thing – or last thing someone said)
- change the looks of the chat's editbox - as well as where it appears (you can even undock it and move it to where you'd like it to be)
- chat fading, fading delay
- You can change the font to a list of fonts, add an outline to it, monochrome it (if you don’t mind messing with files a bit you could probably even add other fonts to that list)
- change the chat frame/chat box appearance
- Keep chat history between game sessions
- Set channel abbreviations
- set brackets and color(or something instead of brackets)round player/lvl
- alt invite option (press keyboard “alt” button and click on the player’s name to auto inv them)
- raid icon
- invite links - click them to invite the person
- URL copying
- Full chat copying + copy button
- Click timestamp to copy line
- Configurable alerts when your name or other word is mentioned
- enables tell target /tt which whispers your target
- Alias options - make macros into short commands
- See names of players Alt characters
- change chat sounds (incoming and outgoing as well as per channel)
- Achievements info and grats
- Full chat search and search box
- Customizable filters for advanced users
- Show item icon next to item links and player class icon next to player names
- Icon-only options for newcomers chat
- Optional flashing or font color change for chat tabs when a new message comes in.
You can enable/disable all Prat modules - don't have to have the ones you don't use running
While trying to reduce resource utilization, it is also important to note that some people prefer the features, and don't care that an addon uses 500k more.
Try with the new version 3.6.3 and let me know if you still have issues
Still getting lockups w/ errors. Not sure if it's just coincidence, but I had much more errors in the 2 fights I tested it on. Had probably 10 lockups or so on a single attempt, which is more than I've had happen previously.
Here's one of the errors. There were a lot of different ones occuring, which I'm pretty sure wasn't happening before. Anyhow, here it is:
Message: ...e\AddOns\Blizzard_DebugTools\Blizzard_DebugTools.lua:535: script ran too long
Time: 12/16/15 22:20:22
Count: 18
Stack: ...e\AddOns\Blizzard_DebugTools\Blizzard_DebugTools.lua:535: in function `ScriptErrorsFrame_OnError'
[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:4>
[C]: in function `RAID_CLASS_COLORS'
Interface\AddOns\Prat-3.0\services\chatsections.lua:607: in function `SplitChatMessage'
Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
(tail call): ?
Interface\FrameXML\ChatFrame.lua:2721: in function `ChatFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
Locals: message = "Interface\AddOns\Prat-3.0\services\chatsections.lua:607: attempt to call field 'RAID_CLASS_COLORS' (a table value)"
warnType = nil
keepHidden = nil
stack = "Interface\AddOns\Prat-3.0\services\chatsections.lua:607: in function `SplitChatMessage'
Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
(tail call): ?
Interface\FrameXML\ChatFrame.lua:2721: in function `ChatFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
"
messageStack = "Interface\AddOns\Prat-3.0\services\chatsections.lua:607: attempt to call field 'RAID_CLASS_COLORS' (a table value)Interface\AddOns\Prat-3.0\services\chatsections.lua:607: in function `SplitChatMessage'
Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
(tail call): ?
Interface\FrameXML\ChatFrame.lua:2721: in function `ChatFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
"
index = 1
(*temporary) = <table> {
1 = "frame = ChatFrame10 {
0 = <userdata>
isUninteractable = false
flashTimer = 0
isInitialized = 1
PageUp = <function> defined =[C]:-1
ScrollUp = <function> defined =[C]:-1
PageDown = <function> defined =[C]:-1
originalShow = <function> defined =[C]:-1
tellTimer = 141.505
alternativeDefaultLanguage = "Orcish"
defaultLanguage = "Orcish"
buttonSide = "left"
resizeButton = ChatFrame10ResizeButton {
}
buttonFrame = ChatFrame10ButtonFrame {
}
Hide = <function> defined @Interface\FrameXML\FrameLocks.lua:121
__aleaaddonsnameTargs = true
oldAlpha = 0.15686275064945
channelList = <table> {
}
ScrollDown = <function> defined =[C]:-1
clickAnywhereButton = ChatFrame10ClickAnywhereButton {
}
ScrollToBottom = <function> defined =[C]:-1
editBox = ChatFrame10EditBox {
}
Show = <function> defined @Interface\FrameXML\FrameLocks.lua:125
isLocked = true
name = "Chat 10"
ScrollToTop = <function> defined =[C]:-1
originalHide = <function> defined =[C]:-1
zoneChannelList = <table> {
}
AddMessage 2 = "message = "Interface\AddOns\Prat-3.0\services\chatsections.lua:607: attempt to call field 'RAID_CLASS_COLORS' (a table value)"
warnType = false
keepHidden = true
stack = "Interface\AddOns\Prat-3.0\services\chatsections.lua:607: in function `SplitChatMessage'
Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
(tail call): ?
Interface\FrameXML\ChatFrame.lua:2721: in function `ChatFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
"
messageStack = "Interface\AddOns\Prat-3.0\services\chatsections.lua:607: attempt to call field 'RAID_CLASS_COLORS' (a table value)Interface\AddOns\Prat-3.0\services\chatsections.lua:607: in function `SplitChatMessage'
Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
(tail call): ?
Interface\FrameXML\ChatFrame.lua:2721: in function `ChatFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
"
index = 1
(*temporary) = <ta 3 = "font = "Interface\Addons\GrizzlySharedMedia\fonts\Franc.ttf"
(*temporary) = true
(*temporary) = "script ran too long"
fontTester = OmniCCOptionsConfig_FontTester {
0 = <u
I have the same issue where Prat uses increasingly more memory each second to the point where the screen freezes briefly when I'm sending a chat.
Hey sylvanaar. I dont know why but i have little freezeng lags time after time...i cant understand why it happens but i got them because of prat (just get offed all addons and check which one is giving this lags). Got lags when it starting to get more memory, and your character starting to make jump forward like you got blink skill lol. What to do?
I'm having the same issue. It's only happened while raiding for me. Since it kept happening, I turned lua errors on to check if any were coming up. Lo and behold, this came up with one of the spikes:
Message: Interface\AddOns\Prat-3.0\services\chatsections.lua:607: attempt to call field 'GetClassGetColor' (a nil value)
Time: 12/09/15 22:49:28
Count: 27
Stack: Interface\AddOns\Prat-3.0\services\chatsections.lua:607: in function `SplitChatMessage'
Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
(tail call): ?
Interface\FrameXML\ChatFrame.lua:2721: in function `ChatFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
Locals: frame = ChatFrame10 {
0 = <userdata>
isUninteractable = false
flashTimer = 0
isInitialized = 1
PageUp = <function> defined =[C]:-1
ScrollUp = <function> defined =[C]:-1
PageDown = <function> defined =[C]:-1
originalShow = <function> defined =[C]:-1
tellTimer = 138.165
alternativeDefaultLanguage = "Orcish"
defaultLanguage = "Orcish"
buttonSide = "left"
resizeButton = ChatFrame10ResizeButton {
}
buttonFrame = ChatFrame10ButtonFrame {
}
Hide = <function> defined @Interface\FrameXML\FrameLocks.lua:121
__aleaaddonsnameTargs = true
oldAlpha = 0.15686275064945
channelList = <table> {
}
ScrollDown = <function> defined =[C]:-1
clickAnywhereButton = ChatFrame10ClickAnywhereButton {
}
ScrollToBottom = <function> defined =[C]:-1
editBox = ChatFrame10EditBox {
}
Show = <function> defined @Interface\FrameXML\FrameLocks.lua:125
isLocked = true
name = "Chat 10"
ScrollToTop = <function> defined =[C]:-1
originalHide = <function> defined =[C]:-1
zoneChannelList = <table> {
}
AddMessage = <function> defined @Interface\AddOns\Forte_Core\version.lua:189
messageTypeList = <table> {
}
}
event = "CHAT_MSG_CHANNEL"
arg1 = "{g1}"
arg2 = "Hefizar-Mal'Ganis"
arg3 = ""
arg4 = "1. General - Hellfire Citadel"
arg5 = "Hefizar"
arg6 = ""
arg7 = 1
arg8 = 1
arg9 = "General - Hellfire Citadel"
arg10 = 0
arg11 = 1099
arg12 = "Player-3684-080CFE2C"
arg13 = 0
arg14 = false
arg15 = false
arg16 = nil
arg17 = nil
type = "CHANNEL"
info = <table> {
colorNameByClass = false
flashTab = false
b = 0.75294125080109
r = 1
id = 18
sticky = 1
flashTabOnGeneral = false
g = 0.75294125080109
}
s = <table> {
GUID = "Player-3684-080CFE2C"
LL = ""
CC = ". "
Zz = ""
CHANNEL = "General"
CHATTYPE = "CHANNEL"
pP = "["
ZONE = "Hellfire Citadel"
CHANLINK = "channel:channel:1"
TYPEPOSTFIX = ": "
Cc = "] "
CHANNELNUM = "1"
CHATTARGET = "1"
TYPEPREFIX = ""
Pp = "]"
cC = "["
PLAYERLINKDATA = ":1099:CHANNEL:1"
PLAYERLINK = "Hefizar"
Nn = ""
LANGUAGE_NOSHOW = ""
lL = ""
PLAYER = "Hefizar"
MESSAGE = "{g1}"
NN = ""
nN = "|H"
CHATGROUP = "CHANNEL"
EVENT = "CHAT_MSG_CHANNEL"
}
kill = nil
newarg1 = "{g1}"
newarg2 = "Hefizar-Mal'Ganis"
newarg3 = ""
newarg4 = "1. General - Hellfire Citadel"
newarg5 = "Hefizar"
newarg6 = ""
newarg7 = 1
newarg8 = 1
newarg9 = "General - Hellfire Citadel"
newarg10 = 0
newarg11 = 1099
newarg12 = "Player-3684-080CFE2C"
newarg13 = 0
newarg14 = false
newarg15 = false
newarg16 = nil
newarg17 = nil
chatGroup = "CHANNEL"
chatTarget = "1"
presenceID = nil
chatget = "%s: "
arg2 = "Hefizar"
arg6 = ""
arg3 = ""
arg9 = "General - Hellfire Citadel"
arg7 = 1
term = "g1"
(for generator) = <function> defined =[C]:-1
(for state) = nil
(for control) = "{g1}"
tag = "{g1}"
groupIndex = 1
groupList = "["
(for index) = 1
(for limit) = 20
(for step) = 1
i = 1
name = "Sagerz"
rank = 2
subgroup = 1
level = 100
class = "Paladin"
classFileName = "PALADIN"
(*temporary) = nil
(*temporary) = "PALADIN"
(*temporary) = "attempt to call field 'GetClassGetColor' (a nil value)"
strsub = <function> defined =[C]:-1
_G = <table> {
ContainerFrame5Item7 = ContainerFrame5Item7 {
}
MultiCastActionButton6Cooldown = MultiCastActionButton6Cooldown {
}
MerchantItem9ItemButtonStock = MerchantItem9ItemButtonStock {
}
GetTrainerServiceTypeFilter = <function> defined =[C]:-1
UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names."
UNIT_NAMEPLATES_TYPE_TOOLTIP_3 = "This method avoids overlapping nameplates by spreading them out horizontally and ver
ok will do thanks
getting this error upon logging in.
Date: 2015-12-09 00:24:17
ID: 1
Error occured in: Global
Count: 1
Message: Usage: NewModule(name, [prototype, [lib, lib, lib, ...]): 'name' - Module 'OriginalButtons' already exists.
Debug:
...nterface\AddOns\Prat-3.0\modules\OriginalButtons.lua:31: in main chunk
Locals:
None
AddOns:
InspectFix, v4.5.1
Swatter, v5.21e.5566 (SanctimoniousSwamprat)
ACP, v3.4.24
ActionBarProfiles, v1.0
Altoholic, vr165
AskMrRobot, v27
AtlasLoot, vv8.00.60
Babylonian, v5.1.DEV.332(/embedded)
Configator, v5.1.DEV.376(/embedded)
CTLibrary, v6.2.3.0
CTMailMod, v6.2.3.0
DataStore, vr55
DataStoreAchievements, vr41
DataStoreAgenda, vr22
DataStoreAuctions, v6.0.001
DataStoreCharacters, vr35
DataStoreContainers, vr51
DataStoreCrafts, vr68
DataStoreCurrencies, vr30
DataStoreGarrisons, vr14
DataStoreInventory, vr43
DataStoreMails, vr43
DataStorePets, vr38
DataStoreQuests, vr35
DataStoreReputations, vr36
DataStoreSpells, vr26
DataStoreStats, vr25
DataStoreTalents, vr51
DBMCore, v
DBMDefaultSkin, v
DBMStatusBarTimers, v
Farmhand, vv1.6.7
FishingBuddy, v1.6a
ForteCasting, v
ForteClass, v
ForteCooldown, v
ForteCore, v1.998.6
ForteTalent, v
ForteTimer, v
Gatherer, v5.0.0
Incoming, v1.14
LibPeriodicTable31, vv3.3.0.487
Livestock, v2.4.1
Mapster, v1.6.4
MasterPlanA, vA
Omen, v3.1.11
OmniCC, v6.2.1
Prat30, v3.6.2
Prat30HighCPUUsageModules, v
Prat30Libraries, v
SlideBar, v5.21e.5566 (SanctimoniousSwamprat)
Titan, v5.6.19.60200
BlizRuntimeLib_enUS v6.2.3.60200 <none>
(ck=4ff)
Delete Prat_HighCPUUSageModules, it is no longer used, and all its features are folded into the main addon.
When I click on a players name in guild chat to whisper them, the whisper is just to PLAYERNAME, not PLAYERNAME-REALM. If I disable only Prat, the problem goes away. If I have only Prat enabled (all other addons disabled), I still get the incorrect behavior.
I've tried reinstalling Prat, deleting my Cache folder, deleting my Prat SavedVariables in the general folder and the character specific folder, and deleting DataStore since many people online said it was an issue with other addons.
I see there's a bug post about this from early this year, but I don't see a solution posted. Does anyone know how to fix this?
I am having the same problem. Is there a fix to this?
Prat is causing chat errors for me during raids.Check out my chat.
Thank you! <3
For some reason whenever anyone types the word "they" it becomes white coloured but i still haven't figured a way to remove this. How do i remove the colour?
Someone you know has a character named "they", it;s a priest.
You can blacklist a name from coloring by using a slash command.
/pratblacklist <name>
So you would do
/pratblacklist they
Updated Prat today and now chat bubbles have a different font than before. Can't figure out how to revert it. The font in the normal chat is fine however.
There is a module called Bubbles. You can disable it in module control if you like.
Thanks for fixing the scrollback! :D
All of a sudden since today i can't turn off logging anymore. There's no option in the prat window that i can reach, in the addon list in wow there's nothing with the "heavy cpu usage" warning i can untick. I had 2 updates through the curse client today, one was Bartender, i can't remember the other one but i keep my addons updated on a daily base.
I removed the High Cpu Pull out. I found most people didn't know about it and hence didn't get to use some of Prat's features.
There is still an option to disable the scrollback. History Module, uncheck Scrollback.
Thx very much! :-)