Module:Buildup/docGive feedback
This is the documentation page for Module:Buildup
Overview
editThe Buildup module provides functions for calculating the Status Effect Buildup per shot for heroes.
This is used for items that apply a status effect based on filling a meter (e.g., Toxic Bullets, Silencer, Inhibitor). The calculation normalizes the buildup based on the hero's Fire Rate (RPS) to ensure the time-to-activate is roughly consistent across different weapon types.
It references Data:HeroData.json for weapon stats (RPS, Spin-up) and Data:ItemData.json for the item's base buildup value.
Functions
editmain
editThe primary entry point used by Template:Buildup. It automatically detects whether to generate a full table or a single value based on the number of parameters provided.
get_bps
editCalculates the specific buildup percentage per shot for a single hero.
Parameters
edit- hero_name - Name of the hero in English (e.g., "Abrams") or the hero key.
- item_name - Name of the item (e.g., "Toxic Bullets").
Example
edit{{#invoke:Buildup|get_bps|Haze|Toxic Bullets}}
Returns:
7.4
write_buildup_table
editGenerates a sortable wikitable listing the buildup percentage and shots-to-proc for every valid hero.
Parameters
edit- item_name - Name of the item (e.g., "Silencer").
Example
edit{{#invoke:Buildup|write_buildup_table|Silencer}}
Internal Logic
editThe module uses the following formula derived from the game's mechanics:
The Effective RPS is determined by analyzing specific hero mechanics:
- Standard Heroes: Uses the standard
RoundsPerSecondfrom the data files. - Spin-Up Heroes: For heroes like McGinnis, the calculation uses their Max Spin RPS.
- Burst/Hybrid Heroes: For heroes like Paige and The Doorman, the game displays a Fire Rate that includes an "Intra-Burst" delay, but the Buildup mechanic ignores this delay. The module detects this configuration (Burst Count = 1, but Interval > 0) and mathematically removes the interval to determine the true Effective RPS.
- Shots to Proc: The table uses
math.ceilto always round up, ensuring accuracy for cases like Kelvin where the math results in 19.99% (requiring 6 shots, not 5).