Skip to content

feat: added street brawl ability changes - #413

Merged
Vergir merged 7 commits into
developfrom
feature/street-brawl-ability-changes
Jul 27, 2026
Merged

Vergir merged 7 commits into
developfrom
feature/street-brawl-ability-changes

Conversation

@Vergir

@Vergir Vergir commented Jul 26, 2026 •

Copy link
Copy Markdown
Collaborator

Add code to street_brawl.py that re-parses ability-data and extracts only Street Brawl specific changes, then writes it to street-brawl-data.json.

We have ability changes on the Street Brawl Page
https://deadlock.wiki/Street_Brawl#Heroes
But this list is outdated due to being 100% manual.

The re-parsing is done in a way that mirrors object structure from ability-data.json so it can be parsed by wiki modules in the same way.

Parsed data in deadlock-data PR - Reopen deadbot PR or run deploy workflow for this branch here to reparse the data

Vergir added 6 commits July 11, 2026 16:32
…json

Parse m_mapItemDraftBucketing and m_mapItemDraftCounterWeights from hero
data into a dedicated street-brawl-data.json under an "item-buckets"
object, instead of bloating hero-data.json.

Every hero shares one pool of draftable items (AvailableItems) that
default to the "Normal" bucket at weight 1.0. Only per-(hero, item)
deviations are stored, as a flat Outliers edge list carrying whichever of
Bucket / Weight / Counter differ from that default. The full bucketing is
reconstructed as Normal @ 1.0 unless an outlier overrides it.

Registers the StreetBrawlData.json wiki data page.
Street Brawl bakes mode-only ability values into abilities.vdata next to
the base value each replaces:

    m_strValue    <- m_strStreetBrawlValue    (a property's value)
    m_flStatScale <- m_flStreetBrawlStatScale (its spirit scaling)
    m_strBonus    <- m_strStreetBrawlBonus     (an upgrade's bonus)

Re-run the ability parser on a copy of the data with those swaps applied,
then keep only the leaves that differ from the normal parse. The result
mirrors ability-data.json exactly, so a Street Brawl value can be
referenced the same way as its normal counterpart, e.g.
{{data|streetbrawl|A|AbilityCooldown}} vs {{data|abilities|A|AbilityCooldown}}.

Empty/None overrides are treated as "unset" and skipped so they can't emit
an unusable "" leaf. Same-length lists (upgrade tiers) keep their indices,
collapsing unchanged tiers to {}. The existing item-draft bucketing export
is unchanged, now nested under "item-buckets" alongside "ability-changes".
Editors read this file to know exactly what to write for the Street Brawl
section, so it should carry only what differs. Two remnants of the full
ability shape are removed:

- Changed Upgrades lists collapsed the whole positional list, padding
  unchanged tiers with empty {}. They now collapse to an object keyed by
  the 1-based tiers that actually changed (e.g. {"3": {...}}), so unchanged
  tiers vanish. Keys stay index-aligned with ability-data.json's list.
- Dropped the redundant per-entry "Key" field (it duplicates the map key);
  "Name" is kept so editors can tell which ability an entry is.
…l-ability-changes

# Conflicts:
#	src/parser/parser.py
#	src/parser/parsers/street_brawl.py
#	src/wiki/pages.py

@hassayag hassayag left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The street brawl fans will be happy with this 🙌

@hassayag hassayag changed the title Feature: Street Brawl ability changes feat: added street brawl ability changes Jul 27, 2026
@Vergir
Vergir merged commit 7d17016 into develop Jul 27, 2026
3 checks passed
@Vergir
Vergir deleted the feature/street-brawl-ability-changes branch July 27, 2026 22:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants