boon-deadlock 0.2.0

Boon is a Deadlock demo / replay file parser
Documentation
//! Auto-generated by scripts/generate-name-tables from modifiers.vdata
//! Maps MurmurHash2(name, seed=0x31415926) → name string.
//!
//! Last updated: 2026-05-30

/// All known (hash, name) pairs sorted by hash.
const ENTRIES: &[(u32, &str)] = &[
    (26927483, "modifier_combat_status_bullet_hit"),
    (187100448, "modifier_life_steal_watcher"),
    (249741857, "modifier_citadel_in_shop"),
    (263365076, "modifier_citadel_in_friendly_base"),
    (314782158, "citadel_modifier_teleport"),
    (333314679, "citadel_modifier_hideout_teleport"),
    (349072833, "modifier_inside_interior_medium"),
    (463654992, "modifier_streetbrawl_buyphase_finished"),
    (468341383, "modifier_citadel_in_enemy_base"),
    (493390899, "modifier_inside_interior_small"),
    (577763337, "modifier_citadel_catapult_damage_stun"),
    (703763413, "modifier_streetbrawl_buyphase_drafting"),
    (716053107, "modifier_citadel_in_shoptunnel_amber"),
    (755818049, "modifier_trigger_push"),
    (898342393, "modifier_citadel_catapult_damage_watcher"),
    (907240048, "modifier_citadel_pulldown_to_ground"),
    (1053818083, "modifier_control_point_capturer_aura"),
    (1123720754, "modifier_citadel_cheater_curse"),
    (1164189067, "modifier_citadel_trooper_in_enemy_base_resist"),
    (1201131818, "modifier_citadel_knockdown"),
    (1352410816, "modifier_citadel_hideout_intro"),
    (1383541918, "modifier_in_tunnel"),
    (1398909042, "modifier_citadel_stunned"),
    (1438793537, "modifier_tier3_damage_pulse"),
    (1443635676, "midboss_modifier_damage_resistance"),
    (1510865637, "modifier_citadel_delayed_catapult_launch"),
    (1537481987, "modifier_citadel_in_fountain"),
    (1591258939, "modifier_citadel_halloween_mask"),
    (1603106661, "modifier_nearby_ally_resist"),
    (1635198563, "modifier_life_steal"),
    (1640201412, "modifier_citadel_in_hideout_zone"),
    (1705979192, "modifier_crowd_control_diminish_watcher"),
    (1774223509, "modifier_boss_invuln"),
    (1777455211, "modifier_hero_upgrade_bonuses"),
    (1873864326, "modifier_rejuv_pickup_aura"),
    (1954913723, "modifier_streetbrawl_trooper"),
    (
        2017094508,
        "modifier_street_brawl_round_start_zipline_boost",
    ),
    (2040761217, "modifier_force_duck"),
    (2050972778, "modifier_zipline_speed_trooper_first_wave"),
    (2059539911, "timer"),
    (2153080917, "modifier_zipline_speed_player_generator_kill"),
    (2153779323, "modifier_cinematic_intro_player"),
    (2162074139, "modifier_citadel_power_generator"),
    (2271820901, "modifier_tier2boss_laser_charge"),
    (2302920250, "modifier_citadel_stunned_no_cc_diminish"),
    (2331907665, "modifier_citadel_hideout_in_menu"),
    (2399992957, "modifier_citadel_unstick"),
    (2450912777, "modifier_delayed_apply"),
    (2485509559, "modifier_idol_pickup_aura"),
    (2691904787, "bonus_speed"),
    (2692055534, "modifier_citadel_hideout_intro_exit"),
    (2752619923, "modifier_citadel_in_mid_boss_temple"),
    (2759914938, "modifier_control_point_blocker_aura"),
    (2764898868, "modifier_control_point_capturer_aura_target"),
    (2786441271, "modifier_cinematic_intro_shrine"),
    (2805810496, "modifier_player_disconnected"),
    (2811191959, "modifier_bodygroup_choice"),
    (2874342196, "modifier_early_gold_pickup_aura"),
    (2886663832, "modifier_citadel_can_damage_tier3phase2_boss"),
    (3002355871, "modifier_low_health_glow"),
    (3139486147, "modifier_obscured_by_steam"),
    (3148362537, "modifier_hide_health"),
    (3158425058, "modifier_hero_testing_damage_aura"),
    (3164155771, "modifier_escalating_exposure_tech_armor_debuff"),
    (3201350425, "modifier_speed_boost"),
    (3258874729, "modifier_citadel_idol_walkback"),
    (3386602042, "modifier_neutral_gold_pickup_aura"),
    (3388042050, "modifier_tier3_boss_invuln"),
    (3388847715, "modifier_citadel_idol_return"),
    (3420861902, "modifier_t3boss_phase1"),
    (3475378696, "modifier_combat_status"),
    (3624783346, "modifier_citadel_in_hideout_map"),
    (3655055294, "modifier_tier2boss_electric_beam"),
    (3671936441, "modifier_citadel_catapult_damage_slow"),
    (3721859888, "modifier_zipline_speed_trooper_reinforcement"),
    (3808516958, "modifier_near_climbable_rope"),
    (3893350139, "modifier_citadel_disarmed"),
    (3950761869, "aura_target"),
    (3951357260, "modifier_cinematic_intro_npc"),
    (3967300088, "modifier_street_brawl_intro_player"),
    (3993162252, "modifier_debug_is_visible_to_enemy_team"),
    (3993435644, "modifier_citadel_in_shoptunnel_sapphire"),
    (4095551474, "modifier_no_teleport"),
    (4095968964, "modifier_control_point_blocker_aura_target"),
    (4158507401, "modifier_citadel_no_catapult"),
    (4267845006, "modifier_barrier_tracker"),
];

