Custom Attribute List - nosoop/SM-TFCustomAttributeStarterPack GitHub Wiki

Here are a list of weapon attributes in this pack.

Newer attributes are listed at the bottom; this page was created some time after the Starter Pack came out so the first few aren't in chronological order.

(A "varstring" is a string containing space-delimited "key=value" entries.)

alt fire throws cleaver

  • Throws a Flying Guillotine on alt-fire, disabling the weapon for a period of time.
  • Provided by alt_fire_throws_cleaver.smx
  • Attribute value is a varstring with the following options:
    • velocity sets the speed of the cleaver. Default is 3000 HU.
    • regen is the amount of time the weapon is unusable in seconds. Default is 10s.
  • Requested by Karma Charger and used in his Magnum Opus video.
  • Can be applied to any primary / secondary / melee weapon. Other alt-fire effects (e.g., class skills) may take priority.

custom buff type

  • Shared plugin that allows plugins to implement their own custom buff type. This hooks directly into the system, preventing side effects from attempting to work around the game's buffs (flickering buffs, HUD elements, etc.)
  • Provided by attr_buff_override.smx
  • Attribute value is a string specifying the buff type that is applied. See the custom buffs section for buff implementations.
  • Applied to the Soldier's buff items and Sniper's Hitman's Heatmaker. Other rage-using items may work. custom soldier buff type is a name kept for backwards compatibility.

medigun charge is group overheal

  • Ubercharge heals all players within a given radius.
  • Provided by attr_group_overheal_uber.smx
  • Attribute value is a varstring with the following options (values for ubercharge healing only):
    • range sets the range of the radius healing. Default is 5x dispenser range (320 HU).
    • heal_rate is the amount players are healed per second. Default is 30 HP/s.
    • overheal_ratio is the multiplier of the heal recipient's max health that overheal is set to. Defaults to 1.5, or 150%.
    • overheal_duration_mult is the decay rate of the overheal. Larger numbers correspond to slower decay. Defaults to 2.0.
    • fixed_heal_rate determines if players are healed at a faster rate when they are out of combat. Defaults to 1 (enabled).
  • Requested by Karma Charger and used in his Der Schmerzschild video.
  • Applied to Mediguns.

disable medic regen while active

  • Disables Medic's natural healing regen while the weapon with this attribute is active.
  • Provided by attr_medic_disable_active_regen.smx
  • Attribute value is any non-zero number to enable.
  • Requested by Crafting.
  • Can be applied to any weapon, though it only does anything when the weapon is equipped by a Medic.

nailgun custom slow

  • Adds a slowdown with a duration that is stacked on hit.
  • Provided by attr_nailgun_slow.smx
  • Attribute value is a varstring with the following options:
    • move_ratio sets the max speed multiplier on the target player. Default is 0.5, or half speed.
    • slow_add_time is the amount of slow time added per hit. Defaults to 1 second.
    • slow_max_time is the maximum amount of slow time applied to a player. Defaults to 5 seconds.
  • Requested by Karma Charger and used in his Nailgun video.
  • Can be applied to any damage-dealing weapon.

rage fill multiplier

  • Multiplies the amount of rage that damage provides to the rage meter. banner rage fill multiplier is a legacy version that only checks banner-based items.
  • Provided by attr_rage_meter_mult.smx
  • Attribute value is a multiplier on rage. Divide the rage's required fill amount by the multiplier to get your damage requirement.
  • Requested by Karma Charger and used in his Merasmus' Private Stash 2.0 video, among others.
  • Applicable to any non-wearable items (excludes things like Sniper shields).

rage on headshot

  • Adds to the rage meter on headshots.
  • Provided by attr_rage_on_headshot.smx
  • Attribute value is a varstring with the following options:
    • add_while_draining determines if rage can be added to a currently active meter. Defaults to 0 (false).
    • amount is the amount of rage to add to the meter. Maximum rage is 100.0.
  • Requested by Karma Charger and used in his Essendon Eliminator video.
  • Only applicable to Sniper Rifles, and I think they need to support rage.

sapper recharge time

  • Disables the Spy's Sapper for a period of time after it's been placed on a building.
  • Provided by attr_sapper_recharge_time.smx
  • Attribute value is a floating-point number specifying the amount of time the sapper is disabled for.
  • Requested by Karma Charger and used in his Subjugated Saboteur video.
  • Only applicable to Sappers.

