Module:Buildup/docGive feedback
This is the documentation page for Module:Buildup
Overview
The 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
main
The 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
Calculates the specific buildup percentage per shot for a single hero.
Parameters
- 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
{{#invoke:Buildup|get_bps|Haze|Toxic Bullets}}
Returns:
7.4
write_buildup_table
Generates a sortable wikitable listing the buildup percentage and shots-to-proc for every valid hero.
Parameters
- item_name - Name of the item (e.g., "Silencer").
Example
{{#invoke:Buildup|write_buildup_table|Silencer}}
Internal Logic
The module uses the following formula derived from the game's mechanics:
- Spin-Up Heroes: For heroes like McGinnis, the calculation uses their Max Spin RPS to ensure accurate representation of their intended buildup rate.
- Shots to Proc: When generating tables, the module uses a Ceiling function (rounding up) to determine shots required. This accounts for cases like Kelvin where the math results in 19.99%, requiring 6 shots rather than the mathematically rounded 5.