NOTE: This thread is based on an outdated codebase for the parrot mod. See this thread (http://www.dual-boxing.com/showthread.php?p=297473) for working with newer versions as of 10/4/2010.-- Ugh
Many of us have used the SCTD hacks and a workaround within Mik's Scrolling Battle Text to display party damage. Unfortunately, neither of these two options has my all-time favorite feature: throttling! Mik's has throttling but it is restricted to your own abilities and, as much of an awesome LUA hacker as I am (oops, don't trip on that, it smells), I couldn't find all the various spots in there where he checks for unitIDs and shit to get it working properly. Sucks, but them's the breaks.
So, remembering that Parrot had throttling and similar functionality to Mik's, I figured I'd take a stab at hacking the 3.1-compatible version to work for party damage, and I managed to get it working!See below for screenshot examples and mod instructions.
No throttling:
![]()
With throttling:
So, to get it working:
In the last two examples, change the string "UkobachTelaneAfreetPaholainenZipplesPopebelex us" to a big string with all your toons names in it. Example: if your party is Xzin, Azin, Bzin, Czin and Dzin, change that string to "XzinAzinBzinCzinDzin" in both spots and you're done!
- grab the Parrot addon from Curse.
- Once you get it installed, go into your wow\interface\addons\parrot\Data\ directory, and open the file "CombatEvents.lua" in a text editor.
- Go down to about line 85. Change this:
to this:Code:local GUARDIAN_FLAGS = bit_bor( COMBATLOG_OBJECT_AFFILIATION_MINE, COMBATLOG_OBJECT_CONTROL_PLAYER, COMBATLOG_OBJECT_TYPE_GUARDIAN )
Code:local GUARDIAN_FLAGS = bit_bor( COMBATLOG_OBJECT_AFFILIATION_MINE, COMBATLOG_OBJECT_AFFILIATION_PARTY, COMBATLOG_OBJECT_CONTROL_PLAYER, COMBATLOG_OBJECT_TYPE_GUARDIAN )- Next, go down to about line 2272 and change this (in the "Outgoing" section for "Melee Damage"):
to this:Code:if srcGUID ~= UnitGUID("player") then return nil end
Code:if srcGUID ~= UnitGUID("player") and not checkFlags(srcFlags, COMBATLOG_OBJECT_AFFILIATION_PARTY) then return nil else srcGUID = UnitGUID("player") end- Finally, skip down to line 2566 or so and make a similar change as above. Change this (in the "Outgoing" section for "Skill Damage"):
to this:Code:if (srcGUID ~= UnitGUID("player") or dstGUID == UnitGUID("player") then return nil end
Code:if (srcGUID ~= UnitGUID("player") and not checkFlags(srcFlags, COMBATLOG_OBJECT_AFFILIATION_PARTY)) or dstGUID == UnitGUID("player") then return nil else srcGUID = UnitGUID("player") end- Ditto for DoT damage (outgoing) which is down about line 2650ish. Change:
to:Code:eventType = "SPELL_PERIODIC_DAMAGE", func = function( srcGUID, srcName, srcFlags, dstGUID, dstName, dstFlags, spellId, spellName, spellSchool, amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing ) if srcGUID ~= UnitGUID("player") then return nil end
Code:eventType = "SPELL_PERIODIC_DAMAGE", func = function( srcGUID, srcName, srcFlags, dstGUID, dstName, dstFlags, spellId, spellName, spellSchool, amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing ) if (srcGUID ~= UnitGUID("player") and not checkFlags(srcFlags, COMBATLOG_OBJECT_AFFILIATION_PARTY)) then return nil else srcGUID = UnitGUID("player") end
You can adjust font sizes and scroll animation patterns and all that in the normal /parrot UI.
Enjoy! And let me know if I typo'd something in the cut&paste.
[edit] I changed the check from a string match to a flag check. Let me know if you have any wierdness with it.
Cheers,
Ugh
Connect With Us