City Tools Help

← Back to the analyzer

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.

On this page
  1. How it works (and what stays on your machine)
  2. Turn on chat logging in the game
  3. Load a log
  4. Sessions - what they are and how they're found
  5. Start and name your own sessions
  6. What each tab shows
  7. Build check - export your build
  8. Chat
  9. Live mode
  10. Feedback and bug reports
  11. Sharing and exporting
  12. Privacy, in one place
  13. 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

Also check Menu > Options > Windows > Chat > Chat Timestamps and pick "24 hour with seconds" - the analyzer needs each line's time to place it. With timestamps disabled (or without seconds) the log still writes, but the tool cannot line events up.
  1. 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.)
  2. 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.
  3. That day's file holds every character you played that day. The analyzer separates them for you.
The game logs what appears in your chat windows. With the default chat tabs that includes the combat channels the analyzer needs; if you've removed the Combat and Damage channels from every tab, they may not be logged.
Powers that strike through a stand-in. Some attacks are delivered by an invisible helper the game treats as a pet - for instance, Meteor spawns a hidden pseudo-pet that deals its damage for it. The game only writes such hits to the log if the Pet Damage Inflicted channel is in a logged chat tab (Menu → Options → Windows → Chat, or right-click a tab → Edit Tab). Add it and the analyzer credits those hits to you, under the power's own name, not as pet damage. Real pets (Masterminds, Lore pets, Phantom Army and friends) still show up as pets.

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

Best way (Chrome/Edge): Open folder… Pick your 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.

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:

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

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.
Defeats are always "at least N". The game writes no line when you are defeated. The analyzer infers defeats from two things it does write - the "work off debt" rewards that follow one, and revive lines: your own self-revives (the Awaken family of inspirations, Rise of the Phoenix, Soul Transfer, Second Wind, Restore Essence, Renewal of Light and kin) and a teammate reviving you with a power that only works on the defeated (Resurrect, Mutation, Power of the Phoenix, Conduit of Pain, Elixir of Life and kin) - and counts each defeat once. It is a floor, never an exact count: a second death inside one debt run, a hospital trip inside it, a revive that leaves no line of its own (Howling Twilight, Rebirth, incarnate Destinies), deaths below level 10, and deaths whose debt was absorbed by Patrol XP leave no trace.

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

Slotting advice talks about sets, attuned pieces, Boosters and Catalysts. If those terms blur together, read Enhancements explained first - ten minutes, and written for exactly that confusion.

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

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

Chat can write keybinds and macros for you. Ask things like "make me a bind that follows my teammate and heals them" or "build a macro that targets the nearest Sapper". Answers are grounded in a catalog of every Homecoming slash command (mined page-by-page from the Homecoming wiki) and in your own power names from the log, so the commands are real and the power names are spelled the way the game wants them.

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:

12. Tips and troubleshooting

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.