This is a free tool for City of Heroes (Homecoming) players. Give it a chat log and it turns an evening of play into real numbers: how much damage you did and how fast, what hit you and what actually got you defeated, whether the dice were fair, what you earned - and, with your build loaded, what to change first.
- How it works (and what stays on your machine)
- Turn on chat logging in the game
- Load a log
- Sessions - what they are and how they're found
- Start and name your own sessions
- What each tab shows
- Build check - export your build
- Chat
- Live mode
- Feedback and bug reports
- Sharing and exporting
- Privacy, in one place
- Tips and troubleshooting
Also on this site: Enhancements explained - SOs, sets, attuned, Boosters and Catalysts, and which to use when. The missing manual behind the build check's slotting advice.
1. How it works
Your browser does the work. When you open a log, the page reads the file right there on your computer and produces every number you see. Nothing is uploaded to view the Overview, Offense, Defense, RNG, Rewards, Social or Session log tabs - you could turn off your network after the page loads and they would still work.
Two features are different: the build check and Chat run on our server, so using either sends up the selected session's combat lines as the analyzer read them (structured data - the hits, rolls, rewards, and so on - plus the summary numbers your browser already computed). The log file itself stays on your machine, and the text of chat messages stays out of the upload (only which channel spoke, for the social counts) - with one narrow exception: when a teammate leaves the team, the Team-channel lines from the five minutes beforehand ride along so Chat can answer "why did they leave?". Tells and every other channel are never included. What is sent is kept for about an hour and then discarded. Loading a different log or picking another session starts fresh.
Session history (Build check tab) lives only in your browser's storage on that machine; nothing leaves your computer for it, and clearing browser data clears it.
2. Turn on chat logging in the game
- In the chat box, type
/logchat. It's a toggle, and it is per character: turn it on for each character you want tracked. It stays on across logouts until you toggle it off. (You can also find it under Menu → Options → Windows tab → Chat → Log Chat.) - The game writes one file per day, named
chatlog YYYY-MM-DD.txt, into<your Homecoming folder>\accounts\<your account name>\Logs\- on a typical Windows install,C:\Games\Homecoming\accounts\<account>\Logs. - That day's file holds every character you played that day. The analyzer separates them for you.
Named your pet? The game logs a renamed pet under the name you gave it ("Zap:" instead of "Catherine Wheel:"). The analyzer works out which pet it is from the powers it uses and shows both, as "Catherine Wheel (Zap)".
Where does pet damage go? Your call. By default a real pet's damage is shown as its own "Pet / henchman damage" figure, separate from your direct damage. Tick Count pet damage as mine (top of the Overview and Combat tabs, only shown when the session has pet damage) and it folds into your totals, DPS and power rankings instead. The setting is remembered in your browser. Your hit rate and the dice audit stay yours alone either way.
3. Load a log
Logs folder once and the analyzer loads
the newest days itself - and, crucially, Reload / Current session / Live keep watching the folder, so when the game starts
a brand-new file at midnight, it joins automatically. A picked file can never do that: a file that did not exist when you picked
it stays invisible to Reload, which is exactly how a midnight level-up once went missing.- Click Open log… (top right) or drag one or more
chatlogfiles onto the page. - Drop several days at once. The files are merged in time order, so a session that ran past midnight - the game starts a new file at 00:00 - is stitched back together, and you can analyze one character across all of them.
- If the file holds more than one session, you'll land on the Choose session screen first (see the next section). Every tab then shows numbers for the selected session only.
- No log handy? The two demo buttons load real sessions with player names replaced.
4. Sessions
A session is one stretch of play by one character. Everything the analyzer shows is per session, because "damage per second" only means something over the time you were actually playing - a number spread over a whole day, including the hours you were away, is meaningless.
Automatic detection
The analyzer splits a day's log into sessions on its own:
- An idle gap of more than 30 minutes starts a new session.
- Switching characters always starts a new session - two characters' numbers are never mixed.
- Midnight is not a boundary if you loaded both days' files: the session is stitched across it.
The Choose session screen lists what it found: character, start–end, length, damage, and - where the log shows it - the zones you crossed, the enemies you fought most, merits, and badges. Those are recognition cues to help you find the session you mean; the analyzer never claims to know what you were doing (a task force, a mission and street sweeping look alike in a log).
When a character has more than one session in the log(s) you provided, you can view stats for an individual session or for all of that character's sessions at once: click the All (N) sessions - <character name> option on the Choose session screen. They are analyzed together, so you can gather stats across multiple sessions, days, and so on.
Combat time
Within a session, the pace numbers - DPS over combat time, incoming DPS, combat uptime - are measured from your first fight to your last. The five minutes spent assembling the team, travelling and finding a mob don't count against you. The session's logged length and XP per hour still use the clock time, because that is how long you played.
5. Start and name your own sessions
The analyzer finds sessions automatically, but you can mark them yourself for exact boundaries and names. Two ways to write a marker into your log - both do exactly the same thing:
The easy way: /conprint
Type /conprint Starting a new session: ITF with supergroup in the chat box. That single command starts a new
session AND names it. /conprint Ending session closes one. /conprint simply prints a private note into
your own log - nobody else ever sees it, and nothing another player does can imitate it.
Bind it to a key for the common case: /bind F11 "conprint Starting_new_session" - inside a bind, conprint
cannot carry spaces, so use underscores; the analyzer reads them as spaces. A follow-up within a minute names the session,
typed (/conprint ITF with supergroup) or bound (/conprint ITF_with_SG shows as "ITF with SG").
The original way: a tell to yourself
/tell $name, Starting a new session works identically (bindable the same way; a second self-tell within a minute
names the session; /tell $name, Ending session closes it). Only a tell to your own name counts - tells to or
from other players never split anything, so nobody can "tell-inject" a session marker at you.
Either way
- Sent the marker a fight late? The analyzer backs the boundary up to the lull before that fight.
- Markers only ever affect YOUR analysis of YOUR log - they are invisible to everyone else in game (conprint is never broadcast; self-tells are private).
- After marking a new session in game, click Current session in the analyzer to reload and jump straight onto it.
6. What each tab shows
- Overview
- The headline numbers: total damage (with or without your pets' share - see the "Count pet damage as mine" tick box, section 2), DPS over combat time and while engaged, combat uptime, enemies defeated, XP and influence per hour, your hit rate, the enemies' hit rate against you, damage taken, defeats, drops - plus a damage-over-time chart, your top damage sources and where your damage went. Helped take down a Giant Monster? A card says how long the fight took, timed from your first exchange with it to its defeat.
- Offense
- Damage by power (with each power's share, ticks and average per tick), damage by type, how often you activated each power, control applied, a by-enemy-rank table (damage, average per direct hit, your accuracy and defeats against Minions, Lieutenants, Bosses, Elite Bosses, Archvillains - so you can see, for example, that your average hit on Bosses and above was 44% of your average on Minions), and an input-efficiency table: presses while recharging, out of range, invalid target, endurance crashes, and the endurance your own powers' crashes (Hasten wearing off, and the like) cost you.
- Defense
- What fought back: enemy hit rate and the game's own printed chance-to-hit against you (a live read of your defense) - strictly about you: hits your pets or mission allies took on their own log channels never count as yours, and a Mastermind's Bodyguard absorption gets its own tile. Also: damage taken by source and by type, healing and endurance received and given, control taken, and enemies you personally defeated. Each source is annotated with its rank (Minion, Boss, Archvillain…), the damage type it dealt, whether it was present in the seconds before your defeats, and its intensity while active - because a farmed underling can top the totals while never threatening you. A by-rank table shows how much each rank did to you, with the dominant damage type and their hit rate against you.
- RNG audit
- The game prints the exact roll for every attack. This tab compares your observed hit rate to what the game advertised, shows the roll distribution, and lists per-power accuracy. This is the argument every player has and nobody measures - here it is measured.
- Offense: Enemies section
- How your offense fared per enemy group and per enemy name, with a power-by-power breakdown when you click a row. The key column is "per hit vs your usual": a power consistently landing well under its own average damage against one enemy is being resisted - your what-not-to-use list for that group. Enemy levels are never logged, so trust consistent patterns, not single fights.
- Powers
- Every power you used, one row each - casts, hit rate (observed vs advertised), damage, cycle time, and notes like "sat ready 40%" or "2.2 targets/cast". Click a row for detail: the game's base stats, observed recharge, how long your mezzes actually kept targets out of the fight, and per-rank / per-group breakdowns. A summary shows each enemy group you fought and your best tool against it, and your pets' powers get their own section. Powers delivered by things you summon (the log names their inner powers - FlashPulse inside Seeker Drones, Volcanic Ground inside Volcanic Gasses) sit on their own "Delivered by your summons" shelf so they never mix with your own tray. Powers with no combat effect the log ever records - travel powers, armor toggles, self buffs like Hasten - collapse to a single "also used" line under the table instead of taking rows, and summoning casts (Volcanic Gasses, pet summons) get their own line pointing at where their output is shown. Run a build check to turn these observations into slotting advice.
- Rewards
- XP, influence, reward merits, tips, drops, and where items came from (combat drops vs. crafts, purchases and power grants).
- Social
- Chat traffic by channel, most active speakers, and what the server was advertising while you played.
- Session log
- The session's team, zone and revive events, plus server-wide announcements, in order.
- Build check
- See section 7.
- Chat
- See section 8.
Two more honesty notes you'll see on the page: "defeated by teammates (in range)" counts finishing blows near you, not your team's damage contribution (the log never records teammates' damage); and enemy ranks come from the game's own data files, looked up by name - the log itself never records an enemy's rank or level.
7. Build check - export your build
The Build check tab scores your build against the session you're looking at: which damage types actually hit you versus what your build resists or dodges, set-bonus coverage (Rule of Five applied), and what to change first - with concrete set and slot suggestions and where a freed slot can come from.
Export from the game
/build_savewrites your current build tobuild.txtin<your Homecoming folder>\accounts\<account>\Builds\- on a typical Windows install,C:\Games\Homecoming\accounts\<account>\Builds./build_save_file MyToon.txtwrites it under a name you choose, in the same folder - the one to use if you have several characters, since/build_savealways writes the samebuild.txt. To save somewhere else, give a full path - in quotes if it has spaces:/build_save_file "C:\My Builds\MyToon.txt".- Mids' Reborn files work too: save your build as
.mbdand load that.
Then either add it on the analyzer's start screen (Add your build too) before you open your log - it is checked by itself as soon as a session is picked - or open the Build tab, load the file (or paste its contents) and click Check build. The check is scored against the session currently selected - use the All-sessions chip when you have several, so a slotting decision rests on more than one evening.
Session history and Before / After: every session you view is remembered in this browser, per character. Once you've run build checks with two different builds and have a couple of sessions on each side, a Before/After card compares them - defeats per hour, endurance crashes, damage taken by type, damage per hit by foe. It's a hint, not a verdict, and it says so when the sample is thin.
8. Chat
Enable it and you get a short written read of the session - what your output looked like, what actually threatened you and what preceded your defeats, whether the dice mattered, and what the whole picture suggests changing first - followed by a box where you can ask questions in plain English: how accurate a power was, which enemy hit you hardest, what hit you right before a defeat, whether your holds landed. Every number in an answer is computed from your session; the answers describe what the log records and say plainly when something isn't in it (ordinary endurance spending, teammates' damage, exact death counts).
The read is written for the session you selected. Load your build first if you want the answers to take it into account.
9. Live mode
Playing right now? Load today's log, then click Live. The page re-reads the file every few seconds and updates the session you're viewing in place - your tab, your selected session and your chat stay where they are. Great for multi-monitor setups! Live needs a browser that can re-read a file you've picked (Chrome or Edge); elsewhere, just re-open the file when you want a refresh.
10. Feedback and bug reports
The Feedback button (top right) opens a short form that files a ticket with us. Choose bug, feedback or idea, write what you saw, and - optionally - leave a name and an email if you'd like a reply. The ticket carries what you type plus the character name, session length and which tab you were on, so a bug can be reproduced.
Donating a log: the front page has a "Send a log file…" button near the bottom. Every donated chatlog gets mined for parsing gaps - new powersets, line shapes we have not seen, enemies missing from our data - and that is what keeps the analyzer accurate as Homecoming changes the game. Logs include your chat, tells and all, so only send files you are comfortable with a human reading.
Sharing and exporting
Share (top bar, once a log is loaded) creates a read-only web page of the stats you are looking at and gives you a link that lasts 30 days - great for showing a build discussion or bragging about a run. What goes up is the SNAPSHOT you see: numbers, power names, enemy names, the session timeline. No chat text of any kind rides along (teammate departure entries keep only who, when, and how). Anyone with the link can view it; there is no listing, and links expire on their own.
Export downloads the same snapshot as a single self-contained HTML file - it works offline, forever, and prints cleanly: open it and press Ctrl+P to save a PDF.
11. What goes where
Short version: a combat log is mostly imaginary numbers - your imaginary character hit an imaginary robot for 45 imaginary points. There is not much to protect. The one part of a log that is genuinely yours is chat, tells especially, and here is how the tool treats it:
- Reading a log and viewing the statistics tabs happens in your browser; nothing is sent anywhere.
- The build check and Chat send the selected session's parsed combat lines and summary numbers to our server. Chat text stays out of that, with one disclosed exception: Team-channel lines from the five minutes before a teammate quits, so Chat can explain departures. Tells never go, full stop.
- Session history lives in your browser's storage; Feedback sends what you type.
- The demo sessions have player names replaced and private messages removed.
12. Tips and troubleshooting
- The picker shows one long session where you expected two. There was no 30-minute gap between them. Next time, send yourself
/conprint Starting a new session(section 5) - you can even do it a fight late. - Numbers look tiny (DPS in single digits). You're probably looking at a whole-day span or a session with long breaks - check the combat span in the Combat uptime tile, or use the picker to choose the right session.
- A character shows as "(inferred)". That session had no zone greeting naming the character, so the name was recovered from other lines. Loading the previous day's file often supplies the greeting.
- One of your powers is missing completely. Some powers strike through an invisible stand-in whose hits are logged only through the "Pet Damage Inflicted" channel - add that channel to a logged tab (section 2) and they will be counted as yours from then on.
- Just started a new session with your bind? Click Current session (top left) - it re-reads the log and jumps straight onto the newest session, fresh stats and all. Reload does the same re-read but stays on whatever you were viewing.
- Live isn't offered. Your browser can't re-read a picked file (Firefox, Safari); use Chrome or Edge, or re-open the file.
- Something looks off. Use Feedback - a note about which tab, which card and what you expected is enough.
- Never heard of a "custom window"? It's a panel of your own one-click buttons that follows you to every character - see what it is, or jump straight to the custom window builder to make one.
This site was created with the help of AI. A fan-made tool. Not affiliated with NCSOFT or the Homecoming team. City of Heroes and related marks belong to their owners.