sapper reprograms buildings

  • Converts sapped buildings to the Spy's team after a period of time. Buildings are destroyed later. Engineer still has ownership of the building. Unfit for production use; multiple bugs are present due to the ownership method used.
  • Provided by attr_sapper_reprograms_buildings.smx
  • Attribute value is a varstring with the following options:
    • sap_time is the grace period after a building is sapped before the Spy has ownership. Defaults to 5 seconds.
    • self_destruct_time is the grace period before the building is destroyed. Must be larger than 0. Defaults to 15.0. Should probably be moved into a separate attribute.
    • can_autoremove is a bitfield representing the types of reprogrammed buildings that can be force-destroyed when the owning Engineer changes classes or wrenches — 1 for Dispenser, 2 for Teleporter, 4 for Sentry Gun. Add (bitwise-or) the values. For example, to allow Dispensers and Teleporters to automatically detonate, use the value 3 (1 + 2). Manual detonations through the Destroy PDA are always prevented.
      • Other plugins that have to handle destroying buildings on loadout changes can detect this by checking if bit (1 << 16) is set on the m_spawnflags property on the building.
  • Requested by Karma Charger and used in his Subjugated Saboteur video. can_autoremove support requested by kingofings.
  • Only applicable to sappers.

weapon always gibs on kill

  • Weapon always gibs players.
  • Provided by attr_weapon_always_gibs_on_kill.smx
  • Attribute value is any non-zero number to enable.
  • Requested by Karma Charger.
  • Applicable to any weapon.

cloak debuff time scale

  • Overrides the game's hardcoded debuff condition reduction amount (e.g., Jarate, bleed, afterburn) while a player is cloaked.
  • Provided by cloak_debuff_time_scale.smx
  • Attribute value is a multiplier. 0.5 makes status effects last half as long, 2.0 makes them last twice as long, etc. Default is what the game has it set to (pulled from the game, approx. 0.57 as of this writing; the game implements it as a fixed time decrease of 0.75 seconds per game tick).
  • Requested by Crafting.
  • Applicable to Spy's invis watches.

condition stack on hit

  • Applies an arbitrary condition for a stackable duration whenever a player is hurt with this weapon.
  • Provided by condition_stack_on_hit.smx
  • Attribute value is a varstring with the following options:
    • condition is the condition's integer value or internal name to be applied. Not all conditions are guaranteed to work.
    • falloff_range_min / falloff_range_max is the range at which the condition duration drops off. Minimum range is 32.0 (which is about as close as another player can be).
    • duration_at_min / duration_at_max is the range of durations that can be set with the condition.
    • max_duration is the maximum duration that can be applied.
    • additive determines if the computed duration is added to an existing timer if present.
  • Requested by Karma Charger and used in his Plastic Pisstol and Golden Showers videos.
  • Applicable to any damage-dealing weapon, though particular options indicate intent for ranged weapons.

damage increase mult on hit

  • Each hit adds to a weapon's damage multiplier.
  • Provided by damage_increase_on_hit.smx
  • Attribute value is a varstring with the following options:
    • amount is the additive amount applied to the damage multiplier.
    • max is the maximum multiplier amount (e.g., 0.5 means the damage caps out at 150%).
    • decay_start determines when the multiplier begins to decay after no hits.
    • decay_per_second is the rate that the multiplier decreases.
    • reset_on_kill determines if kills reset the additive multiplier to 0.
    • show_on_hud determines if the relative bonus damage is displayed on the HUD. (Requires Custom Status HUD.) Defaults to true; explicitly set to 0 to hide.
    • ignore_self_dmg prevents bonus damage being modified on self-inflicted damage.
    • window_max clamps the amount added to the damage multiplier in a time window.
    • window_duration is the time window.
  • Requested by Crafting.
  • Applicable to any damage-dealing weapon. However, due to how it's implemented, this attribute does not work predictably when hitting multiple targets at the same time.

oil replaces airblast

  • Flamethrower alt-fire creates an "oil" projectile that can be ignited by fire damage-dealing weapons or burning players. A reimplementation of the Firkin' Flamer from AW2 with a much more efficient oil system.
  • Provided by flamethrower_alt_fire_oil.smx
  • Attribute value is a non-zero number to enable.
  • Requested by Crafting.
  • Applicable to flamethrowers.

full clip refill after time

  • Automatically refills the entire clip of a weapon after a set time since the first shot. Does not affect stored ammo.
  • Provided by full_clip_refill_after_time.smx
  • Attribute value is a number indicating the amount of time before the clip is refilled.
  • Requested by Karma Charger and used in his Plastic Pisstol video.
  • Applicable to any weapon with a clip. Untested on weapons that use the ammo counter as their clip (such as flamethrowers and miniguns).

keep disguise on attack

  • ❌ This attribute has been removed. Please use the native implementation via Hidden Dev Attributes instead.
  • Prevents a Spy from losing their disguise when they attack. Wrapper for an unusable official attribute.
  • Provided by keep_disguise_on_attack.smx
  • Attribute value is non-zero to enable.
  • Requested by Crafting.
  • Applicable to any weapon that can attack, though obviously only works if the player is disguised.

lunchbox override pickup type

  • Directly patches the Heavy's lunch item throw behavior to allow specifying various pickups. Models remain unchanged.
  • Provided by lunchbox_override_pickup_type.smx
  • Attribute value is a string specifying an entity class (hardcoded restrictions to item_healthammokit, item_ammopack_*, and item_healthkit_* — other entity classes may or may not work, remove the checks at your peril).
  • Requested by Crafting.
  • Applicable to Heavy's secondary items.

mod crit type on hitgroup

  • Applies a crit modifier when hitting a specific hitgroup. Like critting on headshots, but for any weapon. And any body part (recognized by the game, anyways).
  • Provided by mod_crit_type_on_hitgroup.smx
  • Attribute value is a varstring with the following options:
    • hitgroup is the hit group that must be hit to apply the modifier. See HITGROUP_* definitions in shareddefs.h from the SDK.
    • crit_type is the critical hit type to set. 1 for mini-crits, 2 for full crits. Higher values supercede lower ones (i.e., critboost overrides mini-crits caused by this weapon).
  • Requested by Karma Charger and used in his Magnum Opus video.
  • Applicable mainly to hitscan weapons.

mod building health

  • Sets building maximum health to an arbitrary value. Probably doesn't work well with buildings past level 1.
  • Provided by override_building_health.smx
  • Attribute value is a varstring with the following options:
    • sentry to set sentry health.
    • dispenser to set dispenser health.
    • teleporter_entrance and teleporter_exit to specify teleporter entrance and exit health; both can also be specified with teleporter.
  • Requested by Crafting.
  • Applicable to melee weapons.

mod syringes heal teammates

  • Syringes heal a fixed amount when hitting teammates.
  • Provided by projectile_heal_on_teammate_contact.smx
  • Attribute value is a varstring with the following options:
    • amount is the amount of health to provide on hit.
    • overheal_max is the overheal ratio to heal up to. 0.0 means no overheal, 0.5 for 150% of health, etc.
  • Only works on Syringes. Changing the supported class names may allow other projectiles to support healing.

medigun drains health

  • Medigun can latch onto enemies and healing any target drains their health. Note that damaging teammates requires setting mp_friendlyfire to "1". Gain 10% Ubercharge for every player killed.
  • Provided by joke_medigun_mod_drain_health.smx
  • Attribute value is the amount of damage to deal per second.
  • Requested by Karma Charger and is used in his Medick-Gun video.
  • Only works on Medi-Guns.

ubercharge nukes everything in radius

  • Ubercharge triggers a massive explosion and screenshake, dealing 69420 damage to all buildings / players within the radius.
  • Provided by joke_medigun_mod_drain_health.smx
  • Attribute value defines the radius of the explosion.
  • Requested by Karma Charger and is used in his Medick-Gun video.
  • Only works on Medi-Guns.

jar is bleed on hit

  • Jar has a custom condition where players that are hit will bleed (similar to Gas Passer).
  • Provided by jar_is_bleed_on_hit.smx
  • Attribute value is bleed duration.
  • Requested by Karma Charger and used in his Truth Fruit video.
  • Works on Jarate, Mad Milk, and Gas Passer.

mult basegrenade explode radius

  • Modifies the radius of grenade-based projectiles. This sounds pretty redundant, but this also uniquely works with Jarate-like entities.
  • Provided by mult_basegrenade_explode_radius.smx
  • Attribute value specifies the radius multiplier.
  • Requested by Karma Charger and used in his Truth Fruit video.
  • Works on Jarate, Mad Milk, and Gas Passer. Might also work on the Grenade Launcher, but even stock attributes handle that better. Wrap Assassin uses a basegrenade (as does the Sandman), but the radius is hardcoded.

override projectile energy ball

  • Spawns Cow Mangler shots. The game's override projectile type can spawn them, but the positioning is wrong and no velocity is set; would need a better patch to fix those issues directly.
  • Provided by projectile_override_energy_ball.smx
  • Attribute value is non-zero to enable.
  • Requested by Karma Charger and used in his Mega Buster video.
  • Works on any shooting weapon (whatever override projectile type supports, probably).

airblast projectiles restores health

  • Airblasting projectiles restores health on the player.
  • Provided by airblast_projectiles_restores_health.smx
  • Attribute value is the amount of health to gain.
  • Requested by Karma Charger and used in his Magic Wand video.
  • Works on flamethrowers (including the Dragon's Fury). Works well with the airblast_destroy_projectile attribute.

airblast projectiles adds self condition

  • Airblasting projectiles adds a specified condition to the airblasting player for a specified duration.
  • Provided by airblast_projectiles_adds_self_condition.smx
  • Attribute value is a varstring with the following options:
    • condition is the condition's integer value or internal name to be applied. Not all conditions are guaranteed to work.
    • duration is the duration the condition is applied for.
  • Requested by Karma Charger and used in his Magic Wand video.
  • Works on flamethrowers (including the Dragon's Fury). Works well with the airblast_destroy_projectile attribute.

generate rage over time

  • The player's rage meter automatically fills over time. Note that this affects the rage meter specifically; other item charge meters don't necessarily use the same property.
  • Provided by generate_rage_over_time.smx
  • Attribute value is the amount of time in seconds before the rage meter is filled.
  • Requested by Karma Charger and used in his Talos video.
  • Works on any weapon.

generate rage on damage patch

  • A bunch of low-level fixes to use the Heavy's generate rage on damage attribute without the knockback rage effects. Sometimes you just want the meter.
  • Provided by generate_rage_on_dmg_patch.smx
  • Attribute value is a varstring with the following options:
    • disable_knockback to disable the knockback effect while the Heavy's rage is draining.
    • disable_rage_on_damage to disable the rage gain while dealing damage. I suppose you can also use the game's rage_giving_scale attribute to handle this instead.
    • disable_rage_damage_penalty disables the damage penalty applied to the Minigun while the rage is active.
  • Requested by Karma Charger and used in his Talos video.
  • Works on Miniguns.

minigun burst shot rage

  • Custom Heavy minigun rage effect that pauses firing for 1.5 seconds before unloading ammo at a faster rate and higher accuracy for 3 seconds. Not really suitable for production use — modifies game attributes directly on a weapon.
  • Provided by minigun_burst_shot_rage.smx
  • Attribute value is a varstring with the following options:
    • mult_postfiredelay to control the burst fire rate.
    • ammo_per_shot determines how much ammo is drained per burst shot.
    • mult_spread determines the accuracy of the weapon while in bust mode.
    • fire_delay_recharge determines the starting fire rate immediately after the burst is over.
    • recharge_period determines the amount of time the fire delay takes before it is set back to default.
  • Requested by Karma Charger and used in his Talos video.
  • Works only on Miniguns.

crossbow addcond on teammate hit

  • Crusader's Crossbow effect that applies a condition to teammates hit with the healing bolt. May require a certain amount of ubercharge to be deducted.
  • Provided by crossbow_addcond_on_teammate_hit.
  • Attribute value is a varstring with the following options:
    • condition is a condition index or internal name to be applied.
    • duration is an amount of time for the applied condition.
    • charge_required is the amount of charge required and deducted to trigger the condition effect. Must be a number between [0, 1].
  • Requested by Karma Charger and used in his Brainteaser video.
  • Only applicable to entities that shoot CTFProjectile_HealingBolt entities (Crusader's Crossbow).

custom lunchbox effect

  • Shared plugin that allows plugins to implement their own callback after using a Scout drink or a Heavy consumable. This hooks directly into the system. custom drink effect is an alias of the attribute name for backwards compatibility as this originally only supported the former.
  • Provided by custom_lunchbox_effect.smx
  • Attribute value is a string specifying the buff type that is applied. See the custom lunchbox effects section for buff implementations.
  • Applied to the Scout's drink secondary items (Bonk!, Crit-a-Cola) and Heavy consumable secondary items (Sandvich, Dalokohs, etc.).

mult energy ring speed

  • ❌ This attribute has been removed. Please use the native mult_projectile_speed attribute class with TF2 Attribute Support Fixes instead.
  • Scales the speed of tf_projectile_energy_ring entities.
  • Provided by energy_ring_speed_mult.smx
  • Attribute value is a float multiplier on the default speed (1200HU/s). Note that the game seems to clamp velocity components past around 3600HU/s, so multipliers past 3.0 may go in unexpected directions.
  • Requested by Karma Charger and used in his Wunderwaffe DG-2 video.
  • Only applicable to the Righteous Bison or Pomson, unless another plugin spawns them.

energy ring impact effect on destroy

  • Provides a screen shake and accompanying sound effect when a tf_projectile_energy_ring entity is destroyed. The sound is hardcoded into the plugin.
  • Provided by energy_ring_impact_effect.smx
  • Attribute value is a varstring with the following options:
    • radius controls the radius of the shake effect.
    • amplitude, frequency, and duration are float values that control the properties of the shaking.
  • Requested by Karma Charger and used in his Wunderwaffe DG-2 video.
  • Only applicable to the Righteous Bison or Pomson, unless another plugin spawns them.

energy ring instakill radius on destroy

  • Deals 31337 damage to entities that are near a destroyed tf_projectile_energy_ring entity. Effectively the same as ubercharge nukes everything in radius.
  • Provided by energy_ring_instakill_radius.smx
  • Attribute value is a float value that determines the instakill radius.
  • Requested by Karma Charger and used in his Wunderwaffe DG-2 video.
  • Only applicable to the Righteous Bison or Pomson, unless another plugin spawns them.

demo charge low gravity

  • Charging Demomen have their gravity modified, and may optionally have crits while in the air.
  • Provided by low_gravity_charge.smx
  • Attribute value is a varstring with the following options:
    • gravity controls the gravity scale. 1.0 for normal gravity.
    • low_grav_crits to enable full crits while in that low gravity state. Any non-zero number enables it.
  • Requested by Karma Charger and used in his Air Lock video.
  • Only applicable to Demoman secondary items (Shields, mainly).

mod crit type vs disguised players

  • ❌ This attribute has been removed. mod crit type on target condition serves the same purpose, but has greater flexibility in which conditions it can use.
  • Applies a crit modifier when hitting disguised players.
  • Provided by mod_crit_type_vs_disguised_players.smx
  • Attribute value can be set to 1 to apply mini-crits, or 2 for full crits.
  • Requested by Karma Charger and used in his Wild Hunter video.
  • Applicable to any damage-dealing weapon.

mod crit type vs sentry targets

  • Applies a crit modifier when hitting players currently being targeted by a Sentry Gun. (In the current implementation, the Sentry does not have to be owned by the player, nor does the Sentry need any bullets or rockets.)
  • Provided by mod_crit_type_vs_sentry_targets.smx
  • Attribute value can be set to 1 to apply mini-crits, or 2 for full crits.
  • Requested by Karma Charger and used in his Wild Hunter video.
  • Applicable to any damage-dealing weapon.

jar is poison

  • Replacement jar effect. Applies damage over time that cannot be removed with health packs or healing. Or anything, really. Needs a few extra fixes to clear it up on resupply and dying. Has a purple tint effect when poison damage effect is applied.
  • Provided by jar_is_poison.smx
  • Attribute value is a varstring with the following options:
    • dmg_per_tick determines the amount of damage applied per tick. Must be an integer.
    • interval determines the damage tick interval, in (partial) seconds.
    • duration determines how long the effect lasts.
  • Requested by Karma Charger and used in his Melf's Magic Poison video.
  • Applicable to Jar-based items.

minigun vacuum

  • Minigun mod that makes primary attack pull enemies in, dealing damage if they are close enough. Kills with this weapon delete the ragdoll. Does not include vacuum sound or wind particle effect.
  • Provided by minigun_vacuum.smx
  • Attribute value is a varstring with the following options:
    • interval determines the vacuum interval, in (partial) seconds.
    • vacuum_range is the range of the vacuum effect.
    • vacuum_pull_factor is the pull strength of the vacuum. It's hard to quantify due to friction.
    • damage_range determines the furthest distance that the vacuum can deal damage.
    • damage is the damage per second.
    • effect_cone_deg is the aiming tolerance of the vacuum / damage effect.
  • Requested by Karma Charger and used in his Enemy Sweeper video.
  • Applicable only to miniguns.

stack grenade damage custom

  • A custom grenade damage "stacking" effect. Damage is increased after direct hits and the effect resets when a grenade explodes without damaging any players (including splash damage).
  • Provided by stack_grenade_damage_custom.smx
  • Attribute value is a varstring with the following options:
    • add_dmg is the stackable bonus damage amount as a multiplier of the base damage (e.g., 0.25 means the damage is increased by 25% for each direct hit).
    • max_stack is the maximum times bonus damage can be applied.
  • Requested by Karma Charger and used in his Primed Directive video.
  • Applicable only to Grenade Launchers, probably.

tag last enemy hit

  • Enemies that were hit with a given weapon have a glow outline that is visible through walls and available to the attacker and his teammates. Not sure what happens when the target is invulnerable.
  • Provided by tag_last_enemy_hit.smx
  • Attribute value is the duration of the glow in seconds.
  • Requested by Karma Charger and used in his Haymaker 5000 video.
  • Applicable to any damage-dealing weapon.

minigun rage creates shield on deploy

  • Custom minigun attribute that creates the Medic's shield when spun-up. Drains rage; requires the game's generate rage on damage attribute to be applied.
  • Provided by minigun_rage_projectile_shield.smx
  • Attribute value is a varstring with the following options:
    • level is the shield level; 1 for the small shield and 2 for the upgraded one.
    • min_rage is the normalized (0.0 to 1.0) amount of rage required to activate the shield and start draining.
    • rage_cancelable is 1 if rage should be canceled when the weapon is idle.
    • rage_redeployable is 1 if the minigun can redeploy the shield when spun up and already draining.
  • Requested by Karma Charger and used in his Sphere video.
  • Applicable to Miniguns.

preserve rage

  • Retains an amount of rage on death, if it wasn't actively draining at the time.
  • Provided by preserve_rage.smx
  • Attribute value is the percentage amount (0 to 100) of rage that should be preserved. If multiple weapons have preserve rage, the minimum non-zero amount is kept.
  • Requested by Karma Charger and used in his Sphere video.
  • Applicable to non-wearable weapons.

projectile upgrades buildings

  • Projectile upgrades friendly buildings that it collides with.
  • Provided by projectile_upgrades_buildings.smx
  • Attribute value is the amount of metal deducted from your metal count and added to the building. Will use all remaining metal if the value is greater than the amount of metal currently available.
  • Requested by Karma Charger and used in his Attitude Adjuster video.
  • Applicable to projectile-firing weapons.

weapon unsap metal cost

  • Dealing damage to sappers with this weapon requires metal. You'll probably also want the game's damage applies to sappers attribute.
  • Provided by unsap_metal_cost.smx
  • Attribute value is the amount of metal deducted when hitting a sapped building.
  • Requested by Karma Charger and used in his Attitude Adjuster video.
  • Applicable to damage-dealing weapons.

mult damage vs sappers

  • Applies a modifier on sapper damage. Note that this stacks on top of the game's dmg bonus vs buildings attribute. Will also probably want damage applies to sappers here.
  • Provided by mult_damage_vs_sappers.smx
  • Attribute value is the damage multiplier on sappers.
  • Requested by Karma Charger and used in his Attitude Adjuster video.
  • Applicable to damage-dealing weapons.

pull target on hit

  • Applies a force on the victim in the direction of the attacking player when damaged (by anything besides bleeding and burning). Any existing velocity on the target is removed. Target also receives TF_COND_LOST_FOOTING, making them slide towards the attacking player.
  • Provided by pull_target_on_hit.smx
  • Attribute value is the pull velocity.
  • Requested by Karma Charger and used in his Harmony of Repair video.
  • Applicable to damage-dealing weapons.

mult soldier custom buff range

  • Adds the ability to modify the custom buff effect range. This does not modify the range on default buff effects (that is, you'll need a custom buff type attribute applied).
  • Provided by attr_buff_override.smx
  • Attribute value is a multiplier on the buff effect's radius.
  • Applicable to the Soldier's banner items.
  • Note: The native attribute class mod_soldier_buff_range is supported for built-in and custom buff effects. As it's not present in the schema, you would need to use a schema injecting mechanism such as Hidden Dev Attributes for the game to recognize the attribute.

sniper weapon rate mod on hit

  • Clicking on an enemy while zoomed in and fully charged with a Sniper Rifle applies a firing and reload rate modifier to the selected player (if they take damage). sniper weapon rate mod on hit ally is also available to apply the same modifiers to teammates.
  • Provided by sniper_weapon_rate_aim_target.smx
  • Attribute value is a varstring with the following options:
    • scale is the modifier (values smaller than one are shorter delays between reload / shots).
    • duration is the effect duration.
  • Requested by Karma Charger and used in his Moonbeam 2.0 video.
  • Applicable to the Sniper Rifle.

minigun has custom radial buff

  • The minigun provides a game condition to nearby players while it is revved up with ammo.
  • Provided by minigun_radial_buff.smx
  • Attribute value is a varstring with the following options:
    • radius is the maximum distance a teammate can be to receive the buff.
    • condition is a condition index or internal name to be applied.
    • duration is the effect duration.
  • Requested by Karma Charger and used in his Drive By video.
  • Applicable to miniguns.

weapon rate buff ally

  • The owner can hit teammates to provide them with a short firing and reload speed bonus.
  • Provided by weapon_rate_buff_ally.smx
  • Attribute value is a varstring with the following options:
    • scale is the weapon rate buff scale (numbers less than 1.0 increase firing / reload speed)
    • duration is the effect duration.
  • Requested by Karma Charger and used in his Backfill Backslap video.
  • Applicable to melee weapons.

mod crit type on target condition

  • Applies a crit modifier if the target player is under a specific condition. The weapon must be active.
  • Provided by mod_crit_type_vs_condition.smx
  • Attribute value is a varstring with the following options:
    • condition that the target must be in, as an integer value or internal name.
    • crit_type is the critical hit type to set. 1 for mini-crits, 2 for full crits.
  • Applicable to damage-dealing weapons.

mod crit type on attacker condition

  • Applies a crit modifier if the attacker / weapon owner is under a specific condition. The weapon must be active.
  • Provided by mod_crit_type_vs_condition.smx
  • Attribute value is a varstring with the following options:
    • condition that the attacker must be in, as an integer value or internal name.
    • crit_type is the critical hit type to set. 1 for mini-crits, 2 for full crits.
  • Applicable to damage-dealing weapons.

syringegun poison on hit

  • Custom damage mode that is triggered with secondary attack while the Medic's primary is active. Applies damage over time that cannot be removed with health packs or healing. Consecutive hits stack the duration of the effect.
  • Provided by syringegun_poison_on_hit.smx
  • Attribute value is a varstring with the following options:
    • buff_duration is the window of time that the Medic can deal poison damage.
    • duration is the duration of poison that is added on hit.
    • max_duration is the maximum duration of poison.
    • dmg_per_tick is the amount of damage inflicted per poison tick.
    • dmg_tick_interval is the time between poison ticks.
    • min_charge is the amount of charge required to trigger the effect, where 0.0 to 1.0 corresponds to 0% to 100% charge.
  • Requested by Karma Charger and used in his Leidwerfer video.
  • Applicable to Medic primary weapons.

weapon overheat

  • Firing a weapon in quick succession will force it to be disabled for a period of time.
  • Provided by weapon_overheat.smx
  • Attribute value is a varstring with the following options:
    • heat_rate is the percentage amount of overheat applied per instance of weapon fire (for flamethrowers it's per game tick) — 1.0 is 100%
    • heat_rate_alt is the percentage amount of overheat applied per instance of weapon alt-fire, or for miniguns, the amount gained per second while it is spun up and ready to fire. Same values as above.
      • Confirmed tested on the Minigun, Short Circuit (where it only applies overheat on successful use), and Flamethrower
    • cooldown is the duration the weapon is disabled once max overheat is reached
    • decay_time is the duration before overheat begins decaying
    • decay_rate is the amount of overheat decayed per second (1.0 is 100%)
    • overheat_dmg_scale is the multiplier applied to damage inflicted based on current overheat (1.0 is unchanged, default)
    • overheat_spread_scale is the multiplier applied to bullet spread based on current overheat (1.0 is unchanged, default)
  • An additional attribute weapon overheat sound controls the sound played when max overheat is reached. This should be a relative path to a sound file without the sound/ prefix.
  • A ConVar cattr_overheat_meter_mode is available to globally configure the overheat HUD display.
  • Requested by The Great Weegee; alt-fire work requested by kingofings.
  • Applicable to all weapons.

spontaneous explode at aim

  • A spontaneous explosion instantly materializes where the cursor is positioned, using the massive explosion from MvM. The shaking is stronger the closer the explosion is.
  • Provided by spontaneous_explode.smx
  • Attribute value is a varstring with the following options:
    • radius determines the explosion radius.
    • damage determines the amount of damage applied to entities within the explosion radius.
  • Requested by Karma Charger and used in his Dead Finger Mark II video.
  • Applicable to non-melee weapons with attacking capabilities.

sniper rifle zoomed reload

  • Sniper rifles with this attribute set can be reloaded without unscoping, much like the effect while in the Hitman's Heatmaker's "Focus" mode.
    • Do note that with client prediction in place, you will see part of the unzoom animation if running this on a dedicated server.
  • Provided by disable_sniper_unzoom.smx
  • Attribute value is a non-zero value to enable.
  • Requested by Karma Charger and used in his County Killer video.
  • Applicable to Sniper Rifles.

disorient on hit

  • Dealing damage with this weapon causes the victim's view to shift randomly.
  • Provided by disorient_on_hit.smx
  • Attribute value is a factor in the range 0 to 1 that defines the maximum amount the view can be shifted. A value of 1 indicates that the view can be shifted by a max of 90 degrees in pitch and yaw.
  • Requested by Karma Charger and used in his Supply Chain video.
  • Applicable to damage-dealing weapons.

mult basegrenade direct radius

  • Direct hits with grenades have their blast radius scaled.
  • Provided by mult_basegrenade_explode_radius.smx
  • Attribute value specifies the radius multiplier.
  • Requested by Crafting.
  • Applicable to the Demoman's grenade launchers.

shake on step

  • Every time the player takes a step, a visual shaking effect is applied to themselves and all nearby players. This is a passive attribute.
  • Provided by shake_on_step.smx
  • Attribute value is a varstring with the following options:
    • amplitude and frequency are shake parameters.
    • range determines the maximum range of the shaking. The amplitude of the shake applied to a player decreases linearly with range.
  • Requested by Karma Charger and used in his Joke Class: Tank video.
  • Applicable to any weapon, or can be applied to the player.

shake on hit

  • Every time the player hits anything (the ground, another player, etc.), a visual shaking effect is applied to themselves. If they hit a player, they also get a shaking effect.
  • Provided by shake_on_hit.smx
  • Attribute value is a varstring with the following options:
    • amplitude and frequency are shake parameters.
    • duration determines the duration of the shaking effect.
  • Requested by Karma Charger and used in his Joke Class: Tank video.
  • Applicable to melee weapons only.

reload full clip at once

  • Weapon replenishes the entire clip on reload, instead of just one shot. Avoids broken animations normally caused by toggling off the m_bReloadsSingly property on weapons.
  • Provided by reload_full_clip_at_once.smx
  • Attribute value is a non-zero value, specifically being one of the following:
    • If set to 1, the amount deducted from reserve ammo is equal to the amount added to clip, similar to full-clip reloads performed by the Pistol and SMG.
    • ... 2, the amount deducted is the maximum size of the clip (any ammo in the weapon before reloading is effectively discarded), similar to the behavior of the Force-a-Nature.
    • ... 3, the amount deducted is always 1 (the ammo count effectively being the number of times the weapon can be reloaded).
  • Requested by Karma Charger and first used in his M1 Garand video.
  • Can be applied to any non-energy-based weapon. Also known to work correctly with Pistols / SMGs / Revolvers (for discarding existing clips). Known issue with deducting twice on Rocket Launchers.

exploding shield bash

  • Player emits an explosion after charging with the shield. (The attribute name is currently a bit of a misnomer; it was originally written with the assumption that only impacts against another player / world geometry would trigger it.)
  • Provided by explosive_shield_bash.smx
  • Attribute value is a varstring with the following options:
    • particle is the particle used on explosion.
    • sound is a game sound entry used for the explosion.
    • damage and radius are hopefully self-explanatory at this point.
  • Requested by Karma Charger and used in his Chargin C4 video.
  • Can be applied to shields.

mult self flare radius

  • Scales the radius used when determining if the Pyro is affected by the blast of their flare projectile. The game calculates this separately from the blast radius inflicted on enemies.
  • Provided by flare_mods.smx
  • Attribute value specifies the radius multiplier.
  • Requested by Karma Charger and used in his Force-Ten-Scorch-Shot video.
  • Can be applied to flare guns.

mult self flare damage

  • Scales the damage received by a Pyro from their own flare.
  • Provided by flare_mods.smx
  • Attribute value specifies the damage multiplier.
  • Requested by Karma Charger and used in his Force-Ten-Scorch-Shot video.
  • Can be applied to flare guns.

addcond while active

  • Applies a condition to a player when a certain weapon is active, then removes it when the weapon is no longer active.
  • Provided by addcond_while_active.smx
  • Attribute value is a single name from the "Internal Name" column of this condition list.
  • Requested by JohnnyAlexander.
  • Can be applied to any non-wearable weapon (i.e., you must be able to switch to and holster it).

mvm attributes

  • Provides a subset of named MvM bot populator attributes.
  • Provided by mvm_attributes.smx
  • Attribute value is a space-delimited subset of the following strings: SpawnWithFullCharge, AlwaysCrit, VaccinatorBullets, VaccinatorBlast, VaccinatorFire, ImmuneBullet, ImmuneBlast, ImmuneFire, MeleeOnly, PrimaryOnly, SecondaryOnly.
    • An example of a valid value is the string "AlwaysCrit ImmuneBlast".
    • Holstered items' attribute values are also included in this calculation.
  • Requested by JohnnyAlexander.
  • Can be applied to any item.

ubercharge drain rate per extra player

  • Allows for modifying the rate of the additional Medigun active charge drain incurred when juggling heal targets.
  • Provided by uber_drain_rate_per_extra_player.smx
  • Attribute value is a multiplier on the charge drain — m * 1/8 charge drained per second, assuming normal ubercharge duration of 8 seconds. By default, this is the game's default rate of 0.5, meaning that each additional player being healed during the charge will cause an additional drain of 0.5 * 1/8 = 1/16 = 6.25% per second.
  • I felt like doing this. Needed an example of Source Scramble's GetAddressOfCell functionality.
  • Applicable to Mediguns.

owned building phasing

  • Allows the Engineer to pass through their Sentry Gun, Dispenser, or both.
  • Provided by owned_building_phasing.smx
  • Attribute value is a varstring with the following options:
    • sentry and dispenser, when set to 1, will allow the Engineer that owns the building to freely walk through it.
  • Requested by higps.
  • Applicable to melee weapons only.

custom ball impact effect

  • Shared plugin that allows other plugins to replace the effect that occurs when Sandman / Wrap Assassin balls hit an entity.
  • Provided by custom_ball_impact_effect.smx
  • Attribute value is a string specifying the name of an impact effect registered by another plugin.

mult damage vs targetcond

  • Modifies the damage applied to a player based on if they are under a given condition. Ignores DOT effects.
  • Provided by mult_damage_vs_targetcond.smx
  • Attribute value is a varstring with the following options:
    • condition is a condition index or internal name to check for.
    • scale is the factor that damage is modified by.