CurseForge and Overwolf are joining forces!
Awesome More Information
  • 0

    posted a message on SimpleCombatLog & Dispel
    how does the message show in hitsmode? got an example?


    Posted in: General AddOns
  • 0

    posted a message on Personal combat stats mod
    What features do you want to be added to KombatStats?
    Weapon effect proc per minute, Windfury/Sword Spec hits?

    Those are tricky to track so I didn't want to add them. Know any existing mod which track similar things that I can look at ?
    Posted in: Addon Ideas
  • 0

    posted a message on WoW UI Updater (Windows/Linux/Mac) - supports multiple sites
    As of 1.5.391, there is a per-addon "No embedded libraries" setting, is it possible to add the same for "Process addon package" ?

    Posted in: Updaters
  • 0

    posted a message on New Expansion: Wrath of the Litch King
    Quote from sensory »

    I was worried that all the gear I'd accumulated would be meaningless in the expansion.


    Looking at TBC, most likely what you're worrying will become a fact.
    Posted in: General Chat
  • 0

    posted a message on LightQueue - A lightweight StinkyQueue
    Quote from Funkydude »

    This addon is for me, i already use ace so i decided to make it ace, i don't care if you don't like it, i decided to share it.

    Oh and the broadcaster receives the message from himself and joins the queue.


    Ah yes, player himself receives the message too. When I test I wasn't in a group so it didn't work.

    Well, I don't care about a mod is Aced or not, but I don't see what's the point when Ace'ing it costs 6x more memory even when disembedded, with no performance gain at all.
    Of course, both 6KB and 1KB is neglible, just that since lightweight seems to be your goal, I thought you'd be interested in making it even more lightweight, and yet without dependency, but I guess you don't care and just want something Aced.

    I'll have the tweaked code on my GCode, thanks for the idea.

    Posted in: General AddOns
  • 0

    posted a message on LightQueue - A lightweight StinkyQueue
    IMHO using Ace2 for such a tiny code is really an overkill.

    Below is the code slightly tweaked to have no dependency, I really don't see what is saved for using 5 dependencies.

    Also I dunno why LightQueue doesn't have the code to queue yourself in /q ? Does the player himself receive CHAT_MSG_ADDON? It was not the case when I test but I'm not so sure. In StinkyQueue the player himself queues immedately on /sq q, but I think whispering yourself for the queue message should match the latency with others more closely, so I added that.


    --[[
    	TinyQueue : LightQueue made Tiny.
    ]]
    
    local L = {
    	["Recieved StinkyQueue message from %s, Joining..."] = true,
    	["Sending StinkyQueue message to Raid."] = true,
    }
    
    --[[ Initialization ]]--
    
    -- Receive Message.
    local frame = CreateFrame("Frame")
    frame:SetScript("OnEvent", function(frame,event,prefix,message,messageType,player)
    	if prefix == "StinkyQ" and message == "Queue" and messageType ~= "GUILD" then
    		JoinBattlefield(0)
    		ChatFrame1:AddMessage(L["Recieved StinkyQueue message from %s, Joining..."]:format(player),0,1,0)
    	end
    end)
    frame:RegisterEvent("CHAT_MSG_ADDON")
    
    -- Send Message.
    _G["SlashCmdList"]["TINYQUEUE"] = function(msg)
    	SendAddonMessage("StinkyQ", "Queue", "RAID")
    	SendAddonMessage("StinkyQ", "Queue", "WHISPER", UnitName("player"))
    	ChatFrame1:AddMessage(L["Sending StinkyQueue message to Raid."],0,1,0)
    end
    _G["SLASH_TINYQUEUE1"] = "/q"
    
    -- Locales
    for k,v in pairs(L) do
    	if v == true then
    		L[k] = k
    	end
    end
    Posted in: General AddOns
  • 0

    posted a message on Epeen - PvP Statistics and KoS System
    It's because when zoning in instance, Epeen-2.0 unregisters events, but at that time the events might not have been registered, and AceEvent-2.0 throws an error when you try to unregister an event which was not registered.

    I have fixed this error by checking the self.vars.enabled == "true" first before actually try to unregister events.
    Posted in: General AddOns
  • 0

    posted a message on Baggins - Official Thread
    Can the "Hide Duplicate Items" options be separated into sections and bags?

    I currently set up 2 bags, #1 is "All In One" which is the categorized bags I use, #2 is "Equipments" which will show all equipments, categorized by inventory slot.

    I want to see equipments in both bags, so I cannot check the "Hide Duplicate Items", but I also don't want to see duplicated items in either bag.

    With the way I use each bags as different "views", I guess it makes more sense if the options in "Items" can be changed to per bag, but that's probably asking too much, so separating "Hide Duplicate Items" into 2 options for sections and bags should do.
    Posted in: General AddOns
  • 0

    posted a message on SW-Unilog Like Ace2 Addon Around?
    I hacked my little mod http://www.wowinterface.com/downloads/full3202.jpg , which supports simple filtering and sorting, to feed the combat log data instead of items,

    The frame looks fugly as a combat log viewer, but that can be redesigned.

    Basically I happened to have a simple tabular view library, and a combat log parser, just a proof of concept to combine them.

    I only got a few minutes to hack around though, so I can only provide you a SS.
    Posted in: Addon Ideas
  • 0

    posted a message on SimpleCombat Log - heals?
    The 'heal' filter, obviously?

    Enable all events if you dunno the events.
    Posted in: General AddOns
  • 0

    posted a message on Violation
    Quote from Adirelle »

    Quote from rophy »
    What should ParserLib report? You can get the Blizzard event names at the client, and the code to detect pet events are only a few lines of code with a tiny table.


    According to the Wiki, if I use RegisterInfoType, the addon will not receive any data about the event that triggered its call. :/


    Right, I have updated RegisterInfoType() to pass the event as the 3rd arg.
    Posted in: General AddOns
  • 0

    posted a message on Violation
    Quote from Adirelle »

    Quote from rophy »
    If Violation uses name as the table key, may be use 'Treant - Rophy' as the name? To merge pet data to owner, iterate through the keys and search for '.+ %- Rophy'?


    If ParserLib could report such events with that kind of name (only for local player, ofc), something could be done in Violation. That would be a big plus. Though I'd rather add .isSelfPet to event table or maybe use a ParserLib_SelfPet as source/victim and let lib clients handle this the way they want.


    What should ParserLib report? You can get the Blizzard event names at the client, and the code to detect pet events are only a few lines of code with a tiny table.

    The reason I don't want to mess with Blizzard events at the ParserLib's side is because I can only extract part of the information out of them accurately, e.g. dots cannot be guaranteed to be accurate.

    If estimations are acceptable, then there are much more informations which can be extracted from combat log events, e.g. CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS = mob attacks in "most cases". But since what level of estimations a client wants depend on the client, I want to support only things which are guaranteed to be accurate at the library side, and left the job of estimations to the client. Also I personally want to either "fully" support information extraction out of the event names, or don't touch it at all.
    Posted in: General AddOns
  • 0

    posted a message on Violation
    Quote from Adirelle »

    Very educative post, thank you.

    After this all, the main problem I see with using this in Violation is that... Violation also uses name as storage key. So even if the data can be disambuigated from events, it will be merged back when stored in the data tables, unless a big work was done towards this objective.

    Btw, while you're here, what about hunter trap snakes and chaman totems ?


    I don't have high level hunter or shaman to test that,
    but just now i tested treants with a moonkin, and the treants melee hits are fired by CHAT_MSG_COMBAT_PET_HITS, with others saying totems are being shown as pet hits in SCT/MSBT, hopefully they should be the same.

    UnitName("pet") doesn't work on treants/totems, so for treants/totems/snake traps/engineering pets, it seems that you can only rely on the event names and not the pet names.

    If Violation uses name as the table key, may be use 'Treant - Rophy' as the name? To merge pet data to owner, iterate through the keys and search for '.+ %- Rophy'?


    Posted in: General AddOns
  • 0

    posted a message on Violation
    Quote from dunnar »

    I gleaned this from the DamageMeters FAQ:
    If this is the case, wouldn't it be possible to merge a Mage's Water Elemental with it's owner? For example, player A is a Mage with an elemental. Player A does 1000 damage and the elemental does 500 damage. Player B's meter (which cannot account for player A's elemental due to the non-unique name in the combat log) only sees 1000 damage for player A. But, when player A broadcasts his next damage number, he will broadcast 1500. When player B receives this number, he can replace his own internal value with the one from the broadcast.

    Have you discovered I'm a Frost Mage yet? :)


    Yes, that is possible, and I think it should be taken into account in Violation.

    The code should look like this:

    local possiblePetEvents = {
     CHAT_MSG_COMBAT_PET_HITS = true,
     CHAT_MSG_COMBAT_PET_MISSES = true,
     CHAT_MSG_SPELL_PET_BUFF = true,
     CHAT_MSG_SPELL_PET_DAMAGE = true,
    }
    
    if name == UnitName("pet") and possiblePetEvents[event] then
     -- this is a pet.
    end


    The 4 events indicate that the combat log is fired from your pet, they're "Melee Hits", "Melee Misses", "Heals / Buffs", "Skill Damages".

    The problem is for DOTs, they're fired from the victim's view, i.e. "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE" if your pet causes a DOT damage to a hostile player, in that case, you cannot distinguish the pets with the same name. Luckily shadow fiend, water elemental and treants all don't cause DoTs, so it isn't a problem to those pets.

    Now to take this further to the case of MC'ed mob, with many mobs of the same name around, we have no way to know if a DoT is caused by your pet or by a mob of the same name. An easy approach is to ignore DOTs caused by your pet. In that case Violation will record only confirmed damages, not estimated damages, for your pet, which will be lower than the actual value when the pet has the ability to cause DoTs.


    A possible solution for the case of DoTs is to :

    1. record a 'recent hostile name list' by recording the source name in hostile events.
    2. if damage is a DOT and victim is not in the raid and source == UnitName('pet') and not recentHostileNames[source] then assume it is a damage from the pet.

    This is not a very good solution, as to get the recentHostileNames, you have to use the source from CHAT_MSG_COMBAT_CREATURE_XXXXX and CHAT_MSG_COMBAT_HOSTILEPLAYER_XXXXXX events. Those events are inaccurate in many cases, e.g. friendly heals are fired by CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF and not CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF, so some friendly names will be included in the hostile list. But since the list is used to determine if the DoT should be ignored or not, the pet damage will only get lower, not higher, so it's probably okay for the list to contain friendly units.

    Also, this approach will fail when: You MC'ed X1 -> X2's first attack is a DOT -> X2 will not be in recentHistleNames list and the DoT got added into X1. So the pet's recorded damage is still possible to be higher than actual damage, and it is an overhead to maintain such recentHostileNames list.

    It's probably better not to add so much overhead only for this special case, simply ignore pet's DoT damages, it works in most cases already.

    Finally, the above pet detection approach probably won't work for druid treants, as they're not real pets, and probably don't fire "Pet" events.
    Posted in: General AddOns
  • 0

    posted a message on Parser-3.0 now has a Parser-1.1 compat layer
    Yes, I was wrong about two FixLogStrings breaking each other. The fix will not be applied when it isn't necessary, so the FixLogStrings got called later should have no effect.
    Posted in: Libraries
  • To post a comment, please or register a new account.