/// Look up a name by its MurmurHash2 ID.
pub fn modifier_name(id: u32) -> &'static str {
    match id {
        26927483 => "modifier_combat_status_bullet_hit",
        187100448 => "modifier_life_steal_watcher",
        249741857 => "modifier_citadel_in_shop",
        263365076 => "modifier_citadel_in_friendly_base",
        314782158 => "citadel_modifier_teleport",
        333314679 => "citadel_modifier_hideout_teleport",
        349072833 => "modifier_inside_interior_medium",
        463654992 => "modifier_streetbrawl_buyphase_finished",
        468341383 => "modifier_citadel_in_enemy_base",
        493390899 => "modifier_inside_interior_small",
        577763337 => "modifier_citadel_catapult_damage_stun",
        703763413 => "modifier_streetbrawl_buyphase_drafting",
        716053107 => "modifier_citadel_in_shoptunnel_amber",
        755818049 => "modifier_trigger_push",
        898342393 => "modifier_citadel_catapult_damage_watcher",
        907240048 => "modifier_citadel_pulldown_to_ground",
        1053818083 => "modifier_control_point_capturer_aura",
        1123720754 => "modifier_citadel_cheater_curse",
        1164189067 => "modifier_citadel_trooper_in_enemy_base_resist",
        1201131818 => "modifier_citadel_knockdown",
        1352410816 => "modifier_citadel_hideout_intro",
        1383541918 => "modifier_in_tunnel",
        1398909042 => "modifier_citadel_stunned",
        1438793537 => "modifier_tier3_damage_pulse",
        1443635676 => "midboss_modifier_damage_resistance",
        1510865637 => "modifier_citadel_delayed_catapult_launch",
        1537481987 => "modifier_citadel_in_fountain",
        1591258939 => "modifier_citadel_halloween_mask",
        1603106661 => "modifier_nearby_ally_resist",
        1635198563 => "modifier_life_steal",
        1640201412 => "modifier_citadel_in_hideout_zone",
        1705979192 => "modifier_crowd_control_diminish_watcher",
        1774223509 => "modifier_boss_invuln",
        1777455211 => "modifier_hero_upgrade_bonuses",
        1873864326 => "modifier_rejuv_pickup_aura",
        1954913723 => "modifier_streetbrawl_trooper",
        2017094508 => "modifier_street_brawl_round_start_zipline_boost",
        2040761217 => "modifier_force_duck",
        2050972778 => "modifier_zipline_speed_trooper_first_wave",
        2059539911 => "timer",
        2153080917 => "modifier_zipline_speed_player_generator_kill",
        2153779323 => "modifier_cinematic_intro_player",
        2162074139 => "modifier_citadel_power_generator",
        2271820901 => "modifier_tier2boss_laser_charge",
        2302920250 => "modifier_citadel_stunned_no_cc_diminish",
        2331907665 => "modifier_citadel_hideout_in_menu",
        2399992957 => "modifier_citadel_unstick",
        2450912777 => "modifier_delayed_apply",
        2485509559 => "modifier_idol_pickup_aura",
        2691904787 => "bonus_speed",
        2692055534 => "modifier_citadel_hideout_intro_exit",
        2752619923 => "modifier_citadel_in_mid_boss_temple",
        2759914938 => "modifier_control_point_blocker_aura",
        2764898868 => "modifier_control_point_capturer_aura_target",
        2786441271 => "modifier_cinematic_intro_shrine",
        2805810496 => "modifier_player_disconnected",
        2811191959 => "modifier_bodygroup_choice",
        2874342196 => "modifier_early_gold_pickup_aura",
        2886663832 => "modifier_citadel_can_damage_tier3phase2_boss",
        3002355871 => "modifier_low_health_glow",
        3139486147 => "modifier_obscured_by_steam",
        3148362537 => "modifier_hide_health",
        3158425058 => "modifier_hero_testing_damage_aura",
        3164155771 => "modifier_escalating_exposure_tech_armor_debuff",
        3201350425 => "modifier_speed_boost",
        3258874729 => "modifier_citadel_idol_walkback",
        3386602042 => "modifier_neutral_gold_pickup_aura",
        3388042050 => "modifier_tier3_boss_invuln",
        3388847715 => "modifier_citadel_idol_return",
        3420861902 => "modifier_t3boss_phase1",
        3475378696 => "modifier_combat_status",
        3624783346 => "modifier_citadel_in_hideout_map",
        3655055294 => "modifier_tier2boss_electric_beam",
        3671936441 => "modifier_citadel_catapult_damage_slow",
        3721859888 => "modifier_zipline_speed_trooper_reinforcement",
        3808516958 => "modifier_near_climbable_rope",
        3893350139 => "modifier_citadel_disarmed",
        3950761869 => "aura_target",
        3951357260 => "modifier_cinematic_intro_npc",
        3967300088 => "modifier_street_brawl_intro_player",
        3993162252 => "modifier_debug_is_visible_to_enemy_team",
        3993435644 => "modifier_citadel_in_shoptunnel_sapphire",
        4095551474 => "modifier_no_teleport",
        4095968964 => "modifier_control_point_blocker_aura_target",
        4158507401 => "modifier_citadel_no_catapult",
        4267845006 => "modifier_barrier_tracker",
        _ => "MODIFIER_NOT_FOUND",
    }
}

/// Return all known (hash, name) pairs.
pub fn all_modifiers() -> &'static [(u32, &'static str)] {
    ENTRIES
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn known_first_entry() {
        assert_eq!(modifier_name(26927483), "modifier_combat_status_bullet_hit");
    }

    #[test]
    fn known_mid_entry() {
        assert_eq!(modifier_name(2271820901), "modifier_tier2boss_laser_charge");
    }

    #[test]
    fn unknown_id_zero() {
        assert_eq!(modifier_name(0), "MODIFIER_NOT_FOUND");
    }

    #[test]
    fn unknown_id_max() {
        assert_eq!(modifier_name(u32::MAX), "MODIFIER_NOT_FOUND");
    }

    #[test]
    fn all_modifiers_not_empty() {
        assert!(!all_modifiers().is_empty());
    }
}