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.
This addon seems to try do the same thing...
Causing each of the addon to NOT work properly together
# Prat 3.0
# Rarity
# CharacterNotes
Can you please fix so they dont clash, and breaks the other addons please?
-------------------------------------------
Message: ...e/AddOns/Blizzard_CombatText/Blizzard_CombatText.lua:448: attempt to compare two nil values
Time: Tue Dec 6 13:27:53 2022
Count: 1
Stack: ...e/AddOns/Blizzard_CombatText/Blizzard_CombatText.lua:448: attempt to compare two nil values
[string "@Interface/AddOns/Blizzard_CombatText/Blizzard_CombatText.lua"]:448: in function <...e/AddOns/Blizzard_CombatText/Blizzard_CombatText.lua:429>
[string "=[C]"]: in function `CombatText_AddMessage'
[string "@Interface/AddOns/Prat-3.0_Libraries/LibSink-2.0/LibSink-2.0.lua"]:399: in function `func'
[string "@Interface/AddOns/Prat-3.0_Libraries/LibSink-2.0/LibSink-2.0.lua"]:532: in function <...ddOns/Prat-3.0_Libraries/LibSink-2.0/LibSink-2.0.lua:518>
[string "@Interface/AddOns/Prat-3.0_Libraries/LibSink-2.0/LibSink-2.0.lua"]:538: in function `Pour'
[string "@Interface/AddOns/Rarity/Core/Interoperability/LibSink/Output.lua"]:6: in function `DisplayText'
[string "@Interface/AddOns/Rarity/Core/Announcements.lua"]:43: in function `AnnounceAttemptForItem'
[string "@Interface/AddOns/Rarity/Core/GUI.lua"]:132: in function `OutputAttempts'
[string "@Interface/AddOns/Rarity/Core/Detection.lua"]:233: in function `ScanStatistics'
[string "@Interface/AddOns/Rarity/Core.lua"]:331: in function `DelayedInit'
[string "@Interface/AddOns/Rarity/Core.lua"]:311: in function `func'
[string "@Interface/AddOns/CharacterNotes/Libs/AceTimer-3.0/AceTimer-3.0.lua"]:57: in function <...ns/CharacterNotes/Libs/AceTimer-3.0/AceTimer-3.0.lua:50>
Locals: message = " Nameless Octopode: 8 attempts"
scrollFunction = <function> defined @Interface/AddOns/Blizzard_CombatText/Blizzard_CombatText.lua:644
r = 1
g = 1
b = 1
displayType = nil
isStaggered = false
string = CombatText1 {
scrollTime = 0
scrollFunction = <function> defined @Interface/AddOns/Blizzard_CombatText/Blizzard_CombatText.lua:644
0 = <userdata>
}
noStringsAvailable = nil
yDir = nil
lowestMessage = nil
useXadjustment = 0
(*temporary) = nil
(*temporary) = nil
(*temporary) = 1
(*temporary) = <userdata>
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to compare two nil values"
In reply to H8FaTe:
That looks like an error with Rarity, as the other addons in the error are just supplying common libraries that are unlikely to be buggy
Question: Is there a way to create a new chat window (I know how to do this part), then move that chat window off the main chat and over to a new window?
Currently I'm able to create new windows and separate them from the main chat, but I can't figure out to link them to different windows.
I.E. Create a new window named "Random", move the tab for it to separate that window over to another part of the screen, create another new window named "Game Chats", move the tab for it to separate that window and then link it as a second tab on the window named "Random"
Hi. There is no text entry box, you have to go to the general tab and press enter every time.
Thanks.
In reply to bahtiblack:
That would be a Blizzard limitation, they don't add text entry boxes on the extra windows.
Getting this LUA error when I try to resize:
1x [ADDON_ACTION_FORBIDDEN] AddOn 'Prat-3.0-3.9.13' tried to call the protected function 'TargetUnit()'.
[string "@!BugGrabber/BugGrabber.lua"]:480: in function <!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function `TargetUnit'
[string "@FrameXML/EditModeManager.lua"]:1512: in function `RefreshTargetAndFocus'
[string "@FrameXML/EditModeManager.lua"]:1456: in function `OnEditModeEnter'
[string "@FrameXML/EditModeManager.lua"]:170: in function `EnterEditMode'
[string "@FrameXML/EditModeManager.lua"]:192: in function <FrameXML/EditModeManager.lua:190>
[string "=[C]"]: in function `Show'
[string "@FrameXML/UIParent.lua"]:2853: in function `SetUIPanel'
[string "@FrameXML/UIParent.lua"]:2657: in function `ShowUIPanel'
[string "@FrameXML/UIParent.lua"]:2561: in function <FrameXML/UIParent.lua:2557>
[string "=[C]"]: in function `SetAttribute'
[string "@FrameXML/UIParent.lua"]:3159: in function <FrameXML/UIParent.lua:3138>
[string "=[C]"]: in function `ShowUIPanel'
[string "@FrameXML/FloatingChatFrame.lua"]:282: in function `func'
[string "@SharedXML/UIDropDownMenu.lua"]:1007: in function `UIDropDownMenuButton_OnClick'
[string "*UIDropDownMenuTemplates.xml:136_OnClick"]:1: in function <[string "*UIDropDownMenuTemplates.xml:136_OnClick"]:1>
I'm also unable to see the nav arrows despite having "show arrows" checked under Display Settings > Buttons.
In reply to MystbornGames:
Looks like Blizzard removed the buttons that Prat moved and showed or hide, so they'd need to be added back
I'm not sure what trigged the protected error though - its likely a combination issue of a few actions as just resizing the chat in edit mode didn't make it happen for me.
Hi did you remove the ability to resize the editbox? Ever since 10.0, my editbox has been the wrong size and IDK how I can change it back to how I had it set previously.
In reply to Azarias59:
Resizing is handled by the Blizzard edit mode now with the DF changes. Go into edit mode and near the bottom right corner there will be a faded grey triangle, drag that to resize.
In reply to plusmouse:
Hi plusmouse, I'm talking about the editbox, not the chat window. There is no option to resize the editbox in edit mode.
[ADDON_ACTION_FORBIDDEN] AddOn 'Prat-3.0-3.9.12' tried to call the protected function 'TargetUnit()'.
[string "@Interface/AddOns/!BugGrabber/BugGrabber.lua"]:480: in function <Interface/AddOns/!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function `TargetUnit'
[string "@Interface/FrameXML/EditModeManager.lua"]:1488: in function `ResetTargetAndFocus'
[string "@Interface/FrameXML/EditModeManager.lua"]:1473: in function `OnEditModeExit'
[string "@Interface/FrameXML/EditModeManager.lua"]:184: in function `ExitEditMode'
[string "@Interface/FrameXML/EditModeManager.lua"]:204: in function <Interface/FrameXML/EditModeManager.lua:202>
[string "=[C]"]: in function `Hide'
[string "@Interface/FrameXML/UIParent.lua"]:2837: in function `SetUIPanel'
[string "@Interface/FrameXML/UIParent.lua"]:2868: in function `MoveUIPanel'
[string "@Interface/FrameXML/UIParent.lua"]:2899: in function `HideUIPanel'
[string "@Interface/FrameXML/UIParent.lua"]:2565: in function <Interface/FrameXML/UIParent.lua:2557>
[string "=[C]"]: in function `SetAttribute'
[string "@Interface/FrameXML/UIParent.lua"]:3179: in function `HideUIPanel'
[string "@Interface/FrameXML/EditModeDialogs.lua"]:241: in function <Interface/FrameXML/EditModeDialogs.lua:237>
[string "=(tail call)"]: ?
[string "@Interface/SharedXML/SharedUIPanelTemplates.lua"]:1198: in function <Interface/SharedXML/SharedUIPanelTemplates.lua:1194>
In reply to PedjaSenpai:
I get the same, when entering Blizz's Edit Mode. I just ignore it and it doesn't seem to be an issue
Put your spoiler here.1x [ADDON_ACTION_FORBIDDEN] AddOn 'Prat-3.0-3.9.12' tried to call the protected function 'TargetUnit()'.
[string "@!BugGrabber/BugGrabber.lua"]:480: in function <!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function `TargetUnit'
[string "@FrameXML/EditModeManager.lua"]:1512: in function `RefreshTargetAndFocus'
[string "@FrameXML/EditModeManager.lua"]:1456: in function `OnEditModeEnter'
[string "@FrameXML/EditModeManager.lua"]:170: in function `EnterEditMode'
[string "@FrameXML/EditModeManager.lua"]:192: in function <FrameXML/EditModeManager.lua:190>
[string "=[C]"]: in function `Show'
[string "@FrameXML/UIParent.lua"]:2853: in function `SetUIPanel'
[string "@FrameXML/UIParent.lua"]:2657: in function `ShowUIPanel'
[string "@FrameXML/UIParent.lua"]:2561: in function <FrameXML/UIParent.lua:2557>
[string "=[C]"]: in function `SetAttribute'
[string "@FrameXML/UIParent.lua"]:3159: in function <FrameXML/UIParent.lua:3138>
[string "=[C]"]: in function `ShowUIPanel'
[string "@FrameXML/FloatingChatFrame.lua"]:282: in function `func'
[string "@SharedXML/UIDropDownMenu.lua"]:1007: in function `UIDropDownMenuButton_OnClick'
[string "*UIDropDownMenuTemplates.xml:136_OnClick"]:1: in function <[string "*UIDropDownMenuTemplates.xml:136_OnClick"]:1>
In reply to TheAngryIntern:
it block my abilities from being usable after that, so i have to /reload
In reply to PedjaSenpai:
Do you have the Memory or Chat Tabs modules enabled?
In reply to plusmouse:
I do have memory module enabled, thats main reason im sticking with prat
In reply to PedjaSenpai:
Restoring the frame appearance and layout isn't possible without causing edit mode errors, but restoring the channel order, the messages in the chat frame and the chat colours works safely. Do you need the layout restored, or is the others what's actually needed?
In reply to plusmouse:
ok, disabled it no issues now, hope to see this restored in future, because i was using it to set chat frame to same position size , font and font size on all of my characters
In reply to PedjaSenpai:
Yeah, now I'm also not able to save any changes I make in Edit Mode.Actually, seems like Prat is not the cause of not being able to save in Edit mode. I disabled Prat and it still gives me the FrameXML error I posted here.7x FrameXML/EditModeSystemTemplates.lua:473: attempt to perform arithmetic on a nil value
[string "@FrameXML/EditModeSystemTemplates.lua"]:473: in function `BreakFrameSnap'
[string "@FrameXML/EditModeSystemTemplates.lua"]:41: in function `PrepareForSave'
[string "@FrameXML/EditModeManager.lua"]:1118: in function `PrepareSystemsForSave'
[string "@FrameXML/EditModeManager.lua"]:1123: in function `SaveLayouts'
[string "@FrameXML/EditModeManager.lua"]:1132: in function <FrameXML/EditModeManager.lua:1128>
[string "=(tail call)"]: ?
[string "@SharedXML/SharedUIPanelTemplates.lua"]:1198: in function <SharedXML/SharedUIPanelTemplates.lua:1194>
Locals:
self = PartyFrame {
0 = <userdata>
UpdateMagnetismRegistration = <function> defined @FrameXML/EditModeSystemTemplates.lua:521
GetSnapOffsets = <function> defined @FrameXML/EditModeSystemTemplates.lua:421
systemInfo = <table> {
}
UpdateSystemSettingBuffsOnTop = <function> defined @FrameXML/EditModeSystemTemplates.lua:981
alwaysUseTopLeftAnchor = true
breakSnappedFramesOnSave = true
LayoutChildren = <function> defined @SharedXML/LayoutFrame.lua:192
UseCombinedGroups = <function> defined @FrameXML/EditModeSystemTemplates.lua:877
ResetToDefaultPosition = <function> defined @FrameXML/EditModeSystemTemplates.lua:158
GetScaledSelectionSides = <function> defined @FrameXML/EditModeSystemTemplates.lua:365
SelectSystem = <function> defined @FrameXML/EditModeSystemTemplates.lua:549
GetFrameMagneticEligibility = <function> defined @FrameXML/EditModeSystemTemplates.lua:504
UpdateSystemSettingUseLargerFrame = <function> defined @FrameXML/EditModeSystemTemplates.lua:986
CalculateFrameSize = <function> defined @SharedXML/LayoutFrame.lua:148
AddLayoutChildren = <function> defined @SharedXML/LayoutFrame.lua:48
IsBelowFrame = <function> defined @FrameXML/EditModeSystemTemplates.lua:332
spacing = 10
SetScaleBase = <function> defined =[C]:-1
HasActiveChanges = <function> defined @FrameXML/EditModeSystemTemplates.lua:254
GetScaledCenter = <function> defined @FrameXML/EditModeSystemTemplates.lua:358
HidePartyFrames = <function> defined @FrameXML/PartyFrame.lua:71
DoesSettingDisplayValueEqual = <function> defined @FrameXML/EditModeSystemTemplates.lua:278
OnLoad = <function> defined @FrameXML/PartyFrame.lua:5
Layout = <function> defined @SharedXML/LayoutFrame.lua:170
settingDisplayInfoMap = <table> {
}
GetSettingValueBool = <function> defined @FrameXML/EditModeSystemTemplates.lua:269
IsLayoutFrame = <function> defined @SharedXML/LayoutFrame.lua:36
DoesSettingValueEqual = <function> defined @FrameXML/EditModeSystemTemplates.lua:273
MarkDirty = <function> defined @SharedXML/LayoutFrame.lua:90
UpdateSelectionVerticalState = <function> defined @FrameXML/EditModeSystemTemplates.lua:1101
GetChildPadding = <function> defined @SharedXML/LayoutFrame.lua:133
dirtySettings = <table> {
}
IsToTheLeftOfFrame = <function> defined @FrameXML/EditModeSystemTemplates.lua:314
GetSettingsDialogAnchor = <function> defined @FrameXML/EditModeSystemTemplates.lua:298
hasActiveChanges = false
OnSystemLoad = <function> defined @FrameXML/EditModeSystemTemplates.lua:3
ClearFrameSnap = <function> defined @FrameXML/EditModeSystemTemplates.lua:458
GetCombinedCenterOffset = <function> defined @FrameXML/EditModeSystemTemplates.lua:408
SetupSettingsDialogAnchor = <function> defined @FrameXML/EditModeSystemTemplates.lua:963
UpdateSystemSettingSortPlayersBy = <function> defined @FrameXML/EditModeSystemTemplates.lua:1077
dirty = false
SetPointBase = <function> defined =[C]:-1
UpdateSystem = <function> defined @FrameXML/EditModeSystemTemplates.lua:203
UpdateSystemSettingRaidGroupDisplayType = <function> defined @FrameXML/EditModeSystemTemplates.lua:1070
UpdateDirtySettings = <function> defined @FrameXML/EditModeSystemTemplates.lua:122
isHighlighted = true
BreakSnappedFrames = <function> defined @FrameXML/EditModeSystemTemplates.lua:441
PrepareForSave = <function> defined @FrameXML/EditModeSystemTemplates.lua:35
systemIndex = 4
UpdateSystemSettingUseRaidStylePartyFrames = <function> defined @FrameXML/EditModeSystemTemplates.lua:996
snappedFrames = <table> {
}
SetPointOverride = <function> defined @FrameXML/EditModeSystemTemplates.lua:71
UpdateSystemSettingShowPartyFrameBackground = <function> defined @FrameXML/EditModeSystemTemplates.lu
And then Prat gives these errors:
5x [ADDON_ACTION_FORBIDDEN] AddOn 'Prat-3.0-3.9.13' tried to call the protected function 'TargetUnit()'.
[string "@!BugGrabber/BugGrabber.lua"]:480: in function <!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function `TargetUnit'
[string "@FrameXML/EditModeManager.lua"]:1512: in function `RefreshTargetAndFocus'
[string "@FrameXML/EditModeManager.lua"]:1456: in function `OnEditModeEnter'
[string "@FrameXML/EditModeManager.lua"]:170: in function `EnterEditMode'
[string "@FrameXML/EditModeManager.lua"]:192: in function <FrameXML/EditModeManager.lua:190>
[string "=[C]"]: in function `Show'
[string "@FrameXML/UIParent.lua"]:2853: in function `SetUIPanel'
[string "@FrameXML/UIParent.lua"]:2657: in function `ShowUIPanel'
[string "@FrameXML/UIParent.lua"]:2561: in function <FrameXML/UIParent.lua:2557>
[string "=[C]"]: in function `SetAttribute'
[string "@FrameXML/UIParent.lua"]:3159: in function <FrameXML/UIParent.lua:3138>
[string "=[C]"]: in function `ShowUIPanel'
[string "@FrameXML/FloatingChatFrame.lua"]:282: in function `func'
[string "@SharedXML/UIDropDownMenu.lua"]:1007: in function `UIDropDownMenuButton_OnClick'
[string "*UIDropDownMenuTemplates.xml:136_OnClick"]:1: in function <[string "*UIDropDownMenuTemplates.xml:136_OnClick"]:1>
In reply to plusmouse:
I am receiving addon blocked action for my action bars even with that module disabled:
1x [ADDON_ACTION_FORBIDDEN] AddOn 'Prat-3.0-3.9.13' tried to call the protected function 'FocusUnit()'.
[string "@!BugGrabber/BugGrabber.lua"]:480: in function <!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function `FocusUnit'
[string "@FrameXML/EditModeManager.lua"]:1523: in function `RefreshTargetAndFocus'
[string "@FrameXML/EditModeManager.lua"]:1539: in function `SetTargetAndFocusShown'
[string "@FrameXML/EditModeManager.lua"]:1352: in function `onBoxToggled'
[string "@SharedXML/SharedUIPanelTemplates.lua"]:1566: in function `OnCheckButtonClick'
[string "*EditModeTemplates.xml:17_OnClick"]:1: in function <[string "*EditModeTemplates.xml:17_OnClick"]:1>
In reply to subkool:
Can you run /console taintLog 1 and then play until it errors again. Close WoW when that happens and upload the contents of the [wow directory]/_retail_/Logs/taint.log file to here. That should narrow down where the error is being generated from.