Skip to content

mac10pro/killfeed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

KillFeed (WoW 3.3.5 Addon)

A Counter-Strike-style PvP kill feed for World of Warcraft 3.3.5. Displays who killed whom, their class, and the spell used.

πŸ“Œ Description

KillFeed listens to the combat log and shows PvP kill messages in a format like:

Bobby [Priest] [Shadow Word: Pain] β†’ Gronk [Warrior]

This mimics the visual kill feed found in games like Counter-Strike.


πŸ”§ Features

  • Real-time PvP kill detection
  • Shows:
    • Killer name and class
    • Victim name and class
    • Spell or melee used
  • Clean, simple on-screen feed
  • 100% local β€” no server messages or dependencies

πŸ“ Folder Structure

KillFeed/
β”œβ”€β”€ KillFeed.toc
β”œβ”€β”€ KillFeed.xml
└── KillFeed.lua

πŸ“„ KillFeed.toc

## Interface: 30300
## Title: |cffff9933killfeed|r
## Notes: Counter-Strike-style kill feed for PvP combat
## Author: mac10
## Version: 1.0
## DefaultState: Enabled
## LoadOnDemand: 0
## SavedVariables: KillFeedDB
## OptionalDeps: Blizzard_CombatLog

# Core files
killfeed.lua
killfeed.xml

🧱 KillFeed.xml

<Ui xmlns="http://www.blizzard.com/wow/ui/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <Frame name="KillFeedFrame" hidden="false" movable="true" frameStrata="HIGH">
        <Size x="300" y="150"/>
        <Anchors>
            <Anchor point="TOPRIGHT">
                <Offset x="-100" y="-200"/>
            </Anchor>
        </Anchors>
        <Layers>
            <Layer level="ARTWORK">
                <FontString name="KillFeedText" inherits="GameFontNormalLarge" text="">
                    <Size x="300" y="150"/>
                    <Anchors>
                        <Anchor point="TOPLEFT"/>
                    </Anchors>
                </FontString>
            </Layer>
        </Layers>
    </Frame>
</Ui>

🧠 KillFeed.lua

local frame = CreateFrame("Frame")
frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")

-- Get class name if player is in party or raid
local function GetUnitClass(name)
    for i = 1, GetNumRaidMembers() do
        local raidName, _, _, _, class = GetRaidRosterInfo(i)
        if raidName == name then
            return class
        end
    end
    for i = 1, GetNumPartyMembers() do
        local unit = "party"..i
        if UnitName(unit) == name then
            local _, class = UnitClass(unit)
            return class
        end
    end
    return "Unknown"
end

frame:SetScript("OnEvent", function()
    local _, eventType, _, sourceGUID, sourceName, sourceFlags, _, destGUID, destName, destFlags, _, spellID, spellName = CombatLogGetCurrentEventInfo()

    if eventType == "SPELL_DAMAGE" or eventType == "SWING_DAMAGE" then
        local destIsPlayer = bit.band(destFlags, COMBATLOG_OBJECT_TYPE_PLAYER) > 0
        local sourceIsPlayer = bit.band(sourceFlags, COMBATLOG_OBJECT_TYPE_PLAYER) > 0

        if sourceIsPlayer and destIsPlayer and UnitIsDeadOrGhost(destName) then
            local killerClass = GetUnitClass(sourceName)
            local victimClass = GetUnitClass(destName)
            local spell = spellName or "Melee"

            local message = string.format("%s [%s] [%s] β†’ %s [%s]", sourceName, killerClass, spell, destName, victimClass)
            KillFeedText:SetText(message)

            C_Timer.After(5, function()
                KillFeedText:SetText("")
            end)
        end
    end
end)

πŸš€ Optional Ideas

  • Add fade-out animations or scroll effects (like MSBT or Parrot)
  • Queue recent kills in a multi-line log
  • Add sound support via ChatSounds or custom audio
  • Restrict feed to Battlegrounds or Arenas only

βœ… Compatibility

  • Works on Wrath of the Lich King (3.3.5a)
  • Tested with ElvUI, Recount, Parrot, MSBT

πŸ“œ License

This project is open-source and free to use or modify.


πŸ™‹β€β™‚οΈ Contributing

Got a feature idea or bug fix? Open an issue or PR.

About

WoW 3.3.5 Killfeed Addon

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages