-
Notifications
You must be signed in to change notification settings - Fork 10
Custom Attribute List
nosoop edited this page Jan 14, 2022
·
74 revisions
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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 value3
(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 them_spawnflags
property on the building.
- Other plugins that have to handle destroying buildings on loadout changes can detect this by checking if bit
-
- Requested by Karma Charger and used in his Subjugated Saboteur video.
can_autoremove
support requested by kingofings. - Only applicable to sappers.
- 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.
- 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.
- 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 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.
- 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.
-
- Requested by Crafting.
- Applicable to any damage-dealing weapon.
- 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.
- 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).
- ❌ 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 bykeep_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.
- 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_*
, anditem_healthkit_*
— other entity classes may or may not work, remove the checks at your peril). - Requested by Crafting.
- Applicable to Heavy's secondary items.
- 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. SeeHITGROUP_*
definitions inshareddefs.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.
- 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
andteleporter_exit
to specify teleporter entrance and exit health; both can also be specified withteleporter
.
-
- Requested by Crafting.
- Applicable to melee weapons.
- 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 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 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 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.
- 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.
- 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).
- 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.
- 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 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.
- 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.
- 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'srage_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.
- 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.
- 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 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).
- 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.).
- ❌ This attribute has been removed. Please use the native
mult_projectile_speed
attribute class with TF2 Attribute Support Fixes instead. Scales the speed oftf_projectile_energy_ring
entities.Provided byenergy_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.
- 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
, andduration
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.
- Deals 31337 damage to entities that are near a destroyed
tf_projectile_energy_ring
entity. Effectively the same asubercharge 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.
- 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).
- ❌ 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 bymod_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.
- 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.
- 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 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.
- 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.
- 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.
- 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.
- 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 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.
- 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.
- Applies a modifier on sapper damage. Note that this stacks on top of the game's
dmg bonus vs buildings
attribute. Will also probably wantdamage 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.
- 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.
- 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.
- 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.
- 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 to be applied. -
duration
is the effect duration.
-
- Requested by Karma Charger and used in his Drive By video.
- Applicable to miniguns.
- 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.
- 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. -
crit_type
is the critical hit type to set.1
for mini-crits,2
for full crits.
-
- Applicable to damage-dealing weapons.
- 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. -
crit_type
is the critical hit type to set.1
for mini-crits,2
for full crits.
-
- Applicable to damage-dealing weapons.
- 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.
- 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 thesound/
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.
- 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 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.
- 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.
- 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.
- 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
andfrequency
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.
- 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
andfrequency
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.
- 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.
- 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
andradius
are hopefully self-explanatory at this point.
-
- Requested by Karma Charger and used in his Chargin C4 video.
- Can be applied to shields.
- 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.
- 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.
- 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).
- 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".
- Requested by JohnnyAlexander.
- Can be applied to any item.